查看原文
其他

机器学习(3)之最大似然估计

2017-06-29 昱良 机器学习算法与Python学习

微信公众号

关键字全网搜索最新排名

【机器学习算法】:排名第一

【机器学习】:排名第二

【Python】:排名第三

【算法】:排名第四

最大似然估计

上一篇(机器学习(2)之过拟合与欠拟合)中,我们详细的论述了模型容量以及由模型容量匹配问题所产生的过拟合和欠拟合问题。这一次,我们探讨哪些准则可以帮助我们从不同的模型中得到特定函数作为好的估计。其中,最常用的准则就是极大似然估计(maximum likelihood estimation,MLE)。(1821年首先由德国数学家C. F. Gauss提出,但是这个方法通常被归功于英国的统计学家R. A. Fisher(罗纳德·费希尔)。

基本思想

一个随机试验如有若干个可能的结果A,B,C,…。若在仅仅作一次试验中,结果A出现,则一般认为试验条件对A出现有利,也即A出现的概率很大。一般地,事件A发生的概率与参数theta相关,A发生的概率记为P(A,theta),则theta的估计应该使上述概率达到最大,这样的theta顾名思义称为极大似然估计。


求解的一般步骤

(1) 写出似然函数;

(2) 对似然函数取对数,并整理;

(3) 求导数 ;

(4) 解似然方程 。


假设有一组样本,样本数量为m,由未知的数据生成分布Pdata(x)独立的生成,


设Pmodel(x, theta)是一组由theta确定在相同空间上的概率分布,则theta的最大后验估计(在贝叶斯统计学中,最大后验(Maximum A Posteriori,MAP)估计可以利用经验数据获得对未观测量的点态估计。它与Fisher的最大似然估计方法相近,不同的是它扩充了优化的目标函数,其中融合了预估计量的先验分布信息,所以最大后验估计可以看作是正则化(regularized)的最大似然估计。)被定义为


如上式所示,多个概率(小于1)相乘在计算上会有很多的不便,其次也会发生数值下溢的问题。为此,我们将上述优化问题通过log函数转化为求和的优化问题,如下所示

进而


其中MLE的一种解释就是将其看做为最小化经验分布与模型真实分布之间的差异,这种差异可以使用KL散度来度量(其实就是分布之间的交叉熵),其中KL散度的定义如下所示


其中第一项只包括数据生成的过程,与我们的模型参数无关。为此,在优化时,我们只需要最小化第二项即可,如下


上式与MLE的定义时一致的。

MLE的性质

MLE最吸引人的地方在于理论上已经证明当样本数量m趋向于正无穷时,从收敛率而言是最好的渐进估计。在合适的条件下,训练样本数量趋向于无穷大时,参数的最大似然估计就会收敛到参数的真实值,其中上述所指的特定条件为


  1. 真实分布Pdata必须在模型族中,否则没有估计可以表示为Pdata;

  2. 真实分布Pdata必须对应于一个theta值,否则若存在多个参数theta则不能确定由哪个theta决定数据生成过程。


因为一致性统计效率的原因,最大似然估计通常是机器学习中的首选估计方法。当训练样本数量很少,以至于会产生过拟合时,正则化策略如权重衰减可用于获得训练样本的有限方差较小的最大似然估计(该估计是有偏的)。


参考资料:

  1. machine learning (bengio)

  2. 百度词条(最大后验估计)

招聘 志愿者 投稿

广告、商业合作

请加QQ:357062955

喜欢,别忘关注~

帮助你在AI领域更好的发展,期待与你相遇!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存