关于极大似然估计的解说

由于自己在重新学习一遍机器学习的知识,打算不光从代码上理解,同时也能从原理上理解。因此在这里需要扒一扒一些很久之前的数学知识。今天刚复习贝叶斯算法,其中有个极大似然估计,在很多教程里,谈到贝叶斯算法,一般都只会说一句"根据极大似然估计,我们可以知道某某概率是xx"这样的话。比如在一个抛硬币的过程中,假设我们抛了10次,6次出现字在上,那么我们可以说"根据极大似然估计,可以知道抛硬币的时候,字在上的概率是3/5"。
其实对于我们小白心里都有一个直觉,嗯3/5就是这个概率,用脚趾头想想都知道了.....好吧,如果是面试的笔试题目咋办呢,你告诉面试官你是用直觉做出来的?
为此我查看了一些网上的博客,这里先贴出我参考过的博客,这些博客写得很好,编排也比我的好,因此建议可以先看看这些博客,然后再决定要不要继续看下去。
[知乎马同学的高赞回答](https://www.zhihu.com/question/24124998

图片.png

CSDN4万+的博客
CSDN一个公式较多的极大似然估计详解博客

好了,现在咱书归正传。本博客主要是对马同学的回答的一些解说吧(因为毕竟活都是他干的,我就帮忙宣传宣传)
博客中的大部分图均来自马同学的回答中,如有侵权,请及时通知我,我立马删掉,手动狗头。

首先,得明确极大似然估计估计是做什么用。是用来找参数的。
一个简单的例子,假设我们做了一个抛硬币的试验,抛了10次,其中6次出现了字,那么请问是要一次抛出字的概率是多大的时候才有可能出现我们现在的时间结果。
P(X|\theta) 表示在抛一次出现字的概率为\theta 的情况下,出现目前这种试验结果的可能性大小,其中X表示的是所有的试验结果\{x_1,x_2.....x_{10}\} 。由于每次的试验都可以认为是独立同分布的。所以:
P(X|\theta) =C_{10}^{6} *\prod_{i=1}^{10}P(x_i|\theta)
因此,根据这个定义,可以计算出:
P(X|\theta)=C_{10}^{6} *\theta^{6}(1-\theta)^{4}
那么我们之前的问题是在\theta为多少的情况下,P(X|\theta)是最大的,即出现这种试验结果的可能性最大。
嗯这里的数据求解方式在CSDN的博客中,其实这个公式也不难,根据导数求解一个极大值的做法。这里我直接用了马同学的图


这个图告诉我们当的值为0.6的时候,似然函数的值最大。
然后可能有杠精同学(PS:这里的杠精是褒义哈,因为我觉得在知识上多一些杠精有利于进步,比如某某权威期刊的论文被某个很认真的杠精质疑地头皮发麻)说,投硬币的概率不应该是0.5吗,这个三岁小孩都知道呀。
首先,我们先纠正下,抛硬币的概率是0.5,这个是在绝对公平的情况下,但如果有人对硬币做手脚了,谁能保证还是0.5呢。
第二,我们这里的问题是概率是多少的情况下,我们得到这样的结果的可能性是最大的。我们是已经有了试验结果了。但我们说的0.5的概率,是在没有试验结果的情况下,我们先天的一个经验。我们可以说,我抛一次硬币,有0.5的概率得到字,但不能说我抛一次硬币,得到了字,那么得到字的概率是0.5。
我们可以做一个试验,假设,那么这个问题的
而当的时候 ,这个值是0.25,因此,0.6在这个试验中似乎更合理。
纠正: 在公式中我用的组合公式可能不符合规范,正确的示例应该是:\tbinom{10}{6}
好了,这里继续往下走,一次试验我们可以知道极大似然估计参数的计算,凭直觉都可以知道。那么如果做了多组试验呢?
假设做5组试验,每次出现花的次数是,那么此时的极大似然估计参数应该是多少呢?我们假设每次的似然函数为:,这个公式里面的跟之前的是不一样的,之前的表示每次抛硬币的结果,这里是每次一组试验的结果。
同样的,无论是哪组试验,对于抛硬币这个事情来说都是独立同分布的。因此这里多组试验的结果发生的最大可能性用公式描述为:

根据导数我们可以求出这个极大值的所对应值。
这个在马同学的回答里也有介绍,这里给大家介绍一种讨巧的解法,计算做了5组试验,但由于试验性质,我们可以认为做了一次试验,这一次抛了50次硬币,而出现字的总数就是每次试验的结果的和,所以....
以上,是对贝叶斯算法的一个小小的讨论。后面会继续分享自己的一些学习心得,其实大部分都是搬砖过来的吧。不喜勿喷!!!!
共勉

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容