<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>机器学习 on kamuszhou&#39;s blog</title>
    <link>https://ykyi.net/tags/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/</link>
    <description>Recent content in 机器学习 on kamuszhou&#39;s blog</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sun, 13 Jun 2021 04:04:43 +0000</lastBuildDate>
    <atom:link href="https://ykyi.net/tags/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>用琴生(Jensen)不等式证明期望最大值(EM)算法收敛</title>
      <link>https://ykyi.net/?p=1683/</link>
      <pubDate>Sun, 13 Jun 2021 04:04:43 +0000</pubDate>
      <guid>https://ykyi.net/?p=1683/</guid>
      <description>&lt;p&gt;今年二月份刷了一遍“机器学习白板推导”系列视频。https://www.bilibili.com/video/BV1aE411o7qd 。这个机器学习的公式推导系列讲地真是太好了，当时像追剧一般花了两个星期听完。非常感谢录这个视频系列的老师shuhuai008。不过，因为以前机器学习的基础几乎为0，又没有动手做相关练习。三个半月以后，又忘了很多了。昨天，我想起要复习一下EM算法，于是又把视频捡起来找到EM算法的部分，复习一下。&lt;/p&gt;
&lt;p&gt;第二次看，果然快了很多。不过，在用琴生不等式证明EM算法收敛的部分，卡住了。我不断回忆第一次看的时候是如何理解的，奈何回忆不起来了。于是，找到Jensen不等式的词条看了看，琢磨了好久。终于懂了，在这里把这个思考过程记下来。&lt;/p&gt;
&lt;p&gt;我卡在这个步骤：需要用Jensen Inequality证明如下不等式：&lt;br&gt;
[latex]&lt;br&gt;
\int\limits_z P(z|x, \theta^{(t)}) \log_{}{\frac{P(z|x, \theta^{(t+1)})}{P(z|x, \theta^{(t)})} } dz \le 0&lt;br&gt;
[/latex]&lt;br&gt;
上面公式中的z表示模型中的隐变量，x表示观测值，$ \theta $是参数，$ \theta^{(t)} $表示theta在第t时刻的值（EM算法是一个迭代算法）。&lt;/p&gt;
&lt;p&gt;证明这个不等式需要用到琴生不等式在凹函数上的性质。如下：&lt;br&gt;
设f(x)中一个凹函数（凹函数图形和中文字凹的形状相反，可以理解为上凸，log函数即一个凹函数）,下面的不等式成立。&lt;br&gt;
$$&lt;br&gt;
a_1f(x_1) + a_2f(x_2) + \dots + a_nf(x_n) \le f(a_1x_1 + a_2x_2 + \dots + a_nx_n)&lt;br&gt;
且 a_1 + a_2 + \dots + a_n = 1&lt;br&gt;
$$&lt;br&gt;
用自然语言描述是：凹函数定义域内的n个自变量对应的因变量的线性组合小于或等于n个自变量先做线性组合再求对应的因变量，作线性组合的系数之和为1。简单地说：先求函数值再做线性组合 小于或等于 先做线性组合再求函数值。&lt;/p&gt;
&lt;p&gt;再回到我们要证明的不等式。积分号即可看成是无穷多个值的线性组合，对数符号log后面对应的那一坨&lt;br&gt;
$$ {\frac{P(z|x, \theta^{(t+1)})} {P(z|x, \theta^{(t)})} } $$&lt;br&gt;
看成是log函数的因变量，log前面的&lt;br&gt;
$$&lt;br&gt;
P(z|x, \theta^{(t)})&lt;br&gt;
$$&lt;br&gt;
看成是线性组合的系数，很明显这个系数是满足积分和为1的概率密度。于是，就可以套用上面提到的凹函数上的琴生不等式。不等式的右边为0，左边是“先求函数值再做线性组合”，化简为左边小于“先做线性组合再求函数值”：&lt;br&gt;
$$&lt;br&gt;
\begin{aligned}&lt;br&gt;
左边 &amp;amp;\le log_{}{\int\limits_z {\frac{P(z|x, \theta^{(t+1)})} {P(z|x, \theta^{(t)})} } P(z|x, \theta^{(t)})}dz \&amp;amp;=log_{}{}\int \limits_zP(z|x,\theta^{(t+1)})dz=log_{}{1}=0&lt;br&gt;
\end{aligned}&lt;br&gt;
$$&lt;br&gt;
得证！&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
