李航统计学习总结:EM算法、朴素贝叶斯、隐马尔可夫、随机向量场

目录

EM算法

朴素贝叶斯模型

图规划模型

隐马尔可夫模型

条件随机场(CRF)


\large EM algorithm\Rightarrow \begin{Bmatrix} naive Bayes\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\\ graphical model \begin{Bmatrix} HMM\\ CRF \end{matrix} \end{matrix}


EM算法

EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。

其过程主要分为两步:

  • E步,求期望
  • M步,求极大

因此,又被称为期望极大化算法。

EM算法根据算法不同的初值可能会有不同的参数估计值。

EM算法的导出:

对一个含有隐变量的概率模型,目标时极大化观测数据(不完全数据)Y 关于参数 \large \theta 的对数似然函数,即极大化:

                                       \large L(\theta) = \logP(Y|\theta) = \log{\sum_ZP(Y,Z|\theta)}=\log\left ( \sum _ZP(Y|Z,\theta)P(Z|\theta) \right )

EM算法通过迭代逐步近似极大化 L(θ) 假设在第 i 次迭代后 θ 的估计值为 \large \theta^{(i)} ,希望新的估计值 θ 能使  L(θ) 增加,即 L(θ)>L(\large \theta^{(i)}),并逐步达到极大值。因此考虑两者的差:
\large L(\theta)-L(\theta^{(i)})=\log \left ( \sum_ZP(Y|Z,\theta)P(Z|\theta) \right )-\log P(Y|\theta^{(i)})\xrightarrow[\log\sum_j \lambda_jy_j \geq\sum_j \lambda_j \log y_j,\;\;\;where\; \lambda_j \geq0,\sum_j \lambda_j=1]{Jensen\;inequality}\\ L(\theta)-L(\theta^{(i)})=\log \left ( \sum_ZP(Z|Y,\theta^{(i)})\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})} \right )-\log P(Y|\theta^{(i)})\\ \geq\sum_ZP(Z|Y,\theta^{(i)})\log\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})}-\log P(Y|\theta^{(i)})\\ =\sum_ZP(Z|Y,\theta^{(i)})\log\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})}

EM算法

EM算法的收敛性包含关于对数似然函数序列 L(\large \theta^{(i)}) 的收敛性和关于参数估计序列\large \theta^{(i)}的收敛性两层意思,前者并不蕴含后者。EM算法智能保证参数估计序列收敛到对数似然函数序列的稳定点,不能保证收敛到极大值点。

高斯混合模型参数估计的EM算法
输入:观测数据  \large \mathrm{y_1,y_2,...,y_N} , 高斯混合模型
输出:高斯混合模型参数
(1)取参数的初始值进行迭代

(2)E步:依据当前模型参数,计算分模型 k 对观测数据 \mathrm{y_j} 的响应度

           \LARGE \hat{\gamma }_{jk}=\frac{\alpha_k\phi (y_j|\theta_k)}{\sum_{k=1}^K \alpha_k\phi (y_j|\theta_k)} 

j = 1,2,...,N; k =1,2,...,K

(3) M步:计算新一轮迭代的模型参数

\begin{matrix} \hat{\mu}_k = \frac{\sum_{j=1}^N \hat{\gamma}_{jk}y_j}{\sum_{j=1}^N \hat{\gamma}_{jk}}&, {k=1,2,...,K}\\ \\ \hat{\sigma}_k^2 = \frac{\sum_{j=1}^N \hat{\gamma}_{jk}(y_j-\mu_k)^2}{\sum_{j=1}^N \hat{\gamma}_{jk}}&, {k=1,2,...,K}\\ \\ \hat{\alpha}_k = \frac{\sum_{j=1}^N \hat{\gamma}_{jk}}{N}&, {k=1,2,...,K} \end{matrix}

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

EM算法可以应用到朴素贝叶斯的非监督学习和隐马尔可夫模型的非监督学习。

朴素贝叶斯模型

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法,首先基于特征条件独立假设学习输入/输出的联合概率分布,然后基于此模型,对给定的输入 x, 利用贝叶斯定理求出后验概率最大的输出 y.

                                                \large y = \arg \max_{c_k}P(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)

使用的策略是期望风险最小化,即后验概率最大化准则:

                                                            \large f(x) = \arg \max_{c_k}P(c_k|X=x)

其学习过程可以分为极大似然估计和贝叶斯估计,其中使用极大似然估计可能会出现要估计的概率值为0的情况。这时会影响到后验概率的计算结果,使分类产生偏差。贝叶斯估计可以解决这一问题。通过增加一个 λ 项 来控制概率分布。

朴素贝叶斯的非监督学习过程表示,只有输入变量的特征,训练数据集中没有相应的类别。使用EM算法可以学习估计其参数。

图规划模型

隐马尔可夫模型

是可用于标注问题的统计学习模型,描述有由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型。是关于时序的概率模型。

隐马尔可夫模型有初始概率分布 π 、状态转移概率分布 A 以及观测概率分布 B 确定。λ = (π, A, B)

隐马尔可夫模型可用于标注,此时状态对应着标记。标注问题是给定观测的序列预测其对应的标记序列。可以假设标注问题的数据是由隐马尔可夫模型生成的。这样可以利用HMM的学习与预测算法进行标注。

三个基本问题:概率计算问题(前向与后向算法),学习问题(极大似然估计和EM算法)和预测问题(维特比算法)。

前向算法

在 t+1 时刻处在状态 i 且其部分观测序列为 \large o_1,o_2,...,o_{t+1} 的概率为:

(在 t 时刻处在状态 j 下观测序列为\large o_1,o_2,...o_t的概率 乘 j 转移到 i 的概率)的和 乘 在 状态 i 观测到 \large o_{t+1} 的概率

                                        \large \alpha_{t+1}(i) P(o_1,o_2,...,o_{t+1},i_{t+1} =q_i |\lambda)= \left [ \sum_{j=1}^{N} \alpha_t(j) a_{ji}\right ]b_i(o_{t+1}) \\i =1,2,...,N

且初始状态下:\large \alpha _1 (i)=\pi _i b_i(o_1),i =1,2,...,N

最后的观测序列概率为:在终止状态下所有可能的状态其观测序列为 \large o_1,o_2,...,o_{T}的概率的和

                                                    \large P(O|\lambda)= \sum_{i=1}^{N}\alpha_T(i)

后向算法

在 t 时刻 状态为 i 的条件下,从 t+1 时刻到终止时刻的部分观测序列为\large o_{t+1},o_{t+2},...,o_{T} 的概率为:

(在 状态 i 转移到状态 j 且在 t+1时刻观测到 \large o_{t+1} 的概率)  ×(在 t+1时刻状态为 j 的条件下, 从 t+2 时刻到终止时刻的部分观测序列为 \large o_{t+2},...,o_{T} 的概率)的所有可能的 情况总和

                             \large \beta_t(i) = P(o_{t+1},o_{t+2},...,o_T|i_t=q_i,\lambda) =\sum_{j=1}^{N}a_{ij}b_j(o_{t+1})\beta_{t+1}(j) \\i=1,2,...,N

且终止状态下:\large \beta_T(i)=1, i=1,2,...,N

最后的观测序列概率为:在初始状态下所有可能的状态下观测到\large o_1,且在此状态下之后的观测序列为 \large o_{2},...,o_{T} 的所有可能性总和:

                                                               \large P(O|\lambda)= \sum_{i=1}^{N}\pi_i b_i(o_1)\beta_1(i)

根据前向概率和后向概率可以将观测序列的概率表示为

                                                 \large P(O|\lambda)= \sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_t(i)a_{ij}b_j(o_{t+1})\beta_{t+1}(j)

学习算法:

极大似然估计:估计参数包括A, B,π

非监督学习,Baum-Welch算法(EM算法)

E步:

\large Q(\lambda,\overline{\lambda})=\sum_{I}\log{P(O,I|\lambda)P(O,I|\overline{\lambda})}\\ \textup{Due to } \mathrm{P(O,I|\lambda) = \pi_{i_1}b_{i_1}(o_1)a_{i_1i_2}b_{i_2}(o_2)...a_{i_{T-1}i_T}b_{i_T}(o_T)}\\ \\ \Rightarrow Q(\lambda,\overline{\lambda})=\sum_I\log \pi_{i_1}P(O,I|\overline{\lambda}) +\sum_{I}\left ( \sum_{t=1}^{T-1}\log a_{i_{t}i_{t+1}} \right )P(O,I|\overline{\lambda})\\+\sum_{I}\left ( \sum_{t=1}^{T}\log b_{i_{t}}(o_t) \right )P(O,I|\overline{\lambda})

M 步:分别对其中三项进行极大化,利用拉格朗日乘数法可以求得:

\large \begin{matrix} a_{ij}= \frac{\sum_{t=1}^{T-1}P(O,i_t=i,i_{t+1}=j|\bar{\lambda})}{\sum_{t=1}^{T-1}P(O,i_t=i|\bar{\lambda})}=\frac{\sum_{t=1}^{T-1}\xi _t(i,j)}{\sum_{t=1}^{T-1}\gamma_t(i)}\\ \\ b_j(k)= \frac{\sum_{t=1}^{T}P(O,i_t=i|\bar{\lambda})I(o_t=v_k)}{\sum_{t=1}^{T}P(O,i_t=i|\bar{\lambda})}=\frac{\sum_{t=1,o_t=v_k}^T \gamma_t(j)}{\sum_{t=1}^T \gamma_t(j)}\\ \\ \pi_i=\frac{P(O,i_1=i|\bar{\lambda})}{P(O|\bar{\lambda})}=\gamma_1(i) \end{matrix}

预测算法:

近似算法:近似算法计算简单但不能保证预测的状态序列整体是最有可能的状态序列,因为预测的状态序列可能有实际不发生的部分。(Page 184)

Viterbi 算法:

实际是使用动态规划的方法求解隐马尔可夫模型的预测问题,即用动态规划求概率最大的路径。

只需要从时刻 t=1开始,递推的计算在时刻t状态为i的各条部分路径的最大概率,直至得到时刻t=T状态为i的各条路径的最大概率。时刻t=T的最大概率即为最优路径的概率P

 

 

与隐马尔可夫模型的三个问题相关的模型是条件随机场,同样有三个问题:概率计算、学习问题、预测问题

条件随机场(CRF)

是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。条件随机场可以用于不同的预测问题。此处仅仅描述线性条件随机场,此时,问题变成了由输入序列对输出序列预测的判别模型,形式为对数线性模型。其学习方法通常为极大似然估计或者正则化的极大似然估计。

--Lafferty提出标注

马尔可夫随机场(概率无向图模型)是一个可以由无向图表示的联合概率分布。

线性链条件随机场的数学表达式为:

\large P(y|x) = \frac{1}{Z(x)}\exp\left [ \sum_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i)+\sum_{i,l}\mu_ls_l(y_i,x,i) \right ] \\ \\ in\;\;\;\;\;\;\;Z(x) = \sum_y \exp\left [ \sum_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i)+\sum_{i,l}\mu_ls_l(y_i,x,i) \right ]

条件随机场的概率计算问题:是给定条件随机场P(Y|X),输入序列x和输出序列y,计算条件概率P(Y(i) = y(i)|x),P(Y(i-1)=y(i-1),Y(i)=y(i)|x)以及相应的数学期望的问题。

前向-后向算法

对每个指标定义前向向量\large \alpha _i(x)

                                               \large \alpha _i^T(y_i|x) = \alpha _{i-1}^T(y_{i-1}|x)[M_i(y_{i-1},y_i|x)],i =1,2,...,n+1 \\ \\i.e.\;\;\;\;\;\;\;\;\alpha _i^T(x)= \alpha _{i-1}^T(x)M_i(x)\\ \\ where \;\;\;\;\alpha _0(y|x)=\left\{\begin{matrix} 1,&\text{y=start}\\ 0, & \text{otherwise} \end{matrix}\right.

表示在位置 i 的标记是 yi 并且到位置 i 的前部分标记序列的非规范化概率,yi 可取得值为m个,因此为m维列向量。

定义后向向量\large \beta _i(x)

                                                    \large \beta _i(y_i|x) = [M_i(y_i,y_{i+1}|x)]\beta_{i+1}(y_{i+1}|x) \\ \\ \text{i.e.} \;\;\;\;\;\beta_i(x)=M_{i+1}(x)\beta_{i+1}(x) \\ \\ \text{where}\;\;\;\beta_{n+1}(y_{n+1}|x)=\left\{\begin{matrix} 1, &y_{n+1}=stop \\ 0,&text{otherwise \end{matrix}\right.

表示在位置i的标记为 yi 并且从 i+1 到n的后部分标记序列的非规范化概率。

由前向-后向向量定义不难得到:

                                                         \large Z(x)=\alpha _n^T(x) \cdot \mathbf{1} = \mathbf{1}^T \cdot \beta_1(x)

其中,1 是元素均为1的m维列向量。

 

学习算法
极大似然估计和正则化的极大似然估计,具体的优化算法有改进的迭代尺度法(IIS)、梯度下降法和拟牛顿法,这一点和最大熵模型类似。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值