第九章-EM算法

从第九章开始,学习总结的东西有所不同了,第2-8章是分类问题,都属于监督学习,第9章EM算法是非监督学习。本文主要是总结EM算法的应用以及处理问题的过程和原理推导。

EM算法

EM算法(期望极大算法 expectation maximization algorithm)是一种迭代算法。当我们面对概率模型的时候,既有观测变量,又含有隐变量或者潜在变量。如果概率模型的变量都是观测变量,那么给定数据,可以直接使用极大似然估计法或者贝叶斯估计模型估计参数,但是,当模型含有隐变量的时候,就不能简单地这样估计,此时,在1977年,Dempster等人总结提出EM算法:E步:求期望(expectation);M步:求极大值(maximization)
输 入 : 观 测 变 量 数 据 Y , 隐 变 量 数 据 Z , 联 合 分 布 P ( Y , Z ∣ θ ) , 条 件 分 布 P ( Z ∣ Y , θ ) 。 输 出 : 模 型 参 数 θ 。 ( 1 ) 选 择 参 数 的 初 值 θ ( 0 ) , 开 始 迭 代 。 ( 2 ) ∗ ∗ E 步 : ∗ ∗ 记 θ ( i ) 为 第 i 次 迭 代 参 数 θ 的 估 计 值 , 在 第 i + 1 次 迭 代 的 E 步 , 计 算 Q ( θ , θ ( i ) ) = E Z [ ln ⁡ P ( Y , Z ∣ θ ) ∣ Y , θ ( i ) ]   = ∑ Z ln ⁡ P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) 这 里 , P ( Z ∣ Y , θ ( i ) ) 是 在 给 定 观 测 数 据 Y 和 当 前 的 参 数 估 计 θ ( i ) 下 隐 变 量 数 据 Z 的 条 件 概 率 分 布 。 ( 3 ) ∗ ∗ M 步 : ∗ ∗ 求 使 得 Q ( θ , θ ( i ) ) 极 大 化 的 θ , 确 定 第 i + 1 次 迭 代 的 参 数 估 计 值 θ ( i + 1 ) θ ( i + 1 ) = arg ⁡ max ⁡ θ Q ( θ , θ ( i ) ) ( 4 ) 重 复 第 ( 2 ) 步 和 第 ( 3 ) 步 , 直 到 收 敛 ( 收 敛 条 件 : θ ( i ) 和 θ ( i + 1 ) 很 接 近 , 或 者 是 Q ( θ ( i + 1 ) , θ ( i ) ) 和 Q ( θ ( i ) , θ ( i − 1 ) ) 很 接 近 ) 。 函 数 Q ( θ , θ ( i ) ) 是 E M 算 法 的 核 心 , 称 为 Q 函 数 。 输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z|\theta),条件分布P(Z|Y,\theta)。\\ 输出:模型参数\theta。\\ (1)选择参数的初值\theta^{(0)},开始迭代。\\ (2)**E步:**记\theta^{(i)}为第i次迭代参数\theta的估计值,在第i+1次迭代的E步,\\计算\begin{aligned} Q(\theta,\theta^{(i)}) =& E_Z\big[\ln P(Y,Z|\theta) | Y, \theta^{(i)}\big] \ =& \sum_Z \ln P(Y,Z|\theta)P(Z|Y,\theta^{(i)}) \end{aligned}\\这里,P(Z|Y,\theta^{(i)})是在给定观测数据Y和当前的参数估计\theta^{(i)}下隐变量数据Z的条件概率分布。\\ (3)**M步:**求使得Q(\theta,\theta^{(i)})极大化的\theta,确定第i+1次迭代的参数估计值\theta^{(i+1)} \theta^{(i+1)}=\mathop{\arg \max} \limits_{\theta} Q(\theta,\theta^{(i)}) \\(4)重复第(2)步和第(3)步,直到收敛(收敛条件:\theta^{(i)}和\theta^{(i+1)}很接近,\\或者是Q(\theta^{(i+1)},\theta^{(i)})和Q(\theta^{(i)},\theta^{(i-1)})很接近)。 函数Q(\theta,\theta^{(i)})是EM算法的核心,称为Q函数。 YZP(Y,Zθ)P(ZY,θ)θ(1)θ(0)(2)Eθ(i)iθi+1EQ(θ,θ(i))=EZ[lnP(Y,Zθ)Y,θ(i)] =ZlnP(Y,Zθ)P(ZY,θ(i))P(ZY,θ(i))Yθ(i)Z(3)M使Q(θ,θ(i))θi+1θ(i+1)θ(i+1)=θargmaxQ(θ,θ(i))(4)(2)(3)θ(i)θ(i+1)Q(θ(i+1),θ(i))Q(θ(i),θ(i1))Q(θ,θ(i))EMQ

推导过程

上述阐述了EM算法,可是为什么EM算法能近似实现对观测数据的极大似然估计呢?下面通过近似求解观测数据的对数似然函数的极大化问题来导出EM算法,从而了解EM算法的作用。

在推导过程中用到的公式:

J e n s o n 不 等 式 : f ( ∑ i α i x i ) ⩾ ∑ i α i f ( x i ) 其 中 函 数 f 是 凸 函 数 , 那 么 对 数 函 数 也 是 凸 函 数 , ∑ i α i = 1 , α i 表 示 权 值 , 0 ⩽ α i ⩽ 1 Jenson不等式:f(\sum_i \alpha_i x_i) \geqslant \sum_i \alpha_i f(x_i)其中函数f是凸函数,\\那么对数函数也是凸函数,\displaystyle \sum_i \alpha_i = 1,\alpha_i表示权值,0 \leqslant \alpha_i \leqslant 1 Jensonf(iαixi)iαif(xi)fiαi=1αi0αi1

首 先 有 一 个 需 要 观 测 的 向 量 θ , 观 测 数 据 Y = ( y 1 , y 2 , ⋯   , y N ) , 隐 变 量 Z = ( z 1 , z 2 , ⋯   , z N ) , 当 求 解 θ 时 , 似 然 函 数 为 L ( θ ) = ln ⁡ P ( Y ∣ θ )   = ln ⁡ ∑ Z P ( Y , Z ∣ θ )   = ln ⁡ ( ∑ Z P ( Z ∣ θ ) P ( Y ∣ Z , θ ) )     假 设 在 第 i 次 迭 代 后 θ 的 估 计 值 为 θ ( i ) , 希 望 新 估 计 值 θ 能 使 L ( θ ) 增 加 , 即 L ( θ ) > L ( θ ( i ) ) , 则 可 计 算 两 者 的 差 : L ( θ ) − L ( θ ( i ) ) = ln ⁡ ( ∑ Z P ( Z ∣ θ ) P ( Y ∣ Z , θ ) ) − ln ⁡ P ( Y ∣ θ ( i ) )     一 般 来 说 , 对 ln ⁡ P 1 P 2 ⋯ P N 比 较 好 处 理 , 但 是 如 果 是 ln ⁡ ∑ P 1 P 2 就 不 好 处 理 , 为 了 将 ∑ 求 和 符 号 去 掉 , 用 J e n s o n 不 等 式 进 行 缩 放 处 理 。     对 于 上 述 形 式 , 对 Z 求 和 , 要 如 何 凑 出 来 一 个 具 有 J e n s o n 不 等 式 中 的 α i 呢 ? 很 容 易 想 到 , 关 于 Z 的 密 度 函 数 , 该 密 度 函 数 取 值 求 和 为 1 , 需 要 构 造 一 个 Z 的 概 率 分 布 。 L ( θ ) − L ( θ ( i ) ) = ln ⁡ ( ∑ Z P ( Z ∣ θ ) P ( Y ∣ Z , θ ) ) − ln ⁡ P ( Y ∣ θ ( i ) ) = ln ⁡ ( ∑ Z P ( Z ∣ Y , θ ( i ) ) P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) ) − ln ⁡ P ( Y ∣ θ ( i ) ) 由 J e s s o n 不 等 式 , ln ⁡ ( ∑ Z P ( Z ∣ Y , θ ( i ) ) P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) ) ⩾ ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ⁡ P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) ∵ ln ⁡ P ( Y ∣ θ ( i ) ) = ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ⁡ P ( Y ∣ θ ( i ) ) ∴ L ( θ ) − L ( θ ( i ) ) ⩾ ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ⁡ P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) − ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ⁡ P ( Y ∣ θ ( i ) ) = ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ⁡ P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ θ ( i ) ) 令 B ( θ , θ ( i ) ) = L ( θ ( i ) ) + ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ⁡ P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ θ ( i ) ) ∴ L ( θ ) ⩾ B ( θ , θ ( i ) ) , 也 就 是 说 B ( θ , θ ( i ) ) 是 L ( θ ) 的 一 个 下 界 , 要 最 大 化 L ( θ ) , 即 最 大 化 B ( θ , θ ( i ) ) 。 ∴ θ ( i + 1 ) = arg ⁡ max ⁡ θ B ( θ , θ ( i ) ) = arg ⁡ max ⁡ θ ( ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ⁡ P ( Z ∣ θ ) P ( Y ∣ Z , θ ) ) = arg ⁡ max ⁡ θ ( ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ⁡ P ( Y , Z ∣ θ ) ) ∵ Q ( θ , θ ( i ) ) = ∑ Z ln ⁡ P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) ∴ θ ( i + 1 ) = arg ⁡ max ⁡ θ ( Q ( θ , θ ( i ) ) )     等 价 于 E M 算 法 的 M 步 , E 步 等 价 于 求 ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ⁡ P ( Y , Z ∣ θ ) , 以 上 就 得 到 了 E M 算 法 , 通 过 不 断 求 解 下 界 的 极 大 化 逼 近 求 解 对 数 似 然 函 数 极 大 化 。 首先有一个需要观测的向量\theta,观测数据Y=(y_1,y_2,\cdots,y_N),隐变量Z=(z_1,z_2,\cdots,z_N),\\当求解\theta时,似然函数为\begin{aligned} L(\theta) = \ln P(Y|\theta) \ = \ln \sum_Z P(Y,Z|\theta) \ = \ln ( \sum_Z P(Z|\theta) P(Y|Z,\theta) ) \end{aligned}  \\假设在第i次迭代后\theta的估计值为\theta^{(i)},希望新估计值\theta能使L(\theta)增加,即L(\theta) > L(\theta^{(i)}),则可计算两者的差:\\ L(\theta)-L(\theta^{(i)}) = \ln ( \sum_Z P(Z|\theta) P(Y|Z,\theta) ) - \ln P(Y|\theta^{(i)})\\   一般来说,对\ln P_1 P_2 \cdots P_N比较好处理,但是如果是\ln \sum P_1 P_2就不好处理,\\为了将\sum求和符号去掉,用Jenson不等式进行缩放处理。\\   对于上述形式,对Z求和,要如何凑出来一个具有Jenson不等式中的\alpha_i呢?\\很容易想到,关于Z的密度函数,该密度函数取值求和为1,需要构造一个Z的概率分布。\\ \begin{aligned}L(\theta)-L(\theta^{(i)}) = \ln ( \sum_Z P(Z|\theta) P(Y|Z,\theta)) - \ln P(Y|\theta^{(i)}) \\ = \ln ( \sum_Z P(Z|Y,\theta^{(i)}) \frac{P(Z|\theta)P(Y|Z,\theta)}{P(Z|Y,\theta^{(i)})} ) - \ln P(Y|\theta^{(i)}) \end{aligned}\\ 由Jesson不等式,\displaystyle \ln ( \sum_Z P(Z|Y,\theta^{(i)}) \frac{P(Z|\theta)P(Y|Z,\theta)}{P(Z|Y,\theta^{(i)})} ) \geqslant \sum_Z P(Z|Y,\theta^{(i)}) \ln \frac{P(Z|\theta)P(Y|Z,\theta)}{P(Z|Y,\theta^{(i)})}\\ \displaystyle \because \ln P(Y|\theta^{(i)}) = \sum_Z P(Z|Y,\theta^{(i)}) \ln P(Y|\theta^{(i)})\\ \begin{aligned} \therefore L(\theta)-L(\theta^{(i)}) \geqslant \sum_Z P(Z|Y,\theta^{(i)}) \ln \frac{P(Z|\theta)P(Y|Z,\theta)}{P(Z|Y,\theta^{(i)})} - \sum_Z P(Z|Y,\theta^{(i)}) \ln P(Y|\theta^{(i)}) \\= \sum_Z P(Z|Y,\theta^{(i)}) \ln \frac{P(Z|\theta)P(Y|Z,\theta)}{P(Z|Y,\theta^{(i)}) P(Y|\theta^{(i)})} \end{aligned}\\ 令\displaystyle B(\theta,\theta^{(i)}) = L(\theta^{(i)}) + \sum_Z P(Z|Y,\theta^{(i)}) \ln \frac{P(Z|\theta)P(Y|Z,\theta)}{P(Z|Y,\theta^{(i)}) P(Y|\theta^{(i)})} \\ \therefore L(\theta) \geqslant B(\theta,\theta^{(i)}),\\也就是说B(\theta,\theta^{(i)})是L(\theta)的一个下界,要最大化L(\theta),即最大化B(\theta,\theta^{(i)})。\\ \begin{aligned} \therefore \theta^{(i+1)} = \mathop{\arg \max} \limits_{\theta} B(\theta,\theta^{(i)}) = \mathop{\arg \max} \limits_{\theta} ( \sum_Z P(Z|Y,\theta^{(i)}) \ln P(Z|\theta)P(Y|Z,\theta)) \\ = \mathop{\arg \max} \limits_{\theta} ( \sum_Z P(Z|Y,\theta^{(i)}) \ln P(Y,Z|\theta)) \end{aligned}\\ \displaystyle \because Q(\theta, \theta^{(i)}) = \sum_Z \ln P(Y,Z|\theta) P(Z|Y,\theta^{(i)}) \\ \displaystyle \therefore \theta^{(i+1)} = \mathop{\arg \max} \limits_{\theta} (Q(\theta, \theta^{(i)}))\\   等价于EM算法的M步,E步等价于求\displaystyle \sum_Z P(Z|Y,\theta^{(i)}) \ln P(Y,Z|\theta),\\以上就得到了EM算法,通过不断求解下界的极大化逼近求解对数似然函数极大化。 θY=(y1,y2,,yN)Z=(z1,z2,,zN)θL(θ)=lnP(Yθ) =lnZP(Y,Zθ) =ln(ZP(Zθ)P(YZ,θ))iθθ(i)θ使L(θ)L(θ)>L(θ(i))L(θ)L(θ(i))=ln(ZP(Zθ)P(YZ,θ))lnP(Yθ(i))lnP1P2PNlnP1P2JensonZJensonαiZ1ZL(θ)L(θ(i))=ln(ZP(Zθ)P(YZ,θ))lnP(Yθ(i))=ln(ZP(ZY,θ(i))P(ZY,θ(i))P(Zθ)P(YZ,θ))lnP(Yθ(i))Jessonln(ZP(ZY,θ(i))P(ZY,θ(i))P(Zθ)P(YZ,θ))ZP(ZY,θ(i))lnP(ZY,θ(i))P(Zθ)P(YZ,θ)lnP(Yθ(i))=ZP(ZY,θ(i))lnP(Yθ(i))L(θ)L(θ(i))ZP(ZY,θ(i))lnP(ZY,θ(i))P(Zθ)P(YZ,θ)ZP(ZY,θ(i))lnP(Yθ(i))=ZP(ZY,θ(i))lnP(ZY,θ(i))P(Yθ(i))P(Zθ)P(YZ,θ)B(θ,θ(i))=L(θ(i))+ZP(ZY,θ(i))lnP(ZY,θ(i))P(Yθ(i))P(Zθ)P(YZ,θ)L(θ)B(θ,θ(i))B(θ,θ(i))L(θ)L(θ)B(θ,θ(i))θ(i+1)=θargmaxB(θ,θ(i))=θargmax(ZP(ZY,θ(i))lnP(Zθ)P(YZ,θ))=θargmax(ZP(ZY,θ(i))lnP(Y,Zθ))Q(θ,θ(i))=ZlnP(Y,Zθ)P(ZY,θ(i))θ(i+1)=θargmax(Q(θ,θ(i)))EMMEZP(ZY,θ(i))lnP(Y,Zθ)EM

EM算法在高斯混合模型学习中的应用

高斯混合模型

高 斯 混 合 模 型 是 指 具 有 如 下 形 式 的 概 率 分 布 模 型 : P ( y ∣ θ ) = ∑ k = 1 K α k ϕ ( y ∣ θ k ) 其 中 , α k 是 系 数 , α k ⩾ 0 , ∑ k = 1 K α k = 1 , ϕ ( y ∣ θ k ) 是 高 斯 分 布 密 度 , θ k = ( μ k , σ k 2 ) , ϕ ( y ∣ θ ) = 1 2 π σ k exp ⁡ ( − ( y − μ k ) 2 2 σ k 2 ) 称 为 第 k 个 分 模 型 。     首 先 介 绍 高 斯 混 合 模 型 , 只 考 虑 简 单 的 一 维 随 机 变 量 y , 高 斯 分 布 就 是 正 态 分 布 , y ∼ N ( μ , σ 2 ) , 给 定 y 的 观 测 值 , 就 可 以 很 容 易 求 出 μ 和 σ 2 , 但 是 目 前 y 不 是 来 自 高 斯 分 布 , 而 是 有 一 定 概 率 的 来 自 于 两 个 不 同 的 高 斯 分 布 N ( μ 1 , σ 1 2 ) 和 N ( μ 2 , σ 2 2 ) , 这 个 就 是 两 个 高 斯 分 布 的 混 合 , 并 不 知 道 y 来 自 于 哪 一 个 高 斯 分 布 , 这 里 涉 及 到 了 隐 变 量 。 对 于 包 含 隐 变 量 的 参 数 估 计 , 对 此 可 以 做 以 下 处 理 。 用 一 个 向 量 γ 表 示 z , 如 果 z = 1 , 则 γ = ( 1 , 0 , 0 , ⋯   , 0 ) , 如 果 z = 2 , 则 γ = ( 0 , 1 , 0 , ⋯   , 0 ) , 这 个 相 当 于 O n e − h o t , 也 就 是 说 z 是 第 i 个 高 斯 分 布 , 在 γ 的 第 i 个 分 量 为 1 , 其 他 分 量 都 为 0 。 高斯混合模型是指具有如下形式的概率分布模型:\\P(y|\theta)=\sum_{k=1}^K \alpha_k \phi(y|\theta_k)\\其中,\alpha_k是系数,\displaystyle \alpha_k \geqslant 0, \sum_{k=1}^K \alpha_k = 1,\phi(y|\theta_k)是高斯分布密度,\\\theta_k=(\mu_k, \sigma_k^2),\phi(y|\theta)=\frac{1}{\sqrt{2 \pi} \sigma_k} \exp \left( -\frac{(y-\mu_k)^2}{2\sigma_k^2} \right)称为第k个分模型。\\   首先介绍高斯混合模型,只考虑简单的一维随机变量y,高斯分布就是正态分布,\\y \sim N(\mu, \sigma^2),给定y的观测值,就可以很容易求出\mu和\sigma^2,但是目前y不是来自高斯分布,\\而是有一定概率的来自于两个不同的高斯分布N(\mu_1, \sigma_1^2)和N(\mu_2, \sigma_2^2),这个就是两个高斯分布的混合,\\并不知道y来自于哪一个高斯分布,这里涉及到了隐变量。对于包含隐变量的参数估计,对此可以做以下处理。\\用一个向量\gamma表示z,如果z=1,则\gamma=(1,0,0,\cdots,0),\\如果z=2,则\gamma=(0,1,0,\cdots,0),这个相当于One-hot,\\也就是说z是第i个高斯分布,在\gamma的第i个分量为1,其他分量都为0。 P(yθ)=k=1Kαkϕ(yθk)αkαk0,k=1Kαk=1ϕ(yθk)θk=(μk,σk2)ϕ(yθ)=2π σk1exp(2σk2(yμk)2)kyyN(μ,σ2)yμσ2yN(μ1,σ12)N(μ2,σ22)yγzz=1γ=(1,0,0,,0)z=2γ=(0,1,0,,0)Onehotziγi10

推导过程
明确隐变量,写出完全数据的对数似然函数

根 据 E M 算 法 , 存 在 一 个 隐 变 量 γ , γ 表 示 当 前 的 y 来 自 的 高 斯 分 布 , 对 于 第 一 个 观 测 值 , 有 γ 1 = ( γ 11 , γ 12 , ⋯   , γ 1 K ) , 其 中 根 据 书 中 的 γ j k 的 定 义 : γ j k = { 1 , 第 j 个 观 测 来 自 第 k 个 分 模 型 0 , 否 则 j = 1 , 2 , ⋯   , N ; k = 1 , 2 , ⋯   , K 以 上 是 随 机 变 量 的 分 布 , 取 第 1 个 值 的 概 率 为 α 1 , 取 第 2 个 值 的 概 率 为 α 2 , … … , 取 第 K 个 值 的 概 率 为 α K , 一 旦 知 道 γ 1 的 值 , 就 知 道 从 第 几 个 高 斯 分 布 中 抽 取 y 1 。 p ( γ 1 , y 1 ∣ θ ) = p ( γ 1 ∣ θ ) ⋅ p ( y 1 ∣ γ 1 , θ ) = α γ 11 1 ⋅ α γ 12 2 ⋯ α γ 1 K K ϕ ( y 1 ∣ θ 1 ) γ 11 ϕ ( y 2 ∣ θ 2 ) γ 12 ⋯ ϕ ( y 1 ∣ θ K ) γ 1 K = ∏ k = 1 K [ α k ϕ ( y 1 ∣ θ k ) ] γ 1 k 这 个 是 第 1 个 样 本 点 完 全 数 据 的 密 度 函 数 。 在 极 大 化 似 然 估 计 中 是 极 大 化 似 然 函 数 , 这 需 要 所 有 样 本 点 的 联 合 分 布 , 对 于 所 有 的 样 本 点 , 概 率 密 度 函 数 为 P ( y , γ ∣ θ ) = ∏ j = 1 N ∏ k = 1 K [ α k ϕ ( y j ∣ θ k ) ] γ j k ∵ ∏ j = 1 N ∏ k = 1 K α k γ j k = ∏ k = 1 K α k ∑ j = 1 N γ j k , ∑ j = 1 N γ j k 表 示 在 N 个 样 本 点 中 , 一 共 有 多 少 个 是 来 自 第 k 个 高 斯 分 布 的 , 将 该 数 量 记 为 n k = ∑ j = 1 N γ j k , n 1 + n 2 + ⋯ + n K = N ∴ ∏ k = 1 K α k ∑ j = 1 N γ j k = ∏ k = 1 K α k n k ∴ ∏ j = 1 N ∏ k = 1 K α k γ j k = ∏ k = 1 K α k n k ∴ P ( y , γ ∣ θ ) = ∏ k = 1 K α k n k ∏ j = 1 N [ ϕ ( y i ∣ θ k ) ] γ j k = ∏ k = 1 K α k n k ⋅ ∏ j = 1 N [ 1 2 π σ k exp ⁡ ( − ( y j − μ k ) 2 2 σ k 2 ) ] γ j k ∴ ln ⁡ P ( y , γ ∣ θ ) = ∑ k = 1 K { n k ln ⁡ α k + ∑ j = 1 N γ j k [ ln ⁡ ( 1 2 π ) − ln ⁡ σ k − 1 2 σ k 2 ( y j − μ k ) 2 ] } 根据EM算法,存在一个隐变量\gamma,\gamma表示当前的y来自的高斯分布,对于第一个观测值,\\有\gamma_1=(\gamma_{11},\gamma_{12},\cdots,\gamma_{1K}),其中根据书中的\gamma_{jk}的定义:\gamma_{jk} = \left\{ \begin{aligned} 1, & 第j个观测来自第k个分模型 \\ 0, & 否则 \end{aligned}\right. \\ j = 1,2,\cdots, N; k=1, 2,\cdots,K以上是随机变量的分布,取第1个值的概率为\alpha_1,\\取第2个值的概率为\alpha_2,……,取第K个值的概率为\alpha_K,一旦知道\gamma_1的值,就知道从第几个高斯分布中抽取y_1。\\ \begin{aligned} p(\gamma_1,y_1|\theta)= p(\gamma_1|\theta) \cdot p(y_1 | \gamma_1,\theta) \\ = \alpha^{\gamma_{11}}1 \cdot \alpha^{\gamma{12}}2 \cdots \alpha^{\gamma{1K}}K \phi(y_1|\theta_1)^{\gamma{11}} \phi(y_2|\theta_2)^{\gamma_{12}} \cdots \phi(y_1|\theta_K)^{\gamma_{1K}} = \prod_{k=1}^K [ \alpha_k \phi(y_1 | \theta_k) ]^{\gamma_{1k}} \end{aligned}\\这个是第1个样本点完全数据的密度函数。在极大化似然估计中是极大化似然函数,这需要所有样本点的联合分布,\\对于所有的样本点,概率密度函数为 \\P(y,\gamma|\theta)=\prod_{j=1}^N \prod_{k=1}^K [\alpha_k \phi(y_j | \theta_k)]^{\gamma_{jk}}\\\displaystyle \because \prod_{j=1}^N \prod_{k=1}^K \alpha_k^{\gamma_{jk}} = \prod_{k=1}^K \alpha_k^{\sum_{j=1}^N \gamma_{jk}},\displaystyle \sum_{j=1}^N \gamma_{jk}表示在N个样本点中,一共有多少个是来自第k个高斯分布的,将该数量记为\\\displaystyle n_k=\sum_{j=1}^N \gamma_{jk},n_1+n_2+\cdots+n_K=N\\ \displaystyle \therefore \prod_{k=1}^K \alpha_k^{\sum_{j=1}^N \gamma_{jk}} = \prod_{k=1}^K \alpha_k^{n_k}\\ \displaystyle \therefore \prod_{j=1}^N \prod_{k=1}^K \alpha_k^{\gamma_{jk}} = \prod_{k=1}^K \alpha_k^{n_k}\\ \displaystyle \therefore P(y, \gamma|\theta) = \prod_{k=1}^K \alpha_k^{n_k} \prod_{j=1}^N \big[\phi(y_i|\theta_k)\big]^{\gamma_{jk}} = \prod_{k=1}^K \alpha_k^{n_k} \cdot \prod_{j=1}^N [ \frac{1}{\sqrt{2\pi} \sigma_k} \exp\left(-\frac{(y_j-\mu_k)^2}{2 \sigma_k^2} ) \right]^{\gamma_{jk}}\\ \displaystyle \therefore \ln P(y, \gamma|\theta) = \sum_{k=1}^K \{ n_k \ln \alpha_k + \sum_{j=1}^N \gamma_{jk} [\ln (\frac{1}{\sqrt{2\pi}}) - \ln \sigma_k - \frac{1}{2 \sigma_k^2} (y_j - \mu_k)^2] \} \\ EMγγyγ1=(γ11,γ12,,γ1K)γjkγjk={1,0,jkj=1,2,,N;k=1,2,,K1α12α2KαKγ1y1p(γ1,y1θ)=p(γ1θ)p(y1γ1,θ)=αγ111αγ122αγ1KKϕ(y1θ1)γ11ϕ(y2θ2)γ12ϕ(y1θK)γ1K=k=1K[αkϕ(y1θk)]γ1k1P(y,γθ)=j=1Nk=1K[αkϕ(yjθk)]γjkj=1Nk=1Kαkγjk=k=1Kαkj=1Nγjkj=1NγjkNknk=j=1Nγjkn1+n2++nK=Nk=1Kαkj=1Nγjk=k=1Kαknkj=1Nk=1Kαkγjk=k=1KαknkP(y,γθ)=k=1Kαknkj=1N[ϕ(yiθk)]γjk=k=1Kαknkj=1N[2π σk1exp(2σk2(yjμk)2)]γjklnP(y,γθ)=k=1K{nklnαk+j=1Nγjk[ln(2π 1)lnσk2σk21(yjμk)2]}

EM算法的E步,确定Q函数

将 隐 变 量 都 换 成 期 望 , 隐 变 量 有 γ j k 和 n k ∵ E ( n k ) = E ( ∑ j γ j k ) = ∑ j E ( γ j k ) , E ( γ j k ∣ θ ( i ) , y ) = P ( γ j k = 1 ∣ θ ( i ) , y ) , 求 解 期 望 时 , 是 根 据 上 一 步 的 θ ( i ) 以 及 观 测 数 据 所 有 的 y j , 需 要 知 道 γ j k 的 分 布 P ( γ j k = 1 ∣ θ ( i ) , y ) 。 ∵ P ( γ j k = 1 ∣ θ ( i ) , y ) = P ( γ j k = 1 , y j ∣ θ ( i ) ) P ( y j ∣ θ ( i ) ) = P ( γ j k = 1 , y j ∣ θ ( i ) ) ∑ k = 1 K P ( γ j k = 1 , y j ∣ θ ( i ) ) = P ( γ j k = 1 ∣ θ ( i ) ) P ( y i ∣ γ j k = 1 , θ ( i ) ) ∑ k = 1 K P ( y j ∣ γ j k = 1 , θ ( i ) ) P ( γ j k = 1 ∣ θ ( i ) ) ∵ α k = P ( γ j k = 1 ∣ θ ) , ϕ ( y i ∣ θ ) = P ( y i ∣ γ j k = 1 , θ ) ∴ E ( γ j k ∣ y , θ ( i ) ) = P ( γ j k = 1 ∣ θ ( i ) , y ) = α k ϕ ( y i ∣ θ ( i ) ) ∑ k = 1 K α k ϕ ( y i ∣ θ ( i ) ) , 其 中 θ ( i ) = ( α k ( i ) , θ k ( i ) )     将 γ j k 关 于 给 定 y 和 θ ( i ) 的 条 件 下 的 期 望 记 为 Z k = E ( γ j k ∣ y , θ ( i ) ) , 因 为 各 个 样 本 之 间 是 独 立 同 分 布 的 , 所 以 Z k 是 和 j 无 关 的 。 ∴ Q ( θ , θ ( i ) ) = E Z [ l n P ( y , γ ∣ θ ( i ) ) ] = ∑ k = 1 K { ( N Z k ) ln ⁡ α k + Z k ∑ j = 1 N [ ln ⁡ ( 1 2 π ) − ln ⁡ σ k − 1 2 σ k 2 ( y j − μ k ) 2 ] } 将隐变量都换成期望,隐变量有\gamma_{jk}和n_k\\ \displaystyle \because E(n_k) = E \left(\sum_j \gamma_{jk} \right) = \sum_j E(\gamma_{jk}),E(\gamma_{jk} | \theta^{(i)},y) = P(\gamma_{jk}=1| \theta^{(i)},y),\\求解期望时,是根据上一步的\theta^{(i)}以及观测数据所有的y_j,需要知道\gamma_{jk}的分布P(\gamma_{jk}=1|\theta^{(i)},y)。\\ \begin{aligned} \because P(\gamma_{jk}=1|\theta^{(i)},y) =& \frac{P(\gamma_{jk}=1,y_j | \theta^{(i)})}{P(y_j|\theta^{(i)})} \\ =& \frac{P(\gamma_{jk}=1,y_j | \theta^{(i)})}{\displaystyle \sum_{k=1}^K P(\gamma_{jk}=1,y_j | \theta^{(i)})} \\ =& \frac{P(\gamma_{jk}=1|\theta^{(i)})P(y_i|\gamma_{jk}=1, \theta^{(i)})}{\displaystyle \sum_{k=1}^K P(y_j | \gamma_{jk}=1,\theta^{(i)}) P(\gamma_{jk}=1|\theta^{(i)})} \end{aligned}\\ \because \alpha_k=P(\gamma_{jk}=1|\theta), \phi(y_i|\theta)=P(y_i | \gamma_{jk}=1,\theta)\\ \displaystyle \therefore E(\gamma_{jk} | y, \theta^{(i)}) = P(\gamma_{jk}=1|\theta^{(i)},y) = \frac{\alpha_k \phi(y_i|\theta^{(i)})}{\displaystyle \sum_{k=1}^K \alpha_k \phi(y_i|\theta^{(i)})},其中\theta^{(i)}=(\alpha_k^{(i)}, \theta_k^{(i)})\\   将\gamma_{jk}关于给定y和\theta^{(i)}的条件下的期望记为Z_k=E(\gamma_{jk} | y, \theta^{(i)}),\\因为各个样本之间是独立同分布的,所以Z_k是和j无关的。\\ \displaystyle \therefore Q(\theta, \theta^{(i)}) = E_Z \big[ln P(y,\gamma | \theta^{(i)})\big] = \sum_{k=1}^K \left\{ (N Z_k) \ln \alpha_k + Z_k \sum_{j=1}^N [ \ln (\frac{1}{\sqrt{2\pi}}) - \ln \sigma_k - \frac{1}{2 \sigma_k^2} (y_j - \mu_k)^2] \right\} γjknkE(nk)=E(jγjk)=jE(γjk)E(γjkθ(i),y)=P(γjk=1θ(i),y)θ(i)yjγjkP(γjk=1θ(i),y)P(γjk=1θ(i),y)===P(yjθ(i))P(γjk=1,yjθ(i))k=1KP(γjk=1,yjθ(i))P(γjk=1,yjθ(i))k=1KP(yjγjk=1,θ(i))P(γjk=1θ(i))P(γjk=1θ(i))P(yiγjk=1,θ(i))αk=P(γjk=1θ),ϕ(yiθ)=P(yiγjk=1,θ)E(γjky,θ(i))=P(γjk=1θ(i),y)=k=1Kαkϕ(yiθ(i))αkϕ(yiθ(i))θ(i)=(αk(i),θk(i))γjkyθ(i)Zk=E(γjky,θ(i))ZkjQ(θ,θ(i))=EZ[lnP(y,γθ(i))]=k=1K{(NZk)lnαk+Zkj=1N[ln(2π 1)lnσk2σk21(yjμk)2]}

确定EM算法的M步

需 要 估 计 的 变 量 有 α k , σ k , μ k , 然 后 求 偏 导 等 于 0 : ∂ Q ( θ , θ ( i ) ) ∂ μ k = 0 ∂ Q ( θ , θ ( i ) ) ∂ σ k 2 = 0 { ∂ Q ( θ , θ ( i ) ) ∂ α k = 0 ∑ α k = 1 根 据 上 述 公 式 可 以 推 导 出 : μ k ( i + 1 ) = ∑ j = 1 N γ j k ^ y j ∑ j = 1 N γ j k ^ ( σ k 2 ) ( i + 1 ) = ∑ j = 1 N γ j k ^ ( y i − μ k ) 2 ∑ j = 1 N γ j k ^ α k ( i + 1 ) = n k N = ∑ j = 1 N γ j k ^ N , 其 中 γ j k ^ = E γ j k , n k = ∑ j = 1 N E γ j k , k = 1 , 2 , ⋯   , K 需要估计的变量有\alpha_k,\sigma_k,\mu_k,然后求偏导等于0:\\\begin{array}{l} \displaystyle \frac{\partial Q(\theta, \theta^{(i)})}{\partial \mu_k} = 0 \\ \displaystyle \frac{\partial Q(\theta, \theta^{(i)})}{\partial \sigma_k^2} = 0 \\ \left \{ \begin{array}{l} \displaystyle \frac{\partial Q(\theta, \theta^{(i)})}{\partial \alpha_k} = 0 \\ \sum \alpha_k = 1 \end{array} \right . \end{array}\\根据上述公式可以推导出:\begin{array}{l} \mu_k^{(i+1)} = \frac{\displaystyle \sum_{j=1}^N \hat{\gamma_{jk}} y_j}{\displaystyle \sum_{j=1}^N \hat{\gamma_{jk}} } \\ (\sigma_k^2)^{(i+1)} = \frac{\displaystyle \sum_{j=1}^N \hat{\gamma_{jk}} (y_i - \mu_k)^2}{\displaystyle \sum_{j=1}^N \hat{\gamma_{jk}} } \\ \displaystyle \alpha_k^{(i+1)} = \frac{n_k}{N}= \frac{\displaystyle \sum_{j=1}^N \hat{\gamma_{jk}}}{N} \\ \end{array},其中\displaystyle \hat{\gamma_{jk}}=E \gamma_{jk}, n_k = \sum_{j=1}^N E \gamma_{jk}, k=1,2,\cdots,K αk,σk,μk0μkQ(θ,θ(i))=0σk2Q(θ,θ(i))=0αkQ(θ,θ(i))=0αk=1μk(i+1)=j=1Nγjk^j=1Nγjk^yj(σk2)(i+1)=j=1Nγjk^j=1Nγjk^(yiμk)2αk(i+1)=Nnk=Nj=1Nγjk^,γjk^=Eγjk,nk=j=1NEγjk,k=1,2,,K

EM算法的推广

GEM算法

输 入 : 观 测 数 据 , Q 函 数 输 出 : 模 型 参 数 ( 1 ) 初 始 化 参 数 θ ( 0 ) = ( θ 1 ( 0 ) , θ 2 ( 0 ) , ⋯   , θ d ( 0 ) ) , 开 始 迭 代 ; ( 2 ) 第 i + 1 次 迭 代 , 第 1 步 : 记 θ ( i ) = ( θ 1 ( i ) , θ 2 ( i ) , ⋯   , θ d ( i ) ) 为 参 数 θ = ( θ 1 , θ 2 , ⋯   , θ d ) 的 估 计 值 , 计 算 Q ( θ , θ ( i ) ) = E Z [ log ⁡ P ( Y , Z ∣ θ ) ∣ Y , θ ( i ) ]   = ∑ Z P ( Z ∣ Y , θ ( i ) ) log ⁡ P ( Y , Z ∣ θ ) ( 3 ) 第 2 步 : 进 行 d 次 条 件 极 大 化 : 首 先 , 在 θ 2 ( i ) , θ 3 ( i ) , ⋯   , θ k ( i ) 保 持 不 变 的 条 件 下 求 使 得 Q ( θ , θ ( i ) ) 达 到 极 大 的 θ 1 ( i + 1 ) ; 然 后 , 在 θ 1 = θ 1 ( i + 1 ) , θ j = θ j ( j ) , j = 3 , 4 , ⋯   , k 的 条 件 下 求 使 Q ( θ , θ ( i ) ) 达 到 极 大 的 θ ( i + 1 ) ; 如 此 继 续 , 经 过 d 次 条 件 极 大 化 , 得 到 θ ( i + 1 ) = ( θ 1 ( i + 1 ) , θ 2 ( i + 1 ) , ⋯   , θ d ( i + 1 ) ) 使 得 Q ( θ ( i + 1 ) , θ ( i ) ) > Q ( θ ( i ) , θ ( i ) ) ( 4 ) 重 复 ( 2 ) 和 ( 3 ) , 直 到 收 敛 。 输入:观测数据,Q函数\\ 输出:模型参数\\ (1)初始化参数\theta^{(0)}=(\theta^{(0)}_1,\theta^{(0)}_2,\cdots,\theta^{(0)}_d),开始迭代;\\ (2)第i+1次迭代,第1步:记\theta^{(i)}=(\theta^{(i)}_1,\theta^{(i)}_2,\cdots,\theta^{(i)}_d)为参数\theta=(\theta_1,\theta_2,\cdots,\theta_d)的估计值,计算\\\begin{aligned} Q(\theta,\theta^{(i)}) =& E_Z\big[ \log P(Y,Z|\theta)|Y,\theta^{(i)} \big] \ =& \sum_Z P(Z|Y,\theta^{(i)}) \log P(Y,Z|\theta) \end{aligned}\\ (3)第2步:进行d次条件极大化: 首先,在\theta^{(i)}_2,\theta^{(i)}_3,\cdots,\theta^{(i)}_k保持不变的条件下求使得Q(\theta,\theta^{(i)})达到极大的\theta^{(i+1)}_1;\\ 然后,在\theta_1=\theta^{(i+1)}_1,\theta_j=\theta^{(j)}_j,j=3,4,\cdots,k的条件下求使Q(\theta,\theta^{(i)})达到极大的\theta^{(i+1)};\\ 如此继续,经过d次条件极大化,得到\theta^{(i+1)}=(\theta^{(i+1)}_1,\theta^{(i+1)}_2,\cdots, \theta^{(i+1)}_d)使得Q(\theta^{(i+1)},\theta^{(i)}) > Q(\theta^{(i)},\theta^{(i)})\\ (4)重复(2)和(3),直到收敛。 Q(1)θ(0)=(θ1(0),θ2(0),,θd(0))(2)i+11θ(i)=(θ1(i),θ2(i),,θd(i))θ=(θ1,θ2,,θd)Q(θ,θ(i))=EZ[logP(Y,Zθ)Y,θ(i)] =ZP(ZY,θ(i))logP(Y,Zθ)(3)2dθ2(i),θ3(i),,θk(i)使Q(θ,θ(i))θ1(i+1)θ1=θ1(i+1),θj=θj(j),j=3,4,,k使Q(θ,θ(i))θ(i+1)dθ(i+1)=(θ1(i+1),θ2(i+1),,θd(i+1))使Q(θ(i+1),θ(i))>Q(θ(i),θ(i))(4)(2)(3)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值