极大似然估计&最大后验概率估计
https://guangchun.wordpress.com/2011/10/13/ml-bayes-map/
http://www.mi.fu-berlin.de/wiki/pub/ABI/Genomics12/MLvsMAP.pdf
经验风险最小化:
\min \limits_{f\in \mathcal{F}} \frac{1}{N} \sum_{i=1}^{N} L(y_i,f(x_i))
|
结构风险最小化:
\min \limits_{f\in \mathcal{F}} \frac{1}{N} \sum_{i=1}^{N} L(y_i,f(x_i))+\lambda J(f)
|
李航博士《统计学习方法》中第一章第九页中有两个论断
1 当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。
2 当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计
证明论断1:
极大似然估计:对于观测的随机变量D,其总体分布为
P(D;\theta) |
S为抽样得到的样本,
S=(s_1,s_2,...,s_N) |
样本是独立同分布得到的,因此样本的分布为
L(\theta) = \prod_{i=1}^{N} P(s_i;\theta)
|
当
S=(s_1,s_2,...,s_N) |
\theta |
的函数。
\theta |
的“似然程度”,因此上式被叫做似然函数。用似然程度最大的那个
\theta_{*}
|
去做
\theta |
的估计,这种估计方法叫做"极大似然估计"。取对数,极大平均似然函数为:
\max log L(\theta)=\max \frac{1}{N}\sum_{i=1}^{N}log P(s_i;\theta)
|
上式等价于
\min -log L(\theta)=\min \frac{1}{N}\sum_{i=1}^{N} -log P(s_i;\theta)
|
在统计学习中,S就是样本,
s_{i}=(x_i,y_i).x_i\mbox{为特征,}y_i{为标签}
|
当模型是条件概率分布时,则
P(s_i;\theta)=P(y_i|x_i;\theta) |
\min -log L(\theta)=\min \frac{1}{N}\sum_{i=1}^{N} -log P(y_i|x_i;\theta) -----(1)
|
当损失函数是对数损失函数(
L(Y,P(Y|X)) = -log P(Y|X) |
),则最小化经验风险的公式为
\min \limits_{f\in \mathcal{F}} \frac{1}{N} \sum_{i=1}^{N} L(y_i,f(x_i))
|
对比(1)(2)两个公式,论断1得证。
证明论断2
极大似然估计将
\theta |
看做是一个确定但未知的常量,而贝叶斯学派则认为
\theta |
可以看做一个随机变量,从这个视角出发可得到条件概率
P(\theta|S) |
因此利用贝叶斯公式得到
P(\theta|S)=\frac{P(S|\theta)P(\theta)}{P(S)}
|
最大后验概率估计是要最大化
P(\theta|S) |
这个后验概率,因此
\max P(\theta|S) = \max P(S|\theta)P(\theta) |
上式与极大似然估计相比,只多了个
P(\theta) |
,左边和极大似然估计一样,因此对左边取对数处理求平均似然最大
\max \frac{1}{N}\sum_{i=1}^{N} log P(s_i|\theta)+log P(\theta)
|
当模型是条件概率分布时,则
P(s_i;\theta)=P(y_i|x_i;\theta) |
因此,
\max \frac{1}{N}\sum_{i=1}^{N} log P(y_i|x_i;\theta)+log P(\theta)
|
取负号,转换为
\min \frac{1}{N}\sum_{i=1}^{N} -log P(y_i|x_i;\theta)-log P(\theta) -----(3)
|
当损失函数是对数损失函数(
L(Y,P(Y|X)) = -log P(Y|X) |
),模型是条件概率分布时,
结构风险最小化公式
\min \limits_{f\in F} \frac{1}{N} \sum_{i=1}^{N} L(y_i,f(x_i))+\lambda J(f)
|
\lambda J(f) = -log P(\theta) |
两者等价,论断2得证。
(汉武提问,
\lambda |
在(4)中没有出现,其实
\lambda |
为超参,在模型中一般首先指定,如果为1/2 , 则
-1/2*2log P(\theta) |
), 所以无论怎么取,都可以得到对应的使得等价。
极大似然估计&最大后验概率估计的更多相关文章
- [白话解析] 深入浅出 极大似然估计 & 极大后验概率估计
[白话解析] 深入浅出极大似然估计 & 极大后验概率估计 0x00 摘要 本文在少用数学公式的情况下,尽量仅依靠感性直觉的思考来讲解 极大似然估计 & 极大后验概率估计,并且从名著中找 ...
- (转载)极大似然估计&最大后验概率估计
前言 不知看过多少次极大似然估计与最大后验概率估计的区别,但还是傻傻分不清楚.或是当时道行太浅,或是当时积累不够. 这次重游机器学习之路,看到李航老师<统计学习方法>中第一章关于经验风险最 ...
- 极大似然估计、贝叶斯估计、EM算法
参考文献:http://blog.csdn.net/zouxy09/article/details/8537620 极大似然估计 已知样本满足某种概率分布,但是其中具体的参数不清楚,极大似然估计估计就 ...
- 机器学习(二十五)— 极大似然估计(MLE)、贝叶斯估计、最大后验概率估计(MAP)区别
最大似然估计(Maximum likelihood estimation, 简称MLE)和最大后验概率估计(Maximum aposteriori estimation, 简称MAP)是很常用的两种参 ...
- 详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解
转载声明:本文为转载文章,发表于nebulaf91的csdn博客.欢迎转载,但请务必保留本信息,注明文章出处. 原文作者: nebulaf91 原文原始地址:http://blog.csdn.net/ ...
- 4.机器学习——统计学习三要素与最大似然估计、最大后验概率估计及L1、L2正则化
1.前言 之前我一直对于“最大似然估计”犯迷糊,今天在看了陶轻松.忆臻.nebulaf91等人的博客以及李航老师的<统计学习方法>后,豁然开朗,于是在此记下一些心得体会. “最大似然估计” ...
- 【机器学习基本理论】详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解
[机器学习基本理论]详解最大似然估计(MLE).最大后验概率估计(MAP),以及贝叶斯公式的理解 https://mp.csdn.net/postedit/81664644 最大似然估计(Maximu ...
- 浅议极大似然估计(MLE)背后的思想原理
1. 概率思想与归纳思想 0x1:归纳推理思想 所谓归纳推理思想,即是由某类事物的部分对象具有某些特征,推出该类事物的全部对象都具有这些特征的推理.抽象地来说,由个别事实概括出一般结论的推理称为归纳推 ...
- MLE极大似然估计和EM最大期望算法
机器学习十大算法之一:EM算法.能评得上十大之一,让人听起来觉得挺NB的.什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题.神为什么是神,因为神能做很多人做不了的事.那么EM ...
随机推荐
- 【剑指offer】连续子数组最大和
思路dp很清楚,就是要注意细节. int FindGreatestSumOfSubArray(vector<int> array) { ; ], tempsum = array[]; // ...
- 自制 JS.format带分页索引
//第一参数是:Json对象,第二个是 序号 第三个 页数 第四 当前页数String.prototype.format = function (args, sid, pagesi ...
- loadrunner之Paramater在负载测试中的数据生成规则
前段时间在做性能测试的时候,基于业务的需求,使用到了Unique Number的参数类型. 脚本的业务是注册以alien开头,后面接数字的用户帐号,填写相关帐号信息.提交企业信息进行审核. 其中用户帐 ...
- Adb connection Error:远程主机强迫关闭了一个现有的连接 解决方法
用真机调试程序的时候,eclipse 的 Console 总是出现如下的错误"Adb connection Error:远程主机强迫关闭了一个现有的连接". 问题出现的原因:这是 ...
- 273. Integer to English Words
题目: Convert a non-negative integer to its english words representation. Given input is guaranteed to ...
- Java:IO流其他类(字节数组流、字符数组流、数据流、打印流、Properities、对象流、管道流、随机访问、序列流、字符串读写流)
一.字节数组流: 类 ByteArrayInputStream:在构造函数的时候,需要接受数据源,而且数据源是一个字节数组. 包含一个内部缓冲区,该缓冲区包含从流中读取的字节.内部计数器跟踪 read ...
- python流程控制语句 ifelse - 3
#! /usr/bin/python x = input ('please inut a integer:') x = int(x) : print ('你输入了一个负数') elif x == : ...
- Data Base sqlServer基础知识
sqlServer 基础知识 大纲 创建数据库 1 创建表 2 备份表 3 删除表 4 修改表 5 查询出重复的数据 6 增删改查 7 添加约束 8 分页存储过程 9 排序 10 类型转换 11 ...
- PHP中对数据库操作的封装
在动态网面设计中很多都要涉及到对数据库的操作,但是有时跟据需要而改用其它后台数据库,就需要大量修改程序.这是一件枯燥.费时而且容易出错的功作.其实我们可以用PHP中的类来实现对数据库操作的封装,从而使 ...
- dojo 九 effects dojo/_base/fx 和 dojo/fx
官方教程:Dojo Effects这里讲学习一下dojo如何实现淡入.淡出.滑动等效果.实现这些特殊的效果有两个包 dojo/_base/fx 和 dojo/fx.dojo/_base/fx 中提供了 ...