极大似然函数求解_从最大似然函数 到 EM算法详解
极大似然算法
本来打算把别人讲的好的博文放在上面的,但是感觉那个适合看着玩,我看过之后感觉懂了,然后实际应用就不会了。。。。
MLP其实就是用来求模型参数的,核心就是“模型已知,求取参数”,模型的意思就是数据符合什么函数,比如我们硬币的正反就是二项分布模型,再比如我们平时随机生成的一类数据符合高斯模型。。。
直接上公式:
L(Θ) :联合概率分布函数,就是每个样本出现的概率乘积。
x1,x2,x3....xn: 样本
Θ : 模型的参数(比如高斯模型的两个参数:μ、σ)
p(xi ; Θ) : 第i个样本的概率模型
xi :第i个样本
平时使用的时候取对数,完全为了求解方便。(从后面可以看出求导方便):
而
称为平均对数似然。而我们平时所称的最大似然为最大的对数平均似然,即:
举例一:
举一个抛硬币的简单例子。 现在有一个正反面不是很匀称的硬币,如果正面朝上记为H,方面朝上记为T,抛10次的结果如下:
求这个硬币正面朝上的概率有多大?
很显然这个概率是0.2。现在我们用MLE的思想去求解它。我们知道每次抛硬币都是一次二项分布,设正面朝上的概率是
,那么似然函数为:
x=1表示正面朝上,x=0表示方面朝上。那么有:
求导:
令导数为0,很容易得到:
也就是0.2 。
举例二:
假如我们有一组连续变量的采样值(x1,x2,…,xn),我们知道这组数据服从正态分布,标准差已知。请问这个正态分布的期望值为多少时,产生这个已有数据的概率最大?
P(Data | M) = ?
根据公式:
可得:
对μ求导可得:
则最大似然估计的结果为μ=(x1+x2+…+xn)/n
举例三:
假设我们要统计全国人民的年均收入,首先假设这个收入服从服从正态分布,但是该分布的均值与方差未知。我们没有人力与物力去统计全国每个人的收入。我们国家有10几亿人口呢?那么岂不是没有办法了?
不不不,有了极大似然估计之后,我们可以采用嘛!我们比如选取一个城市,或者一个乡镇的人口收入,作为我们的观察样本结果。然后通过最大似然估计来获取上述假设中的正态分布的参数。
有了参数的结果后,我们就可以知道该正态分布的期望和方差了。也就是我们通过了一个小样本的采样,反过来知道了全国人民年收入的一系列重要的数学指标量!
那么我们就知道了极大似然估计的核心关键就是对于一些情况,样本太多,无法得出分布的参数值,可以采样小样本后,利用极大似然估计获取假设中分布的参数值。
注:最大似然函数真的很简单,刚开始我也一头雾水。其实我们用的很多函数都可以说是一个最大似然函数,比如符合y = x2、y = kx。。。。都可以当做一个模型去求解一个极大似然函数,只不过我们得到的数据不符合这些模型而已。
大家有没有发现只要是求概率的问题,都会写出一个函数,这个函数其实就是最大似然函数,可以说是目标函数,也可以说是似然函数,把每个数据出现的概率相乘就是似然函数,再求对数,再求均值,再求最值,这就是极大似然了,就是一个名字而已!
EM算法概述
EM算法核心:猜(E-step),反思(M-step),重复;
先说说我自己对EM算法的理解:
问题一:
现在一个班里有50个男生,50个女生,且男生站左,女生站右。我们假定男生的身高服从正态分布
,女生的身高则服从另一个正态分布:
。这时候我们可以用极大似然法(MLE),分别通过这50个男生和50个女生的样本来估计这两个正态分布的参数。
问题二:
但现在我们让情况复杂一点,就是这50个男生和50个女生混在一起了。我们拥有100个人的身高数据,却不知道这100个人每一个是男生还是女生。这时候情况就有点尴尬,因为通常来说,我们只有知道了精确的男女身高的正态分布参数我们才能知道每一个人更有可能是男生还是女生。但从另一方面去考量,我们只有知道了每个人是男生还是女生才能尽可能准确地估计男女各自身高的正态分布的参数。
问题二需要求解两个问题:
假设a=(第k个样本是男生还是女生)
假设b=(高斯模型的参数)
如果知道a,那用问题一的方法就可以求解b,如果知道b那也就可以分类a了,但是前提是两个都不知道。。。。比如y=x+1,现在让你求解x和y的值,怎么办?
解决:
总结:其实EM算法就是先通过假设的参数(不能太无厘头了)把数据进行分类,然后通过分类的数据计算参数,接着对比计算的参数和假设的参数是否满足精度,不满足就返回去,满足就结束。
EM算法使用简单,但是证明很麻烦,我感觉没必要去证明,会使用就好了,反正EM是一种思想,而不是像K-means等是一种算法。
参考:
2.http://www.cnblogs.com/sylvanas2012/p/5058065.html(最大似然的举例1)
3.http://blog.csdn.net/qq_18343569/article/details/49981507(最大似然的举例2)
4.https://www.zhihu.com/question/27976634/answer/154998358(EM算法的问题来源知乎,但是作者没有解决)
5.http://www.jianshu.com/p/1121509ac1dc(还没来得及看的EM例子,排版很好,不知道内容)
极大似然函数求解_从最大似然函数 到 EM算法详解相关推荐
- python 拓扑排序_拓扑排序(topsort)算法详解
在图论中,由某个集合上的偏序得到全序的策略就是拓补排序算法.拓扑排序常出现在涉及偏序关系的问题中,例如时序的先后.事物的依赖等.针对这些问题拓扑排序通常能有效地给出可行解. 为了便于理解,我们先来看一 ...
- java随机抽样算法_随机抽样一致性(RANSAC)算法详解
随机抽样一致性(RANSAC)算法能够有效的剔除特征匹配中的错误匹配点. 实际上,RANSAC能够有效拟合存在噪声模型下的拟合函数.实际上,RANSAC算法的核心在于将点划分为"内点&quo ...
- 运筹优化学习21:Java调用Cplex实现求解Cuting Stock Porblem的列生成算法详解
目录 1 CSP问题与模型 1.1 问题描述 1.2 模型构建 2 列生成方法理论 2.1 引子 2.2 单纯形法到列生成 2.3 subproblem 2.3.1 对偶理论 2.3.2 影子价格 2 ...
- mysql join 算法_【MySQL】之join算法详解
在阿里巴巴的java开发手册有这么一条强制规定:超过三个表禁止join,需要join的字段,数据类型保持绝对一致,多表关联查询时,要保证被关联的字段需要有索引. 为什么尽量避免使用join?如果使用j ...
- pca各个向量之间的相关度_主成分分析(PCA)特征选择算法详解
1. 问题 真实的训练数据总是存在各种各样的问题: 1. 比如拿到一个汽车的样本,里面既有以"千米/每小时"度量的最大速度特征,也有"英里/小时"的最大速度特征 ...
- python符号格式化设置区间_Python 数值区间处理_对interval 库的快速入门详解
使用 Python 进行数据处理的时候,常常会遇到判断一个数是否在一个区间内的操作.我们可以使用 if else 进行判断,但是,既然使用了 Python,那我们当然是想找一下有没有现成的轮子可以用. ...
- NPN求解三极管电路或电容恒流放电详解,三极管工作在放大区,基极控制集电极电流,针对电荷泵电容恒流放电控制,因为电荷泵输出恒定电流给快充手机锂电池充电
NPN求解三极管电路或电容恒流放电详解 strongerHuang•来源:记得诚电子设计•作者:记得诚电子设计 • 2020-10-22 13:56 • 1535次阅读 0 转自:记得诚电子设计 三 ...
- 智能城市dqn算法交通信号灯调度_博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型...
原标题:博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型 国际数据挖掘领域的顶级会议 KDD 2018 在伦敦举行,今年 KDD 吸引了全球范围内共 1480 篇论文投递,共 ...
- python全局变量global线程安全_对python多线程与global变量详解
今天早上起来写爬虫,基本框架已经搭好,添加多线程爬取功能时,发现出错: 比如在下载文件的url列表中加入200个url,开启50个线程.我的爬虫-竟然将50个url爬取并全部命名为0.html,也就是 ...
最新文章
- 自定义Docker容器的 hostname
- selenium3 调用IE Unable to get browser
- ActiveMQ实战篇之 java和spring xml创建Broker(一)
- 类的概念、成员函数的定义方式、类的访问控制和封装、类的大小、this指针
- 修改Maven本地仓库的位置 方法
- 蜜雪冰城“骗局”:年赚8亿,竟不是靠卖奶茶?!
- a href=javascript:void(0)
- 警惕:近日时尚房产政府类网站被大量挂马
- html5 jpg转webp格式转换,JPEG和WebP格式图片的差别
- 易语言钩子DLL注入源码及源码说明
- 马科维茨投资组合理论(均方模型)(1)
- 蓝桥杯-基础练习-特殊回文数
- 奥鹏计算机文化基础在线考试,奥鹏中国石油大学北京《计算机文化基础》在线考试客观题答案.doc...
- 20135203齐岳 信息安全系统设计基础期末总结
- 必知的Python 五个精彩彩蛋
- ati hd 6470m驱动
- Python基础入门----递归
- 光模块MSA多源协议详细解析
- LeetCode(38) Count and Say
- stackoverflow出现的原因
热门文章
- html5 居中布局,div 布局水平居中篇
- python朴素贝叶斯分类器实现_用scikit-learn实现朴素贝叶斯分类器
- 教程2,工厂方法实现发奖,抽象工厂实现redis集群,JDK动态代理应用
- 移动硬盘和Mac不兼容怎么办?	Paragon和Tuxera对比
- 计算机控制点火系统如何控制点火提前角,电子点火系统如何控制点火提前角?...
- [附源码]Python计算机毕业设计Sketch2Mod网站
- Android-知识点归纳整理
- LEDE/Openwrt 打印机插件 CUPS,在WIN10下添加打印机(打印机连接路由器进行远程打印)
- 如何录制微课?教师必看
- 在浏览器中切换标签页的快捷键