Press "Enter" to skip to content

一文理解机器学习中的极大似然估计

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

在机器学习的理论学习理论中往往会遇到“极大似然估计”的概念,极大似然估计的求解过程非常简单致使我们往往会忽律其背后的原理。当我彻底弄懂了极大似然估计的背后的思想后对机器学习算法的理解有了本质上的提高。下面让我们通过通俗并且轻松的方式去学习“极大似然估计”背后的思想以及在机器学习中的应用。当然随着对理论的认识的不断加深还会不断更新此文章。

 

1 通俗理解极大似然估计(Maximum Likelihood Estimate,MLE)

 

如果对全国人身高做一下评估,有一个前提假设是人的身高属于正态分布(如图1所示),在正太分布中我们关心参数为:均值 和方差 ,那如何得到全国人身高的均值和方差呢?如果去挨个测量13亿人的身高其实是不太可能的。我们能做的就是随机的找一些不同年龄段、不同性别的人测量他们的身高,让他们的身高水平代表全国人民的身高水平,然后通过他们对全国人民身高的均值和方差做一下估计,我想这是每个人都能想到的!但是,为什幺能让这些人的身高代表全国人的身高呢?这里就蕴含着及其精妙的思想,需要细细斟酌 ️。

 

 

​ 图1 正态分布概率密度曲线

 

好了请允许我再换一个话题,假如说一个老猎人带着一个小徒弟出去打猎。目前我们知道他们其中一个人打死了一只兔子,假如让你猜这只兔子是谁打死的,大部分人会直接猜测是老猎人打死的,这其实就运用了最大似然的思想。

 

最大似然原理

 

假设我们的抽样是理想正确的; 概率大的事件在一次 观测 中更容易发生(打猎问题); 在一次 观测 中发生了的事件其概率应该大(身高问题)。

 

现在我们回到身高问题用稍微理论的方法理解一下最大似然估计:

 

假设我们从全国人中随机抽取了 个人,分别用 代表他们的身高,既然我们 观测 到了他们的身高。对应上文的最大似然原理我们可以得出我们看到的这些样本出现的概率应该是最大的或者说既然我们抽取到观测到了他们的身高他们发生的可能性就最大。其中这里有一个假设前提是我们对抽取的样本是一个乐观的态度,也就是说假设抽取去的样本是理想的、合理的。然后我们走一遍最大似然估计的流程(不用紧张高中知识):

 

假设我们全国人的身高服从正太分布 ,但是我们不知到分布具体的参数:均值 和方差 。由于我们无法对全国13亿人挨个测量身高,所以我们随机抽取了 个人的身高: 。希望通过最大似然的思想来估计分布的参数

 

已知正态分布的概率密度函数为:

 

 

step1 计算似然函数:

 

 

step2 似然函数取对数:

 

 

step3 求最值对应的参数:

 

令:

 

 

step4得到估计参数:

 

 

 

更一般的似然函数 , 对应上文身高问题 ,既然我们观察到了 个样本,那幺他们出现的概率应该是最大的。假设每个人的身高只和自己有关系,人与人之间相互独立,对每个人的概率进行相乘得到的联合概率 也应该是最大的,根据最大似然的思想满足 最大的参数 是最好的估计值。也就可以说若 ,那幺 更接近真实值。

 

1.如何体现出我们的估计或者模型在力求最好地拟合抽取的样本?

 

答:求似然函数的最大值。

 

2.哪一套参数才是我们要找的最好的参数?

 

答:似然函数最大的时候,对应的参数

 

在英语日常生活中,**似然(likelihood) 和 概率(probability)**的使用一般不作区分。在统计学上,基于某些模型的参数(粗略地说,我们可以认为参数决定了模型),观测到某数据的概率称为概率;而已经观测到某数据,模型的参数取特定值的概率称为似然。

 

好了当我们理解了最大似然估计时,再去重新认识我们的机器学习算法就会有一种豁然开朗的感觉。

 

2机器学习中的极大似然

 

让我们看看最简单的二分类机器学习模型logistic回归吧,其可以表示为如下方式:

 

 

 

其中 为模型参数, 为样本,即 ,

 

通过什幺样的方法学习参数 呢?答案就是最大似然估计和梯度下降。

 

对于给定的训练数据 ,其中 , ,用极大似然估计方法估计模型参数:

 

设:

 

 

似然函数为:

 

 

对数似然为:

 

 

 

求极大值,得到 的参数估计。

 

这样就变成了对数似然为目标函数的最优化问题,可以用常见的梯度下降法求最优值。

 

3 深入理解机器学习与极大似然之间的联系

 

在机器学习和深度学学习中由于给定的样本总是有限,所以用样本数据的经验分布 代替表示所有真实数据的分布 。模型的概率分布为 。考虑一组含有 个样本的数据集 独立从未知的真实数据分布 生成。

 

是由 确定的在相同空间上的概率分布。在理想情况下, 将任意输入 映射到真实的概率 ,通俗地讲就是我们希望我们的机器学习模型能够对所有数据都预测正确,不仅仅是训练集中的数据,还包括训练集中没有包含的数据,当然这几乎是不可能的。

 

对 的极大似然估计为:

 

 

取对数:

 

 

取关于经验分布的期望:

 

现在有一种衡量两种概率分布之间差距的方法就做KL散度,假设我们衡量样本数据的概率分布 与训练出来的模型的概率分布 之间的差距:

 

 

理想情况下二者的KL散度越小越好及模型更好地学习了训练集的数据。其中 为训练集数据分布,可以认为其固定,所以最小化KL散度就等价于最小化:

 

 

上面的式子是不是有一些熟悉,这就是我们在机器学习中最常用到的损失函数—交叉熵。

 

本节参考《DeepLearning》(花书)5.5节,为了更容易理解更改了部分符号系统,若有错误欢迎各位大佬指正。

 

下面让我对比下信息论中交叉熵公式与机器学习中常见的交叉熵形式对上文更好地理解:

 

信息论中交叉熵形式:

 

 

深度学习中交叉熵的形式:

 

 

其中 对应训练集真实标签可对应 , 为模型的预测值可以对应

 

References

 

1.李航 (2012) 统计学习方法. 清华大学出版社, 北京.

 

2.Deep Learning,Ian Goodfellow and Yoshua Bengio and Aaron Courville,MIT Press,2016

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注