1.最大似然估计 (MLE):

 什么是最大似然估计?
     问题:给定一组观察数据还有一个参数待定的模型,如何来估计这个未知参数呢?

观察数据(x1,y1)......(xn,yn)   待定模型参数为θ,模型为f(x;θ)。这时候可以借助观察数据来估计这个θ。这就是最大似然函数估计。

     举个例子:

        假设我们有一个袋子,里面装着白球和黑球,但是我们不知道他们分别有多少个,这时候需要我们估计每次取出一个球是白球的概率是多少?如何估计呢? 可以通过连续有放回的从袋子里面取一百次,看看是白球还是黑球。假设取100次里面 白球占70次,黑球30次。设抽取是白球的概率为P。 那么一百次抽取的总概率为 p(x;p)

         p(x;p)=p(x1,x2.......x100;θ)=p(x1;θ)*p(x2;θ)........p(x100;θ

  =p70*(1-p)30

那么这时候我们希望可以使这个概率最大。

求导:logp(x;p)=logp70*(1-p)30   另导数为0则可以求出p=0.7(同理可以用到连续变量里面,这时候就是概率密度函数的乘积so easy)

       是不是很简单,对!就是这么简单!其实最大似然估计就是在给定一组数据和一个待定参数模型,如何确定这个模型未知参数,使得这个确定后的参数模型产生的已知数据概率最大。当然这里我只是举了一个只有一个未知参数的估计方法,多个未知参数的做法是一样的,就是求似然函数求导取最大值。其实并不是所有似然函数都可以求导的,当似然函数无法求导时就需要根据定义求使得L(θ)最大的θ。

举个例子,以抛筛子为例:

2.最大后验估计 (MAP):

最大后验估计就是在原来的MLE的基础上加上了先验知识:

EM算法 :

相信大家对似然函数已经手到擒来了。那么我们就来看看高深的。

一个概率模型有时候既含有观察变量,有含有隐变量。如果只有观察变量那么我们可以用最大似然法(或者贝叶斯)估计未知参数,但是如果还含有隐变量就不能如此简单解决了。这时候就需要EM算法。

大家可能对这种问题不是很明白,也不太明白隐变量是什么意思。我举个例子(引用统计学习方法的例子):

有3枚硬币分别记为A,B,C,并且出现正面概率分别为p ,q ,k.规则如下:先抛硬币A,如果为正面就选择B,否则选择C,然后再将选择的硬币(B或者C抛),然后观测结果。正面为1 反面为0.独立重复实验10次结果如下:1,1,1,0,0,0,1,1,1,0。我们并不知道抛A硬币时为正面还是方面,只知道最后的结果,问如何估计p,q,k的值?

如果我们知道抛的是哪个硬币就可以使用最大似然估计来估计这些参数,但是我们不知道。因为有p的原因,所以无法估计,这个p就是隐变量

       log(Θ)=Σlogp(x;Θ)=Σlogp(x,p;Θ),Θ就是要求的q,k 待定参数,x为观测数据,因为这个p导致我们无法求解MaxΣlogp(x;Θ)。

还比如说调查 男生 女生身高的问题。身高肯定是服从高斯分布。以往我们可以通过对男生抽样进而求出高斯分布的参数,女生也是,但是如果我们只能知道某个人的高度,却不能知道他是男生或者女生(隐含变量),这时候就无法使用似然函数估计了。这个时候就可以使用EM方法。

分为E和M两步:

E步:

首先通过随机赋值一个我们要求的参数,然后求出另外一个隐含参数的后验概率。这是期望计算过程,我们首先通过随便赋予模型参数的初始值p,q,k,求出各个数据到模型的结果。

M步

用求出来的隐含参数的后验概率进行对传统的似然函数估计,对要求参数进行修正。迭代直到前后两次要求的参数一样为止

其实可以这么简单理解:就是在无监督聚类的时候,我们不知道模型的参数(比如为高斯分布),这时候我们就随便赋值给模型的待定参数(u和ó)。然后我们就可以计算出各个数据分别属于那一类。然后我们用这些分类好的数据重新估计u和ó。

   参考 : http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html

      

MLE MAP EM的更多相关文章

  1. MLE & MAP

    MLE & MAP : data / model parameter MLE: (1) keep the data fixed(i.e., it has been observed) and ...

  2. 机器学习的MLE和MAP:最大似然估计和最大后验估计

    https://zhuanlan.zhihu.com/p/32480810 TLDR (or the take away) 频率学派 - Frequentist - Maximum Likelihoo ...

  3. 关于Latent Dirichlet Allocation

    今天,也没出去,晚上宿舍没有人,自己思考了下人生,毕设还是大事,觉得现在有必要把LDA从前往后彻彻底底的读一遍了,因为现在的感觉就是什么都知道一点皮毛,但是理解的都不深,LDA好像(恩,相当不好)现在 ...

  4. Wormholes 最短路判断有无负权值

    Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes ...

  5. 主成分分析 Principle Component Analysis

    一.主要思想 利用正交变换把可能线性相关变量表示的观测数据,转换为由少数几个线性无关变量(主成分)表示的数据.(重构原始特征空间:线性降维) 要尽可能保留原始数据中的信息,两个思路:最大投影方差.最小 ...

  6. [Scikit-learn] 1.1 Generalized Linear Models - Bayesian Ridge Regression

    1.1.10. Bayesian Ridge Regression 首先了解一些背景知识:from: https://www.r-bloggers.com/the-bayesian-approach- ...

  7. 最大似然估计 (MLE) 最大后验概率(MAP)

    1) 最大似然估计 MLE 给定一堆数据,假如我们知道它是从某一种分布中随机取出来的,可是我们并不知道这个分布具体的参,即"模型已定,参数未知". 例如,我们知道这个分布是正态分布 ...

  8. 最大似然估计(MLE)和最大后验概率(MAP)

    最大似然估计: 最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”.简单而言,假设我们要统计全国人口的身高,首先假设这个身高服从服从正态分布,但是该分布的均值与方差未知 ...

  9. 频率学派与贝叶斯学派(先验分布与后验分布,MLE和MAP)

    频率学派(古典学派)和贝叶斯学派是数理统计领域的两大流派. 这两大流派对世界的认知有本质的不同:频率学派认为世界是确定的,有一个本体,这个本体的真值是不变的,我们的目标就是要找到这个真值或真值所在的范 ...

随机推荐

  1. Spring3 报org.aopalliance.intercept.MethodInterceptor问题解决方法

    原文:Spring3 报org.aopalliance.intercept.MethodInterceptor问题解决方法 一 开发环境:JDK5+Spring3.0.5+Myeclipse6.6+T ...

  2. NSArray 初始化

    //NSArray长度不可变所以初始化的时候就赋值,并且最后以nil结尾 //此外需要注意NSArray不能存放C语言的基础类型 NSObject *obj=[[NSObject alloc]init ...

  3. android自动更新软件版本

    根据网上的然后小改 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import j ...

  4. HDU 4565 So Easy!(矩阵)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4565 题意: 题意: #include <iostream>#include <cs ...

  5. Ubuntu 64位系统安装StarUML之最佳实践

    preview 相信很多使用Ubuntu的哥们在安装StarUML或者其他软件时都会遇到要求libgcrypt11的依赖.而遗憾的时,这个东西很多人根本找不到. 我将它分享到百度网盘,mark. 一. ...

  6. sscanf() 和 sprintf()的用法。

    因为感觉比较有用. 这几次比赛,用过几次,所以写个程序,总结一下. 如果用sscanf(s, "%d.%d", &a, &b); 的时候,一定要注意是否s里一定有小 ...

  7. poj 3273 Monthly Expense(贪心+二分)

    题目:http://poj.org/problem?id=3273 题意:把n个数分成m份,使每份的和尽量小,输出最大的那一个的和. 思路:二分枚举最大的和,时间复杂度为O(nlog(sum-max) ...

  8. Android中ProgressDialog的简单示例

    网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下: 建立android工程等工作都略去,Google一下就可以了. 下面来介绍主 ...

  9. 命名空间“System.Web”中不存在类型或命名空间名称“Script”(是缺少程序集引用吗?)

    网上有些资料说,在项目上鼠标右键,添加引用→.Net→System.Web.Entensions就可以了. 实际上很多时候在项目中的添加引用窗口上,根本找不到System.Web.Entensions ...

  10. Discuz 7.2 /faq.php SQL注入漏洞

    测试方法: 提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!   Discuz 7.2 /faq.php SQL注入漏洞   http://www.xxx.com/faq.php?a ...