最大似然估计和最大后验估计(整理)

前言

机器学习任务可以分为两类:一样是样本的特征向量x xx和标签y yy之间存在未知的函数关系y = h ( x ) y=h(x)y=h(x),另一类是条件概率p ( y ∣ x ) p(y|x)p(yx)服从某个未知分布。最小二乘法的参数估计是属于第一类,直接建模x xx和标签y yy之间的函数关系。此外,线性回归还可以从建模条件概率p ( y ∣ x ) p(y|x)p(yx)的角度来进行参数估计[1]。
我们也许对y yyx xx之间函数关系有一个很好的了解,对建模的条件概率不是很了解-----至少我是这么感觉的

最大似然估计(MLE)

这里我还真不知道如何开一个头,我们对概率学的基础知识掌握有偏差,先从最基础开始介绍然后再过渡到线性回归上的最大似然估计。
最大似然估计就是我们已经收集到了很多数据样本信息,利用这些信息去计算最接近该分布的函数参数模型。可以理解为我们最终的目的就是求解参数!注意的是极大似然估计中采样需要满足一个重要的假设,就是所有的采样都是独立同分布的。
似然函数是关于统计模型的参数的函数。p ( x ∣ w ) p(x|w)p(xw)对于此函数输入有两个,x xx表示一个具体的数据,w ww表示模型的参数,如果w ww是已知的,x xx是变量,这个函数就叫做概率函数(probability function),它描述的是对于不同的样本点x xx,其出现的概率是多少。
如果我们事先已经知道了x xxw ww是变量,这个函数就叫做似然函数(likelihood function),他描述对于不同的模型参数,出现x xx这个样本点的概率是多少。
有了上述的基础知识储备,我们在了理解一下机器学习中的线性回归。
假设标签y yy为一个随机变量,并由函数f ( x ; w ) = w T x f(x;w)=w^Txf(x;w)=wTx加上一个随机噪声ϵ \epsilonϵ决定,即y = f ( x ; w ) + ϵ y=f\left( x;w \right) +\epsilony=f(x;w)+ϵ(注;f ( x ; w ) f(x;w)f(x;w)中的分号后面只是参数,前面的x才是真正的自变量)
其中ϵ \epsilonϵ服从均值为0,方差为σ 2 \sigma ^2σ2的高斯分布,这样,y yy服从均值为w T x w^TxwTx、方差为σ 2 \sigma ^2σ2的高斯分布:p ( y ∣ x ; w , σ ) = N ( y ; w T x , σ 2 ) p\left( y|x;w,\sigma \right) =N\left( y;w^Tx,\sigma ^2 \right)p(yx;w,σ)=N(y;wTx,σ2)
             = 1 2 π σ exp ⁡ ( − ( y − w T x ) 2 2 σ 2 ) \ \ \ \ \ \ \ \ \ \ \ \ =\frac{1}{\sqrt{2\pi}\sigma}\exp \left( -\frac{\left( y-w^Tx \right) ^2}{2\sigma ^2} \right)            =2πσ1exp(2σ2(ywTx)2)
参数w ww在训练集上D DD上的似然函数(Likelihood)为p ( y ∣ x ; w , σ ) = ∏ n = 1 N p ( y ( n ) ∣ x ( n ) ; w , σ ) p\left( y|x;w,\sigma \right) =\prod_{n=1}^N{p\left( y^{\left( n \right)}|x^{\left( n \right)};w,\sigma \right)}p(yx;w,σ)=n=1Np(y(n)x(n);w,σ)
            =   ∏ n = 1 N N ( y ( n ) ; w T x ( n ) , σ 2 ) \ \ \ \ \ \ \ \ \ \ \ =\ \prod_{n=1}^N{N\left( y^{\left( n \right)};w^Tx^{\left( n \right)},\sigma ^2 \right)}           = n=1NN(y(n);wTx(n),σ2)
(注:似然函数为什么要连乘?最大似然估计就是去找到那个参数估计值,使前面已经实现的样本值发生概率最大,求样本所有观测的联合概率最大化,是个连乘积,取对数就变成了线性加总)
为了方便计算,对似然函数取对数得到对数似然函数(Log Likelihood):log ⁡ p ( y ∣ x ; w , σ ) =   ∑ n = 1 N log ⁡ N ( y ( n ) ; w T x ( n ) , σ 2 ) \log p\left( y|x;w,\sigma \right) =\ \sum_{n=1}^N{\log N\left( y^{\left( n \right)};w^Tx^{\left( n \right)},\sigma ^2 \right)}logp(yx;w,σ)= n=1NlogN(y(n);wTx(n),σ2)
最大似然估计就是找到一组参数w ww使得似然函数最大,等价于对数似然函数最大。求解得到对数似然函数的参数解为:w M L = ( X X T ) − 1 X y w^{ML}=\left( XX^T \right) ^{-1}XywML=(XXT)1Xy

最大后验估计

最大似然估计的一个缺点就是当训练数据比较少的时候会发生过拟合,估计的参数可能不准确。为了避免过拟合,我们可以给参数加上一些先验知识。
这里我们先搞明白什么是先验概率,什么是后验概率。
先验概率是指根据以往经验和分析。在实验或采样前就可以得到的概率。
后验概率指的是某件事已经发生,想要计算这件事发生的原因是由某个因素引起的概率。后验概率类似贝叶斯公式”由果溯因“的思想
该思想依旧是根据已知样本,来通过调整模型参数使得模型能够产生该数据样本的概率最大,这里和最大似然估计的不同之处在于我们对参数已经有了一个先验假设,模型的参数可能满足某种分布,不再一味地依赖数据样例。这里就是对最大似然估计用于数据量少的时候产生缺陷的一种补充。
这里我们假设参数w ww为一个随机向量,并服从一个先验分布p ( w ; v ) p(w;v)p(w;v)。为简单起见,一般令p ( w ; v ) p(w;v)p(w;v)为各向同性的高斯分布:p ( w ; v ) = N ( w ; 0 , v 2 I ) p\left( w;v \right) =N\left( w;0,v^2I \right)p(w;v)=N(w;0,v2I)
其中v 2 v^2v2为每一维上的方差。根据贝叶斯公式,参数w ww的后验分布(Posterior Distribution)为p ( w ∣ x , y ; v , σ ) = p ( w , y ∣ X ; v , σ ) ∑ w p ( w , y ∣ X ; v , σ ) p\left( w|x,y;v,\sigma \right) =\frac{p\left( \boldsymbol{w,y|X;}v,\sigma \right)}{\sum{_wp\left( \boldsymbol{w,y|X;}v,\sigma \right)}}p(wx,y;v,σ)=wp(w,yX;v,σ)p(w,yX;v,σ)
               ∝ p ( y ∣ X , w ; σ ) p ( w ; v ) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \propto p\left( \boldsymbol{y|X,w;}\sigma \right) p\left( \boldsymbol{w;}v \right)              p(yX,w;σ)p(w;v)
其中p ( y ∣ X , w ; σ ) p\left( y|X,w;\sigma \right)p(yX,w;σ)w ww的似然函数,p ( w ; v ) p(w;v)p(w;v)w ww的先验[1]。
这种估计参数w ww的后验概率分布的方法称为贝叶斯估计,是一种统计推断问题。
贝叶斯估计是一种参数的区间估计,即参数在一个区间上的分布,如果我们要得到一个最优的参数值,可以使用最大后验估计。最大后验估计是指最优参数为后验分布中概率密度最高的参数:
w M A P = a r g max ⁡ p ( y ∣ X , w ; σ ) p ( w ; v ) w^{MAP}=arg\max p\left( \boldsymbol{y|X,w;}\sigma \right) p\left( \boldsymbol{w;}v \right)wMAP=argmaxp(yX,w;σ)p(w;v)
令似然函数为高斯密度函数,则后验分布p ( w ∣ X , y ; v , σ ) p\left( \boldsymbol{w|X,y;}v,\sigma \right)p(wX,y;v,σ)的对数为log ⁡ p ( w ∣ X , y ; v , σ ) ∝ log ⁡ p ( y ∣ X , w , σ ) + log ⁡ p ( w , v ) \log p\left( w|X,y;v,\sigma \right) \propto \log p\left( y|X,w,\sigma \right) +\log p\left( w,v \right)logp(wX,y;v,σ)logp(yX,w,σ)+logp(w,v)
                   ∝ − 1 2 σ 2 ∑ n = 1 N ( y ( n ) − w T x ( n ) ) 2 − 1 2 v 2 w T w \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \propto -\frac{1}{2\sigma ^2}\sum_{n=1}^N{\left( y^{\left( n \right)}-\boldsymbol{w}^T\boldsymbol{x}^{\left( n \right)} \right) ^2-\frac{1}{2v^2}\boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{w}}                  2σ21n=1N(y(n)wTx(n))22v21wTw
                   = − 1 2 σ 2 ∣ ∣ y − x T w ∣ ∣ 2 − 1 2 v 2 w T w \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =-\frac{1}{2\sigma ^2}||\boldsymbol{y}-\boldsymbol{x}^{\boldsymbol{T}}\boldsymbol{w||}^2-\frac{1}{2v^2}\boldsymbol{w}^{\boldsymbol{T}}\boldsymbol{w}                  =2σ21yxTw22v21wTw
可以看出,最大后验概率等价于平方损失函数的结构风险最小化,其中正则系数为λ = σ 2 v 2 \lambda =\frac{\sigma ^2}{v^2}λ=v2σ2
其实我对上面的公式推导还是很懵的,下面介绍一下推断

推断

在图模型中,推断(Inference)是指在观测到部分变量e = { e 1 , e 2 , ⋅ ⋅ ⋅ , e M } e=\left\{ e_1,e_2,···,e_M \right\}e={e1,e2,,eM}时,计算其他变量的某个子集q = { q 1 , q 2 , ⋅ ⋅ ⋅ , q M } q=\left\{ q_1,q_2,···,q_M \right\}q={q1,q2,,qM}的条件概率p ( q ∣ e ) p\left( \boldsymbol{q|e} \right)p(qe)
假设一个图模型中,除了变量e , q e,qe,q外,其余变量表示为z zz.根据贝叶斯公式有p ( q ∣ e ) = p ( q , e ) p ( e ) = ∑ z p ( q , e , z ) ∑ q , z p ( q , e , z ) p\left( \boldsymbol{q|e} \right) =\frac{p\left( q,e \right)}{p\left( e \right)}=\frac{\sum{_{\boldsymbol{z}}p\left( \boldsymbol{q,e,z} \right)}}{\sum{_{\boldsymbol{q,z}}p\left( \boldsymbol{q,e,z} \right)}}p(qe)=p(e)p(q,e)=q,zp(q,e,z)zp(q,e,z)
因此,图模型的推断问题的关键为求任意一个变量子集的边际概率分布问题。根据这里的推断我们可以对参数w ww便有了一个直观的认识。


版权声明:本文为weixin_42660711原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。