最大似然估计 MLE

给定一堆数据,假如我们知道它是从某一种分布中随机取出来的,可是我们并不知道这个分布具体的参,即“模型已定,参数未知”。

例如,对于线性回归,我们假定样本是服从正态分布,但是不知道均值和方差;或者对于逻辑回归,我们假定样本是服从二项分布,但是不知道均值,逻辑回归公式得到的是因变量y的概率P = g(x), x为自变量,通过逻辑函数得到一个概率值,y对应离散值为0或者1,Y服从二项分布,误差项服从二项分布,而非高斯分布,所以不能用最小二乘进行模型参数估计,可以用极大似然估计来进行参数估计; 因此最大似然估计(MLE,Maximum Likelihood Estimation)就可以用来估计模型的参数。MLE的目标是找出一组参数,使得模型产生出观测数据的概率最大:

其中就是似然函数,表示在参数下出现观测数据的概率。我们假设每个观测数据是独立的,那么有

为了求导方便,一般对目标取log。 所以最优化对似然函数等同于最优化对数似然函数:

举一个抛硬币的简单例子。 现在有一个正反面不是很匀称的硬币,如果正面朝上记为H,方面朝上记为T,抛10次的结果如下:

求这个硬币正面朝上的概率有多大?

很显然这个概率是0.2。现在我们用MLE的思想去求解它。我们知道每次抛硬币都是一次二项分布,设正面朝上的概率是,那么似然函数为:

x=1表示正面朝上,x=0表示方面朝上。那么有:

求导:

令导数为0,很容易得到:

也就是0.2 。

 

 

 最大后验概率  MAP

以上MLE求的是找出一组能够使似然函数最大的参数,即。 现在问题稍微复杂一点点,假如这个参数有一个先验概率呢?比如说,在上面抛硬币的例子,假如我们的经验告诉我们,硬币一般都是匀称的,也就是=0.5的可能性最大,=0.2的可能性比较小,那么参数该怎么估计呢?这就是MAP要考虑的问题。 MAP优化的是一个后验概率,即给定了观测值后使概率最大:

把上式根据贝叶斯公式展开:

我们可以看出第一项就是似然函数,第二项就是参数的先验知识。取log之后就是:

回到刚才的抛硬币例子,假设参数有一个先验估计,它服从Beta分布,即:

而每次抛硬币任然服从二项分布:

那么,目标函数的导数为:

求导的第一项已经在上面MLE中给出了,第二项为:

令导数为0,求解为:

其中,表示正面朝上的次数。这里看以看出,MLE与MAP的不同之处在于,MAP的结果多了一些先验分布的参数。

补充知识: Beta分布

Beat分布是一种常见的先验分布,它形状由两个参数控制,定义域为[0,1]

Beta分布的最大值是x等于的时候:

所以在抛硬币中,如果先验知识是说硬币是匀称的,那么就让。 但是很显然即使它们相等,它两的值也对最终结果很有影响。它两的值越大,表示偏离匀称的可能性越小:

最新文章

  1. C++Builder设置完BorderStyle的值为none,以后如何实现窗口的移动和拉伸
  2. IOC和bean容器
  3. 【poj2891】 Strange Way to Express Integers
  4. jQuery 插件写法2
  5. [java学习笔记]java语言核心----面向对象之static关键字
  6. python摇骰子猜大小的小游戏
  7. Java学习笔记——可视化Swing中JTable控件绑定SQL数据源的两种方法
  8. MFC使用Windows media player播放声音文件
  9. 如何在oracle中导入导出(备份&恢复)dmp数据库文件
  10. MFC添加背景图片三种方法
  11. React Native填坑之旅 -- 使用iOS原生视图(高德地图)
  12. spring的applicationContext.xml配置SessionFactory抛异常
  13. 【回文】leetcode - Shortest Palindrome
  14. 杭电1513Palindrome
  15. 【bzoj4817】[Sdoi2017]树点涂色&&bzoj3779-重组病毒
  16. string find_last_of 用法
  17. Tarjan求割点&桥
  18. Linux基础学习(1)--Linux系统简介
  19. 复习 HTML
  20. Java - "JUC"之Condition源码解析

热门文章

  1. asp.net core mvc视频A:笔记3-7.ViewStart与ViewImort
  2. C语言笔记本
  3. java的jdbc简单封装
  4. Python istitle() 方法
  5. C# winform 请求http ( get , post 两种方式 )
  6. ASP.NET Helper
  7. jenkins构建自动执行jmeter 发送http请求,中间有替换参数路径
  8. 微服务架构的进程间通信(IPC)
  9. [javase学习笔记]-6.3 对象的内存体现
  10. 在vps上安装中文环境