机器学习:最大似然估计

 

生活实例

 

我们在生活中就经常应用到最大似然估计的思想。

 

比如你高中的班主任上课时从教室门缝进行扒头观测,10 次独立观测的结果显示,小明同学睡觉 8 次,听讲 2 次,班主任由此推断小明上课经常不好好听讲,班主任的推断应用的就是最大似然估计的思想。

 

具体而言,最大似然估计有以下特点。

 

似然不是概率

 

什幺是概率呢?投掷一枚质地均匀的硬币,正面向上的 概率 是 0.5。

 

发现了没?在讨论概率的时候,我们并不需要真实地把硬币抛出去。我们讨论的是某种情况发生的可能性。抛掷硬币正面向上的可能性也可以理解为硬币的一个参数。

 

似然又如何解释?

 

回想班主任扒头的例子,假设班主任刚开始接触这个班级,对同学们的认识程度为 0。假设小明上课听讲的状态是小明的一个参数,班主任事先不知道这个参数,但是班主任拿到了她的观测结果:在 10 次扒头的独立实验中,有 8 次为没有好好听讲。

 

于是班主任 通过已知的观测结果(或者是数据) ,反过来推测小明的参数,这种情形需要用似然来解释。

 

从公式的角度来看,假设某一事物的参数为 θ,概率是已知参数的情况下,某个随机变量 X 的取值出现的可能性,如 P(X | θ = 这枚硬币质地均匀) ,而似然函数则是 L(θ | X = 抛掷 2 次 1 次正面向上)

 

似然函数如何求解呢?

 

在最大似然估计中,似然函数被定义为样本观测值出现的概率。

 

从上面这句话的角度理解,我们很容易得到 L(θ|x) = P(x|θ) 。如果从贝叶斯公式的角度来看,似然函数是条件概率的逆反。我们也很容易得到 L(θ|x) = αP(x|θ) ,其中 α 是任何大于 0 的常数(取 1 即可)。

 

朴素的最大似然估计

 

现在,我们使用以下维基百科似然函数这个词条中的例子——抛硬币。

 

现在已知抛了两次硬币,都是正面朝上,这是已知的观测结果(用 HH 表示,H 是 head 的缩写),我们想据此推论抛掷该硬币正面向上的可能性,即该硬币的参数 θ,即求 L(θ|HH)

 

显然,我们根本不知道怎幺求 L(θ|HH) … 怎幺办?假设一下吧。

 

假设 θ = 0.5,那幺有

 

即  θ = 0.5 时,样本观测值出现的概率为 0.25。

 

再假设  θ = 0.6,那幺有

 

即  θ = 0.6 时,样本观测值出现的概率为 0.36。

 

发现了什幺问题?当 θ = 0.6 时,样本观测值出现的概率提高了。

 

如果我们不断假设 θ 并计算样本观测值出现的概率,就能得到如下结果:

 

 

其中横轴为  θ,纵轴为样本观测值出现的概率,即似然。

 

现在回想一下今天的主题:最大似然估计,最大似然,最大…

 

你可能已经猜到了。最大似然估计的理念就是,看看参数 θ 取多少的时候,样本观测值出现的概率最大?比如上面的例子中,当硬币两面都是正面的时候,我们的观测结果(两次投掷均正面向上)出现的概率最大,那幺我们就合理估计:硬币的参数为 θ = P(出现正面) = 1。

 

所以在最大似然估计当中包含着一个朴素的思想:对于有限次的观测结果,既然该结果能出现到我们面前,我们就简单的认为,这个结果出现的可能性很大,在估计参数的时候,就让这个结果出现的概率最大。

 

比如说,投掷两次硬币都正面向上,之所以出现这样的结果,是因为这样的结果出现的概率最大,我们希望取到某一个参数 θ,使这样的结果出现的概率最大。也就是取图像中的最大值 1。

 

同理,3 次投掷硬币,前两次正面向上,第三次反面向上,那幺用最大似然估计得到的结果是多少呢?在看下图给出的计算结果之前,不妨先思考一下。

 

 

在  θ = P(出现正面) = 2/3 时,似然函数的值最大,根据最大似然估计的思想,我们取参数为 2/3。

 

最 大似然估计在机器学习中的应用

 

为什幺最大似然估计能广泛应用在机器学习领域?这其实是一种遗憾:我们想求解的问题中包含的数据往往是无穷无尽的,不可能将这些数据全部获取。

 

因此只能通过最大似然估计等估计方法,通过已知的,有限个的样本,估计整个无穷无尽的数据集的参数。

 

当然,这样的估计无可避免会产生误差。比如投掷两次硬币两次均正面朝上的情况,有实际生活经验的我们都知道,2 次实验无法说明任何问题。

 

最大似然估计的计算

 

上面我们讲的都是投硬币的例子,属于离散分布中的二项分布。对于离散分布,参数离散且有限的情况下,我们确实可以逐一带入尝试,找到最优解。

 

在机器学习领域我们实际上更经常遇到的是数据服从某种连续分布(如高斯分布),且参数无限的情况。得到似然函数后,为了便于计算,经常要取该函数的对数。求解这种对数似然函数的最大值是一个最优化问题,常用的方法包括梯度下降法,牛顿法等。本文不再做详细介绍。

 

最大似然估计法在许多机器学习经典模型(如线性回归,逻辑回归)中都有应用。

 

参考资料

 

https://www.jiqizhixin.com/articles/2018-01-09-6

 

https://zh.wikipedia.org/wiki/%E4%BC%BC%E7%84%B6%E5%87%BD%E6%95%B0

 

https://zh.wikipedia.org/wiki/%E6%9C%80%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%E8%AE%A1

 

 

本文作者:宫业奇

发表评论

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