【ML】由最大似然到EM算法从入门到入门

一切为了梦想。

 

期望

概率论和统计学中,数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和,是最基本的数学特征之一。它反映随机变量平均取值的大小。大数定律规定,随着重复次数接近无穷大,数值的算术平均值几乎肯定地收敛于期望值。(百度百科)

期望反应随机变量平均取值的大小,于是

离散性随机变量的期望表示为:E(x) = \sum_x p(x),这里p(x)是离散取值的概率。

连续型随机变量的期望表示为:E(x) = \int _x p(x)xdx,这里p(x)概率密度函数

 

贝叶斯公式

假设两个随机变量X,Y。X表示我饿或不饿,Y表示我吃不吃红薯。联合概率P(X,Y)刻画了X,Y同时发生的概率。很多时候P(X,Y) \neq P(X)\cdot P(Y),这是因为随机变量之间不独立。如果随机变量之间彼此独立,就有P(X,Y,...) = P(X)\cdot P(Y)\cdot P(.)...

比如我饿的时候就很有可能会吃东西,如果我有红薯,我就很可能会吃红薯,这两个随机变量之间就存在联系,他们就不独立。于是我们用P(Y|X)来刻画当随机事件X发生的时候,Y发生的概率。

进而还有P(X,Y) = P(Y|X)\cdot P(x) = P(X|Y)\cdot P(Y)

于是贝叶斯公式出现了:P(Y|X) = \frac{P(X|Y)P(Y)}{P(X)}.P(Y)称先验(Prior),P(X|Y)称似然(Likelihood),P(Y|X)称后验(Posterior)

 

概率分布

一个随机变量可以有各种取值,有很多的经典概率分布可以来刻画这些取值的变化规律。比如描述离散型随机变量的伯努利分布,描述连续型随机变量的高斯分布。如果一个随机变量的表现和某个概率分布的取值处处相等,就表示这个随机变量服从这个概率分布。

一般地,我们假设或者通过一些样本观察到某个随机变量服从某项分布,就可以根据这些样本对分布函数的参数来进行估计。参数估计比较经典的方法是最大似然法。

最大似然法

假设我们观察到的样本数据为:D_1,D_2,...,D_n, 因为这些样本是服从某项分布的,反过来思考的话,即可认为,这项分布以最大的概率产生了这些样本。那么极大似然的目标即最大化这些样本数据同时产生的概率:maxP(D_1,D_2,...,D_n)

联合概率总是不容易求得,一般我们假设这些变量之间独立,于是目标可以简化为:max\prod _{i=1}^{n}P(D_i)

为了方便求极值(凸函数导数为0),再将两边取对数,目标变为:max \sum _{i=1}^{n}log P(D_i)

 

举个例子:

假设随机变量X服从伯努利分布,假设P(X=0) = p,P(X=1) = 1-p,于是分布函数为P(x) = p^x\cdot (1-p)^{1-x},我们来估计参数p。

现在拿一组从随机变量X中采样得到的样本数据D_1,D_2,...,D_n,于是最大化:

\mathop{max} \limits_p \sum _{i=1}^{n}log P(D_i) = \mathop{max} \limits_p\sum _{i=1}^{n}[D_ilogp+(1-D_i)log(1-p)]

令上式求导等于0,有:

\sum _{i=1}^{n}[D_i \frac{1}{p}+(1-D_i)\frac{1}{(1-p)}] = 0

\sum _{i=1}^{n}[D_i (p-1)+(1-D_i)p] = 0

\sum _{i=1}^{n}[p-D_i ] = 0

p= \frac{1}{n}\sum_iD_i

参数估计结果相当于所有采样的均值。

再举一个高斯分布的例子:

高斯分布函数形式为:\large p(x) = \frac{1}{\sqrt{2\pi\sigma ^2}}e^{-\frac{(x-\mu )^2}{2\sigma^2}}

f = \mathop{max} \limits_{\mu,\sigma} \sum _{i=1}^{n}log P(D_i) =\mathop{max} \limits_{\mu,\sigma} \sum _{i=1}^{n}[-\frac{1}{2}log(2\pi\sigma^2) - \frac{(D_i-\mu)^2}{2\sigma^2}]

\mu 求导,并令其为0:

\frac{\partial f}{\partial \mu} = -\frac{1}{\sigma^2}\sum_{i=1}^{n}(\mu-D_i)=0

\mu = \frac{1}{n}\sum_{i=1}^{n}D_i

同样对\sigma 求导令其为0,可得:

\sigma^2 = \frac{1}{n}\sum_{i=1}^{n}(D_i-\mu)^2

 

综上,我们得到极大似然法的基本思路:

(1) 对于分布函数(似然函数)\large l(\theta) ,求其对数似然函数:

(2)将采样得到的样本带入上述方程(似然方程),对参数求导并令导数为0;

(3)解似然方程,得到的参数即为所求;

 

EM算法

有一件很糟糕的事情,假如我们观察得到的样本属性不全怎么办?即有些样本我们存在"未观察到"的属性,我们如何拿这些不完整的样本来预测分布的参数呢?

学术上,称这些"未观测到"的变量称为"隐变量"(latent variable),举个极端的例子,加入我们的样本属性本身服从了某项分布\large f_1,而我们的样本又服从另外某项分布\large f_2, 此时我们使用要用最大似然法估计\large f_2 的参数,就需要知道\large f_1的参数,即要先确定所谓的"隐变量"。

\large X表示已观测变量集,\large \theta 表示模型参数,\large Z表示隐变量集,欲对参数\large \theta 进行最大似然估计,即应该最大化对数似然:

\large H(\theta;x,z) =\sum_{i=1}^{n} log P(x,z;\theta)

但是z是隐变量,我们要想办法搞定他。这种比较复杂的情形,我们必须要请出EM算法。

EM算法的思想就是:

   (1) 给\large \theta 自主规定初值;

   (2) 根据给定观测数据X和当前的参数\large \theta ,求未观测数据z的条件概率分布的期望;

   (3) 根据上一步求出来的z,根据极大似然估计求最优的\large \theta^'

   (4) 重复(2)和(3),直到收敛。

 

算法求解可参考大神的文章:https://blog.csdn.net/v_JULY_v/article/details/81708386

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半九拾

援助一个bug吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值