最大似然估计公式大全(带你入门极大似然估计法)
一、什么是极大似然估计法
极大似然估计是 1821 年由高斯提出,1912 年由费希尔完善的一种点估计方法。
通俗来说,极大似然估计法其实源自生活的点点滴滴,比方说有一个大学生他天天上课不听讲,天天上课玩手机,老师盯着他看了老半天,他也不知道收敛一些,那通过老师几十年的教学经验的判断,这小子期末一定是挂科的,果不其然,他真的挂科了。老师以过去大量的相同事件来判断目前正在发生的类似事件,这就是极大似然。
其实一开始写这个分享,我准备了很多小故事,希望用风趣幽默的文法把一个很抽象的数学名词尽可能的讲给所有人听,让大家都能理解并接受。后来我发现,用上面老师和学生的例子是最为贴切的,因为也曾经这样预判过别人。
好啦,故事讲完了,接下来就是重头菜了,原理看着很清晰,但实操起来,需要概率论基础以及利用微分求极值。
导数
导数的概念的其实挺简单的,这里我们不要求掌握太多的关于微积分的公式,只消会求导就可以了。
复合函数的求导满足链式法则:
值得一提的还有关于导函数求驻点,即令f‘(x)=0,并求解 x,所得到的 x 即为驻点,驻点回代原函数可得极值。
二、求解极大似然估计量的四步骤终于到了本文的小高潮,如何利用极大似然估计法来求极大似然估计量呢?
首先我们来看一个例子:有一个抽奖箱,里面有若干红球和白球,除颜色外,其他一模一样。我们每次从中拿出一个后记录下来再放回去,重复十次操作后发现,有七次抽到了红球,三次是白球,请估计红球所占的比例。
从题目可以分析出本次例子满足二项分布,现在可以设事件 A 为"抽到红球",那可以得到一个式子:
现在的目的就是为了求这个 P(A),那要怎么求才又快又准呢?如果用求导解驻点来寻找极值,7 次方好像也不是很大,那要是我们重复进行了一百、一千次操作呢?所以,优化算法势在必行,下面的骚操作就是先辈们经过不懈地探求总结出来的——先取对数再求导!
三、基于极大似然原理的 KNN 算法
KNN,即 K-近邻算法,是极大似然的一个体现,具体思想如下:
首先我们定义一个点,这个点很特别,它具有:
- X轴的值
- Y轴的值
- 颜色标签(这里我们使用黑、红、蓝三种颜色做个演示)
然后我们多搞几个点,制造出点群,也是较为简陋的一个数据集
接着有一个不知道自己是啥颜色的小不点溜进来了
现在黑、蓝、红三个点群展开了激烈的争论,到底这个小不点是属于哪一方的!可是应该如何来判决呢?小不点想出了一个绝妙的法子,记录自身到每一个颜色点的距离,然后选取其中 K 个距离值,并以最大的那个距离为半径,自身为圆心,画一个圆,计算圆内每一个颜色占总点数的概率,最大概率的那个颜色标签即是小不点的颜色。
当 k=2 时
当 k=6 时
我们可以发现在有效的K值内,小不点有极大概率是蓝色的,因此我们赋予它一个蓝色的颜色标签。至此 KNN 的基本原理已经阐明,该贴一份 C 的 KNN 代码啦。但还有一个问题:如何选择一个最优的 K 值?目前一般使用交叉验证或贝叶斯。
四、KNN 算法的 C 简单实现
测试图如下:
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com