Machine Learning --007

Machine Learning --007

自助法(Bootstrap)和极大似然法

如何对一堆数据进行建模分析?我们可以通过统计推断。比如我们可以求得其平均值/方差,然后看其接近哪种分布,这就是对数据的一种建模。
统计模型分两种,一种是参数模型,一种是非参数模型。前者,举个例子,我们可以通过设定平均值及方差,建立一个正态分布的模型,这个模型就属于参数模型。而后者,假如说需要无数个参数才能进行描述的模型,我们通常认为其是一种非参数模型。比如说一些概率分布很奇怪的数据,只能用PDF图来描述,这样的模型称之为非参数模型。

Bootstrap

自助法的思想前面已经说过了,这不再多说。
非参数自助法通过抽样来直接进行拟合。参数自助法则是通过抽样后求模型参数。假如有一堆数据,前者是抽取一部分数据,然后对这部分数据进行拟合就行;后者则是先建模——比如设定其是个正态分布,我们对通过抽样得到的数据进行求平均/求标准差进而得到正态分布的参数。

极大似然法(MLE)

我们首先设定某个随机样本满足某种概率分布(通过统计推断)。这样设定后具体的参数不清楚。但我们可以通过最大化样本如此呈现的可能性,来找到其对应的时刻的参数值。当然,假设我们手里有一堆数据,这些数据必须数据量够大,我们才可以说这些数据呈现出的状况就是这个分布对应的状况。否之,我们通过调节参数值呈现出来的这个最大的可能性,可能并不是真正的最大。
下面用数学一点的描述来说。
θ=(θ1,θ2,...,θn)T是一个参数向量。我们的目标是找到θ的极大似然估计,其满足似然函数L(θ;X)=Pr(x1,x2,...,xn|θ)最大化。我们对似然函数取log,将取对数后的似然函数对参数求偏导,令偏导为0求得参数。
MLE有如下性质:

  • 最大似然估计的抽样分布服从渐进正态分布

θ^N(θ0,i(θ0)1)

其中 θ0θ的真值

  • Fisher 信息量。
    i(θ)=Eθ[I(θ)]。其中I(θ)是信息矩阵,其计算方法如下:

I(θ)=i=1N2l(θ;zi)θθT

当线性(或线性化)统计模型具有多个参数时,参数估计器的均值是向量,其方差是矩阵。方差矩阵的逆被称为“信息矩阵”。因为参数矢量的估计量的方差是矩阵,所以“最小化方差”的问题是复杂的。统计学家使用统计理论,使用实值汇总统计数据压缩信息矩阵;作为实值函数,这些“信息标准”可以最大化。这也就是为什么Fisher计算方法如此。

最大期望(EM算法)

最大期望算法(Expectation-Maximization algorithm, EM),或Dempster-Laird-Rubin算法 ,是一类通过迭代进行极大似然估计的优化算法 ,通常作为牛顿迭代法(Newton-Raphson method)的替代用于对包含隐变量或缺失数据的概率模型进行参数估计。
假设我们有一组数据,这组数据由两组正态分布的数据混在一起构成。我们无法直接求出模型分布参数,那么我们可以先猜想隐含参数(EM 算法的 E 步),接着基于观察数据和猜测的隐含参数一起来极大化对数似然,求解我们的模型参数(EM算法的M步)。由于我们之前的隐含参数是猜测的,所以此时得到的模型参数一般还不是我们想要的结果。我们基于当前得到的模型参数,继续猜测隐含参数(EM算法的 E 步),然后继续极大化对数似然,求解我们的模型参数(EM算法的M步)。以此类推,不断的迭代下去,直到模型分布参数基本无变化,算法收敛,找到合适的模型参数。其实就是一种动态调整直到平衡的算法。

贝叶斯推断

核心思想是以先验推后验。我们设先验分布为Pr(θ),采样模型为:Pr(Z|θ),在观测到数据 Z 之后, 我们可以更新对其分布的认识并得到后验分布。利用贝叶斯公式,我们可以得到:

Pr(θ|Z)=Pr(Z|θ)Pr(θ)Pr(Z|θ)Pr(θ)dθLn(θ)Pr(θ)

可以看到,后验与先验成正比。
如何利用贝叶斯相关的来预测未来的观测值znew呢?我们只需要按Pr(znew|Z)=Pr(znew|θ)Pr(θ|Z)dθ来求值即可。

MCMC(Markov chain Monte Carlo)

Monte Carlo

一个常见的问题: 直接计算Eπ[h(θ)]=h(θ)π(θ)dθ是比较困难的。如果维数很高,或者是什么非初等函数,那计算上更是困难。但是如果我们能够多次抽样,这些样本只要足够多就会很接近真实分布,通过计算样本期望就可以不经过积分直接得到结果。这样的计算成本很小,也因此MC方法在高维问题中应用广泛。

Markov Chain

随机过程X(t)是一个带指标的随机变量,其中t可能是时间,X是随机变量。通过如下采样可以得到一条马氏链:Xt+1p(x|Xt),p是转移核。下一时刻的X仅仅与当前时刻有关,这就是Markov 性。当 tinf时, 马氏链收敛于一个平稳分布。

MCMC

那么,如何构造一个平稳分布π(θ)为目标分布的马尔可夫链呢?
这里用到的方法被称为MCMC(Markov Chain Monte Carlo)。有两个关键步骤:

  • 从联合概率分布生成样本
  • 使用生成的样本平均值估计期望值(MC积分)

GIbbs抽样

步骤如下:

  • 假定 θ=(θ1,....,θk)
  • 依次采样或更新
    θ1(t+1)π(θ1(t)|θ2(t),θ3(t)...,θk(t))
    θ2(t+1)π(θ2(t)||θ1(t+1),θ3(t),...,θk(t))
    ...
    θk(t+1)π(θk(t)|θ2(t+1),...,θk1(t+1))

这种采样方法,我们可以用矩阵更简单地表示出来,这个矩阵就是Markov Chain中的转移矩阵。这也是为什么GIbbs抽样会放在MCMC中讲到。

Gibbs抽样与EM一样,都是求解模型参数的迭代算法。

Bagging and Bumping

Bagging

自助法(也即Bootstrap),是一种评估参数估计或预测准确性的方法。套袋法(Bagging),则是Bootstrap的集成形式,使用自助法生成样本预测数据分类器。
基本思想是:给定一个弱学习算法,和一个训练集;但是单个弱学习算法准确率不高;将该学习算法使用多次,得出预测函数序列,进行投票(回归的话直接平均就成);最后结果准确率将得到提高。
其优点在于:

  • 减少方差,偏差不变
  • 如果学习算法不稳定,那么该估计量还可以显著提高
    问题在于:
  • 降低稳定程序的性能
  • 套袋 (bagging) 后会丢失结构

Bumping

Bumping:Bootstrap Umbrella of Model Parameters。其实质是:
b^=argmini=1N[yifb(xi)]2

posted @   臭脚  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示