机器学习中的参数估计方法

概率模型的训练过程就是参数估计(parameter estimation)的过程。对于参数估计,统计学界的两个学派分别提供了不同的解决方案:

  • 频率主义学派(Frequentist)认为参数虽然未知,但却是客观存在的固定值,因此,可通过优化似然函数等准则来确定参数值
  • 贝叶斯学派(Beyesian)则认为参数是未观察到的随机变量,其本身也可有分布,因此,可假定参数服从一个先验分布,然后基于观测到的数据来计算参数的后验分布。

最大似然估计(MLE)

频率主义学派,根据数据采样来估计频率分布参数。

最大似然估计,通俗理解来说,就是在假定整体模型分布已知,利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值!

换句话说,最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。

假设m个样本的数据集 X=x1,x2,...,xm X = x 1 , x 2 , . . . , x m ,独立地由未知真实数据生成分布 pdata(x) p d a t a ( x ) 生成。 pmodel(x;θ) p m o d e l ( x ; θ ) 是一族由 θ θ 确定在相同空间上的概率分布。对 θ θ 的最大似然估计:

θML=argmaxθpmodel(X;θ)=argmaxθi=1mpmodel(xi;θ) θ M L = a r g m a x θ p m o d e l ( X ; θ ) = a r g m a x θ ∏ i = 1 m p m o d e l ( x i ; θ )

多个概率的乘积计算中可能造成数值下溢,取对数:

θML=argmaxθi=1mlogpmodel(xi;θ) θ M L = a r g m a x θ ∑ i = 1 m l o g p m o d e l ( x i ; θ )

重新缩放代价函数,除以m得到和训练数据经验分布相关的期望:

θML=argmaxθ1mi=1mlogpmodel(xi;θ)=argmaxθExpˆdatalogpmodel(x⃗ ;θ) θ M L = a r g m a x θ 1 m ∑ i = 1 m l o g p m o d e l ( x i ; θ ) = a r g m a x θ E x ∼ p ^ d a t a l o g p m o d e l ( x → ; θ )


一种解释最大似然估计的观点是将它看作最小化训练集上的经验分布和模型分布之间的差异,两者之间的差异程度可以通过计算KL散度度量:(最小化分布之间的交叉熵,最大似然可以看作使模型分布尽可能地和经验分布相匹配)

DKL(pˆdata||pmodel)=Expˆdata[logpˆdata(x)logpmodel(x)] D K L ( p ^ d a t a | | p m o d e l ) = E x ∼ p ^ d a t a [ l o g p ^ d a t a ( x ) − l o g p m o d e l ( x ) ]

左边一项仅涉及数据生成过程,和模型无关。所以只需最小化:

argminExpˆdata[logpmodel(x)] a r g m i n − E x ∼ p ^ d a t a [ l o g p m o d e l ( x ) ]

因此,最大似然变成了最小化负对数似然(NLL),或者等价的是最小化交叉熵。

由于最大似然估计的一致性和统计效率,它通常是机器学习中的首选估计方法,当样本数目小到会发生过程你和时,正则化策略如权重衰减可用于获得训练数据有限时方差较小的最大似然有偏版本。

贝叶斯统计

在观测到数据前,将 θ θ 的已知知识表示成先验概率分布。一般而言,机器学习实践者会选择一个相当宽泛的(高熵的)先验分布,以反映在观测到任何数据前参数 θ θ 的高度不确定性。

p(θ|X)=p(X|θ)p(θ)p(X) p ( θ | X ) = p ( X | θ ) p ( θ ) p ( X )

贝叶斯估计 vs 极大似然估计:

  • 最大似然估计预测时使用 θ θ 的点估计,贝叶斯方法使用 θ θ 的全分布
  • 贝叶斯先验能够影响概率质量密度超参数空间中偏好先验的区域偏移

当训练数据很有限时,贝叶斯方法通常泛化得更好,但是当训练样本数目很大时,通常会有很大的计算代价。

最大后验估计(MAP)

最大似然估计是求参数 θ θ , 使似然函数 p(x0|θ) p ( x 0 | θ ) 最大。

最大后验概率估计则是想求 θ θ 使得 p(x0|θ)p(θ) p ( x 0 | θ ) p ( θ ) 最大。

求得的 θ θ 不单单让似然函数大, θ θ 自己出现的先验概率也得大。 (这有点像正则化里加惩罚项的思想,不过正则化里是利用加法,而MAP里是利用乘法)

MAP估计选择后验概率最大的点(在 θ θ 是连续值的更常见情况下,概率密度最大的点):

θMAP=argmaxθp(θ|x)=argmaxθlogp(x|θ)+logp(θ) θ M A P = a r g m a x θ p ( θ | x ) = a r g m a x θ l o g p ( x | θ ) + l o g p ( θ )

跟上一节贝叶斯推断,MAP贝叶斯推断的优势是能够利用来自先验的信息,附加信息有助于减少最大后验点估计的方差(相比于ML估计),代价是增加了偏差。具有高斯先验权重的MAP贝叶斯推断对应权重衰减。权重衰减正则化的最大似然学习也可以被解释为贝叶斯推断的MAP近似。

EM算法

EM是一种迭代算法,1977年由Dempster等人总结提出,用于含有隐变量概率模型参数的极大似然估计,或极大后验估计。最大的优点为简单性和普适性。

  • E步:求期望
  • M步:求最大值

Q函数:完全数据的对数似然函数 logP(Y,Z|θ) l o g P ( Y , Z | θ ) 关于在给定观测数据Y和当前参数 θi θ i 对未观测输数据Y和当前参数 θi θ i 下对未观测数据Z的条件概率分布 P(Z|Y,θ) P ( Z | Y , θ ) 期望称为Q函数:

Q(θ,θi)=Ez[logP(Y,Z|θ)|Y,θi] Q ( θ , θ i ) = E z [ l o g P ( Y , Z | θ ) | Y , θ i ]

EM算法

  • 选择参数的初值 θ0 θ 0 ,开始迭代
  • E步:记 θi θ i 为第i次迭代参数 θ θ 的估计值,在第i+1次迭代的E步,计算Q函数

    Q(θ,θi)=Ez[logP(Y,Z|θ)|Y,θi]=ZlogP(Y,Z|θ)P(Z|Y,θi) Q ( θ , θ i ) = E z [ l o g P ( Y , Z | θ ) | Y , θ i ] = ∑ Z l o g P ( Y , Z | θ ) P ( Z | Y , θ i )

  • M步:求使Q函数极大化的 θ θ ,确定第i+1次迭代的参数的估计值 θi+1 θ i + 1

θi+1=argmaxθQ(θ,θi) θ i + 1 = a r g m a x θ Q ( θ , θ i )

  • 重复E步和M步直到收敛

||θi+1θi||<ε1or||Q(θi+1,θi)Q(θi,θi)||<ε2 | | θ i + 1 − θ i | | < ε 1 o r | | Q ( θ i + 1 , θ i ) − Q ( θ i , θ i ) | | < ε 2

EM算法在每次迭代后均提高数据的似然函数值,即:

P(Y|θi+1)P(Y|θi) P ( Y | θ i + 1 ) ≥ P ( Y | θ i )

EM算法只能保证参数估计序列收敛到对数似然函数序列的稳定点,不能保证收敛到极大值点。算法与初值的选择有关,选择不同的初值可能得到不同的参数估计值。初值的选择很重要。

《统计学习方法》 4.2 P49 9 P155

《深度学习》 5.5 P83

你可能感兴趣的:(机器学习)