原标题:极大似然估计法的理解指南

今天讲一个在机器学习中重要的方法——极大似然估计。

这是一个,能够让你拥有拟合最大盈利函数模型的估计方法。

01

什么是极大似然估计法

极大似然估计是 1821 年由高斯提出,1912 年由费希尔完善的一种点估计方法。

通俗来说,极大似然估计法其实源自生活的点点滴滴,比方说有一个大学生他天天上课不听讲,天天上课玩手机,老师盯着他看了老半天,他也不知道收敛一些,那通过老师几十年的教学经验的判断,这小子期末一定是挂科的,果不其然,他真的挂科了。

老师以过去大量的相同事件来判断目前正在发生的类似事件,这就是极大似然。

其实一开始写这个分享,我准备了很多小故事,希望用风趣幽默的文法把一个很抽象的数学名词尽可能的讲给所有人听,让大家都能理解并接受。后来我发现,用上面老师和学生的例子是最为贴切的,因为也曾经这样预判过别人。

好啦,故事讲完了,接下来就是重头菜了,原理看着很清晰,但实操起来,需要概率论基础以及利用微分求极值。

导数

导数的概念的其实挺简单的,这里我们不要求掌握太多的关于微积分的公式,只消会求导就可以了,关于基本初等函数的求导,大家可以在这里查找自己需要的求导公式。

复合函数的求导满足链式法则:

值得一提的还有关于导函数求驻点,即令

,并求解 x,所得到的 x 即为驻点,驻点回代原函数可得极值。

02

求解极大似然估计量的四步骤

终于到了本文的小高潮,如何利用极大似然估计法来求极大似然估计量呢?

首先我们来看一个例子:有一个抽奖箱,里面有若干红球和白球,除颜色外,其他一模一样。我们每次从中拿出一个后记录下来再放回去,重复十次操作后发现,有七次抽到了红球,三次是白球,请估计红球所占的比例。

从题目可以分析出本次例子满足二项分布,现在可以设事件 A 为"抽到红球",那可以得到一个式子:

(1)

现在的目的就是为了求这个 P(A),那要怎么求才又快又准呢?如果用求导解驻点来寻找极值,7 次方好像也不是很大,那要是我们重复进行了一百、一千次操作呢?所以,优化算法势在必行,下面的骚操作就是先辈们经过不懈地探求总结出来的——先取对数再求导!

对(1)式取对数,得:

对上式求导,整理得:

令该导数为零,可得式子:

解得

从这个例子中我们可以得到和《概率论与数理统计》一书中相匹配的抽象结果:设总体 X 为离散型随机变量,且它的概率分布为

其中 θ 为未知参数

分别为 X 的一组样本和样本观察值。则参数 θ 的取值应该使得概率:

达到最大值,今后我们称 θ 的函数:

‍‍

为 θ 的似然函数,上式是其样本取对应观察值的概率。同时,如果有

使得:

则称为 θ 的极大似然估计量。从上述一般结果的抽象描述中,我们可以剥离出求解的一般步骤:

写出似然函数 ;

对似然函数取对数(视情况而定);

求对数似然函数对未知参数的导函数 ;

令导函数为 0,方程的解即为极大似然解;

03

基于极大似然原理的 KNN 算法

KNN,即 K-近邻算法,是极大似然的一个体现,具体思想如下:

首先我们定义一个点,这个点很特别,它具有:

X轴的值

Y轴的值

颜色标签(这里我们使用黑、红、蓝三种颜色做个演示)

然后我们多搞几个点,制造出点群,也是较为简陋的一个数据集

接着有一个不知道自己是啥颜色的小不点溜进来了

现在黑、蓝、红三个点群展开了激烈的争论,到底这个小不点是属于哪一方的!

可是应该如何来判决呢?

小不点想出了一个绝妙的法子,记录自身到每一个颜色点的距离,然后选取其中 K 个距离值,并以最大的那个距离为半径,自身为圆心,画一个圆,计算圆内每一个颜色占总点数的概率,最大概率的那个颜色标签即是小不点的颜色。

当 k=2 时

当 k=6 时

我们可以发现在有效的K值内,小不点有极大概率是蓝色的,因此我们赋予它一个蓝色的颜色标签。至此 KNN 的基本原理已经阐明,该贴一份 C 的 KNN 代码啦。

但还有一个问题:如何选择一个最优的 K 值?

这个问题留以后在《基于K-近邻算法的 KD-tree 详解》中进行系统的讲解,目前一般使用交叉验证或贝叶斯,先挖个坑在这里,以后慢慢填啦~

04

KNN 算法的 C 简单实现

测试图如下:

KNN 还有更好玩的方法哦,比如 K-D tree,分治思想下的模型,速度更快哦。

参考资料:

《概率论与数理统计》安书田版

维基百科的极大似然估计条目——国内上不了 Wiki 百科,有俩办法,一个是改 host,另一个你懂的。

CSDN《Markdown 数学符号》——我真的写这篇被这些数学符号搞得快要原地爆炸了!

作者简介:

浅浅,目前在闽南师范大学就读,爱好国学与晨跑,痴迷机器学习与数据挖掘,Lisp爱好者。返回搜狐,查看更多

责任编辑:

极大似然函数求解_极大似然估计法的理解指南相关推荐

  1. 极大似然函数求解_从最大似然函数 到 EM算法详解

    极大似然算法 本来打算把别人讲的好的博文放在上面的,但是感觉那个适合看着玩,我看过之后感觉懂了,然后实际应用就不会了.... MLP其实就是用来求模型参数的,核心就是"模型已知,求取参数&q ...

  2. 极大似然函数求解_关于极大似然估计的学习(附Matlab中mle函数的求解)

    冒泡~是新的一周辣~温故而知新一下极大似然估计(真是很不容易了) 极大似然估计的基本思想 什么是极大似然?官方上的较清楚的解释是:利用已知的样本的结果,在使用某个模型的基础上,反推最有可能导致这样结果 ...

  3. 极大似然函数求解_概率论中极大似然估计中的似然函数怎么确定 就是L(X;θ)...

    展开全部 离散型场合的似然函数 就是样本取给定的那组观测值的概率(可以由总636f707962616964757a686964616f31333431353330体的分布列直接写出). 连续型场合的似 ...

  4. 极大似然函数求解_概率与数理统计--极大似然估计详细讲解及例题.ppt

    概率与数理统计--极大似然估计详细讲解及例题 极大似然估计 二.寻求估计量的方法 1. 矩估计法 2. 极大似然法 3. 最小二乘法 4. 贝叶斯方法 -- 这里我们主要介绍第二两种方法 . 2. 极 ...

  5. 极大似然估计法的理解和用途

      在机器学习的算法中,经常看到极大似然估计的身影,不接触数学一段时间的我,对它又熟悉又陌生,还是决定系统的写一下极大似然估计的思想.   极大似然估计法是求点估计的常用方法之一.极大似然估计法是建立 ...

  6. 机器学习数学原理(1)——极大似然估计法

    机器学习数学原理(1)--极大似然估计法 事实上机器学习的大部分算法都是以数理统计和概率论为理论基础构建的.笔者在学习机器学习的过程中,意识到其实机器学习中的很多假设背后都是有着数学原理支撑的,从而使 ...

  7. “损失函数”是如何设计出来的?直观理解“最小二乘法”和“极大似然估计法”

    [本文内容是自对视频:"损失函数"是如何设计出来的?的整理.补充和修正] 在大多数课程,尤其是帮助大家快速掌握深度学习的课程,损失函数似乎并不是一个需要额外关心的问题.因为它往往都 ...

  8. 逻辑回归_极大似然估计

    二.逻辑回归原理   逻辑回归又叫对数几率回归,是一种广义的线性回归分析模型.虽然名字里有回归,但其实是分类模型,常用于二分类. 1.什么是逻辑回归   由于逻辑回归的原理是用逻辑函数把线性回归的结果 ...

  9. 【白话理解神经网络中的“损失函数”——最小二乘法和极大似然估计法】

    目录 写在前面的话 理解损失函数 最小二乘法 最大似然估计法(统计方法) 写在前面的话 "损失函数"是如何设计出来的?直观理解"最小二乘法"和"极大似 ...

  10. (一)极大似然估计法原理讲解

    极大似然估计法通过事实来估计参数 举例: 现在我们进行扔硬币实验,假设但是我们不知道出现花的概率,我们怎么去估计这个概率呢?即如何估计出现花的这个参数的概率? 极大似然估计法就是通过很多次实验,进行这 ...

最新文章

  1. 教你如何运用python实现学生信息管理系统
  2. 通过延迟加载和代码拆分提高网站性能
  3. uva 10077 - The Stern-Brocot Number System
  4. Ionic4.x 中自定义公共模块
  5. python怎么设置颜色深浅变化_机器学习中减弱不同图像数据色调及颜色深浅差异...
  6. keepalived配置参数官方文档中文翻译版
  7. IT专业沦为新时代农民工?为什么你身边的人都不让你报计算机专业?
  8. js实现全排列组合算法
  9. WebRTC 之 RTX
  10. 离散数学:幂集,生成
  11. 计算机系相声剧本,大学相声剧本:两种学生
  12. 免费地图制作软件,在线做地图的平台推荐
  13. OPTIMIZING DNN COMPUTATION WITH RELAXED GRAPH SUBSTITUTIONS
  14. 电脑不显示无线连接网络连接服务器,连接wifi后显示无internet访问权限怎么解决...
  15. cmd删除Windows凭据管理器
  16. 哥谭第一季/全集Gotham迅雷下载
  17. 手机通过蓝牙共享网络给电脑上网
  18. 如果redis哨兵宕机了怎么办_Redis 主从复制架构中出现宕机怎么办?以及哨兵功能...
  19. matlab cui,阻力汽车论文,关于基于Matlab-CUI的汽车动力性相关参考文献资料-免费论文范文...
  20. 突然发现 ViewState,Linq 水火不容

热门文章

  1. 机器学习导论(一)绪论
  2. AUTOCAD——样条曲线命令
  3. 前端实时可视化工具livereload安装和使用
  4. 解决 “数据库 'tempdb' 的日志已满。请备份该数据库的事务日志以释放一些日志空间” 的问题...
  5. 【android开发】实现语音数据实时采集/播放
  6. 魔鬼训练Day1作业
  7. 产品经理应具备的能力(初中高级),产品经理岗位细分
  8. PG数据库 创建自增序列 创建序列 查询序列 使用序列
  9. BZOJ 1606: [Usaco2008 Dec]Hay For Sale 购买干草
  10. cmpp java代码_cmpp.java 源代码在线查看 - cmpp的开发的短信端口实例 资源下载 虫虫电子下载站...