生活实例
我们在生活中就经常应用到最大似然估计的思想。
比如你高中的班主任上课时从教室门缝进行扒头观测,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
本文作者:宫业奇