机器学习与数据挖掘深度学习OpenCv

2020机器学习HMM模型(1)

2020-02-06  本文已影响0人  zidea
machine_learning.jpg

我们今天要介绍HMM(隐马可夫链),这是一个在深度学习,也就是循环神经网出现之前处理自然语言,特别是语音识别上一个主流机器学习模型。

Voice-recognition.jpg

我们都是在给定数据 D 来求极大似然 P(x|\theta),如果我们问题变得复杂,我观察到 x 值是受隐含变量 z 所控制也及时

hmm.png
E-step(求期望)

Q(\theta|\theta^{(t)}) = E_{z|x,\theta^{(t)}} \left[ \log L(\theta|x,z) \right]
我们这个求期望过程,也就是在 t 时刻求函数\log L(\theta|x,z) 的期望

M-step(估计)

求出期望,让后将期望带入极大似然函数求更新\theta,因为我们知道 EM 算法是迭代不断更新\theta
\theta^{(t+1)} = \arg \max_{\theta} Q(\theta|\theta^{(t)})

学习到今天我们都知道机器学习问题一般都可以转换为求极大似然的问题。
L(\theta) = \log \sum_z P(x,z|\theta)
我们现在已经熟悉这个这样求极大似然的公式,这里在啰嗦两句这里是由连乘转换到连加,这个是借助log函数。原先形式是
p(x|\theta) = \sum_z p(x,z|\theta) = \prod_{i=1} \sum_z P(x^{(i)},z|\theta)
\begin{aligned} \sum_x p(x)f(x) \\ E_x \left[f(x) \right] \end{aligned}
E_x \left[f(x) \right] 是表示求在 x 在服从 p(x) 分布, 求f(x)的期望
\log \sum_z \frac{p(x,z|\theta)}{q(z|x,\theta^{(t+1)})}q(z|x,\theta^{(t+1)})
这里q(z|x,\theta^{(t+1)}) 表示 z 分布函数根据上面式子我们知道,可以将\sum_z q(z|x,\theta^{(t+1)}) 写成E_{z|x,\theta^{(t)}} 所以可以写成
\log E_{z|x,\theta^{(t)}} \left[ \frac{p(x,z|\theta)}{q(z|x,\theta^{(t+1)})}\right]
这里我们复习一下 Jense 不等式,因为 log 函数式凹函数,所有

log_function_curve.png

f(E[x]) \ge E_x[f(x)] \ge E_{z|x,\theta^{(t)}} \log \left[ \frac{p(x,z|\theta)}{q(z|x,\theta^{(t+1)})} \right]

(待续)
最后希望大家关注我们微信公众号


wechat.jpeg
上一篇 下一篇

猜你喜欢

热点阅读