码迷,mamicode.com
首页 > 其他好文 > 详细

MLE 与MAP

时间:2021-06-02 11:21:36      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:导数   max   mit   分布   targe   sum   参考   方法   直接   

MLE(极大似然估计)与MAP(最大后验估计)在机器学习中是经常用到的参数估计的方法。都属于频率学派的参数估计。

一、极大释然估计(MLE)

MLE在构造目标函数过程中非常常见。已知了观测的样本值为\(D\),MLE核心思想是:假设我们已知了该样本内定的一个参数\(\theta\),这个参数\(\theta\)会导致样本出现不同的值,但是由于现在已经观测到的样本值为\(D\),那么我们假设观测到的样本值是该参数\(\theta\)下最可能出现的事件。也就是说,\(P(D|\theta)\)最大。

举个例子:
假设有个不规则的硬币,扔该硬币出现正面(记为\(T\))的概率为\(\theta\)。那么出现反面(记为\(H\))的概率为\(1-\theta\)。扔了6次硬币观测到的情况是:\(T,T,H,T,H,T\),那么利用MLE估计参数\(\theta\)的值。

我们发现扔了6次出现了4次正面,根据经验很容易想到这个概率是2/3,其实这就已经用到了MLE的思想。

解答:
假设事件\(D={T,T,H,T,H,T}\),也就是说该参数\(\theta\)下出现\(D\)事件的概率是最大的,也就是说\(P(D|\theta)\)max。
由于每次扔硬币是独立同分布的,每次出现的结果都是互不影响的,就可以直接相乘。那么

\(P(D|\theta) = P(T|\theta)P(T|\theta)P(H|\theta)P(T|\theta)P(H|\theta)P(T|\theta) = \theta *\theta *(1-\theta) *\theta*(1-\theta) *\theta\)
\(= \theta^4* (1-\theta)^2\)
则求上述式子的最大值时候的\(\theta\)值,那么上述式子对\(\theta\)求导,并令导数为0,即可求出\(\theta\)

二、最大后验估计(MAP)

我们发现MLE中求参数\(\theta\)的值的过程完全是假设当前样本在该参数下出现的概率是最大的没有引入先验知识
先验知识就是说,可能没有观测任何样本,某些专家就可能对该参数有个预估,这个预估的值应该被考虑到参数估计中去,尤其是在样本较少的情况下,观测的值不一定是准确反应参数的,因此先验分布是很重要的。
因此出现了最大后验估计。
最大后验估计的思想是:假定了我们观测到的样本已经是固定了,不能变化了,且参数\(\theta\)引入了其先验概率,也就是对该参数有个预估值,这个时候计算该观测样本下,参数最可能的值。也就是使得\(P(\theta|D)\)max。
根据贝叶斯公式:
\(P(\theta|D) = \frac{P(D|\theta)P(\theta)}{ P(D)}\)

我们观测到的样本\(P(D)\)已经是固定了的一个常量,那么:
\(\theta^* = argmax P(\theta|D) = argmax \frac{P(D|\theta)P(\theta)}{ P(D)} = argmax P(D|\theta)P(\theta)\)
结论出来了:
最大后验估计的值 = 最大似然估计* 先验估计。
还是用上述扔硬币的例子,假设没有扔硬币之前已经知道了\(theta\)的先验参数可能是0.8,那么我们利用后验估计求得的参数值为:2/3 *0.8 = 0.5333

三、练习例子

加入我们收集了N个相互独立的样本\(x_1,x_2,...,x_n \in R\),分别取自于均值为\(\mu\),方差为\(sigma^2\)的高斯分布,在这里假定\(\mu\)是未知参数,\(\sigma^2\)是已知参数。
1.利用MLE推导未知参数\(\mu\)
2.利用MAP推导未知参数\(\mu\)。假定均值\(\mu\)的先验本身也服从高斯分布\(N(v,\beta^2)\)

解答
假设事件\(D = \{x_1,x_2,...,x_n\}\),已知高斯分布的概率密度函数为:

\[P(x_i|\mu,\sigma) = \frac{1}{\sqrt{2\pi}\sigma} e^{- \frac{(x_i - \mu)^2}{2\sigma^2}} \]

(1)利用MLE推导未知参数\(\mu\):
\(P(D|\mu) = P(x_1|\mu)P(x_1|\mu)...P(x_n|\mu)\)
\(=\prod\limits_{i=1}^{n}P(x_i|\mu) =\prod\limits_{i=1}^{n}\frac{1}{\sqrt{2\pi}\sigma} e^{- \frac{(x_i - \mu)^2}{2\sigma^2}}\)
我们最大化上述式子,也相当于最大化\(logP(D|\mu)\):
\(logP(D|\mu)= \sum\limits_{i=1}^{n}log(\frac{1}{\sqrt{2\pi}\sigma})-\frac{(x_i - \mu)^2}{2\sigma^2}\)
\(logP(D|\mu)\)求偏导:
\(\frac{\partial log P(D|\theta)}{\partial \mu} = \sum\limits_{i=1}^{n}\frac{x_i-\mu}{\sigma^2}\)
令上式为0,可以求得:
\(\mu = \frac{1}{n} \sum\limits_{i=1}^{n}x_i\)
也就是说,用极大似然估计计算出来的\mu也就是这些样本的均值。

(2)利用MAP推导未知参数\(\mu\)假定均值\(\mu\)的先验本身也服从高斯分布\(N(v,\beta^2)\)
在MLE中我们得到:
\(P(D|\mu) = \prod\limits_{i=1}^{n}P(x_i|\mu) =\prod\limits_{i=1}^{n}\frac{1}{\sqrt{2\pi}\sigma} e^{- \frac{(x_i - \mu)^2}{2\sigma^2}}\)
同时,我们有:
\(P(\mu)=\frac{1}{\sqrt{2\pi}\beta} e^{- \frac{(\mu - v)^2}{2\beta^2}}\)
因此:
\(P(\mu|D) = [(\prod\limits_{i=1}^{n}\frac{1}{\sqrt{2\pi}\sigma} e^{- \frac{(x_i - \mu)^2}{2\sigma^2}} ) \frac{1}{\sqrt{2\pi}\beta} e^{- \frac{(\mu - v)^2}{2\beta^2}} ]/C\)
也就是最大化上述的分子部分。求log:
\(logP(\mu|D)=(\sum\limits_{i=1}^{n} -log(\sqrt{2\pi}\sigma)- \frac{(x_i - \mu)^2}{2\sigma^2} ) - log(\sqrt{2\pi}\beta)-\frac{(\mu - v)^2}{2\beta^2}\)
\(logP(\mu|D)\)求偏导:
\(\frac{\partial log P(\theta|D)}{\partial \mu} = \sum\limits_{i=1}^{n}\frac{x_i-\mu}{\sigma^2} - \frac{\mu-v}{\beta^2}\)

令上式为0,可以求得:
\(\mu = \frac{\sigma^2v+\beta^2\sum\limits_{i=1}^{n}x_i}{\sigma^2+n\beta^2}\)

更多参考:

MLE与MAP

MLE 与MAP

标签:导数   max   mit   分布   targe   sum   参考   方法   直接   

原文地址:https://www.cnblogs.com/dychen/p/14812952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!