机器学习(最大熵与EM算法)

最大熵

  • 自信息

I ( p i ) = l o g ( p i ) I(p_i)=-log(p_i)

  • 信息熵(一个事件的熵)

H ( X ) = i = 1 n p ( x i ) l o g ( p ( x i ) ) = x p ( x ) l o g ( p ( x ) ) H(X)=-\sum\limits_{i=1}^np(x_i)log(p(x_i))=-\sum_xp(x)log(p(x))

  • 联合熵

H ( X , Y ) = x , y p ( x , y ) l o g p ( x , y ) H(X,Y)=-\sum\limits_{x,y}p(x,y)logp(x,y)

  • 条件熵

H ( Y X ) = x , y p ( x , y ) l o g p ( y x ) H(Y|X)=-\sum\limits_{x,y}p(x,y)logp(y|x)

  • 交叉熵

H ( p , q ) = x p ( x ) l o g q ( x ) H(p,q)=\sum_xp(x)logq(x)

  • 相对熵(KL散度)

D K L ( p q ) = H ( p , q ) H ( p ) D_{KL}(p||q)=H(p,q)-H(p)
相对熵=某个策略的交叉熵-信息熵

  • 互信息

I ( X ; Y ) = H ( X ) H ( X Y ) = H ( Y ) H ( Y X ) I(X;Y)=H(X)-H(X|Y)=H(Y)-H(Y|X)
I ( X ; Y ) = x , y p ( x , y ) l o g p ( x , y ) p ( x ) p ( y ) I(X;Y)=\sum\limits_{x,y}p(x,y)log\frac{p(x,y)}{p(x)p(y)}

  • 最大熵理论(有先验知识的条件下做推导)
  1. 模型输入

从人工标注的训练数据中抽取的训练样本集 T = { ( x 1 , y 1 ) ,   , ( x n , y n ) } T=\{(x_1,y_1),\cdots,(x_n,y_n)\} ,其中 ( x i , y i ) (x_i,y_i) 表示语料库中出现 y i y_i 时其上下文信息为 x i x_i

  1. 经验分布:
    所谓经验概率分布是指通过在训练数据集T上进行统计得到的分布用 p ~ \tilde{p} 表示

p ~ ( x , y ) = c o u n t ( x , y ) N \tilde{p}(x,y)=\frac{count(x,y)}{N} ,其中 c o u n t ( x , y ) count(x,y) ( x , y ) (x,y) 在语料中出现的次数,N为总词数

  1. 数学推导

特征 f f 是指x与y之间存在某种特定关系,用二值函数表示


f i ( x , y ) { 1   , x , y 0   , f_i{(x,y)}\begin{cases}1 ,如果x,y满足某种条件\\ 0 ,否则\end{cases}

特征函数关于经验分布 P ~ ( X , Y ) \tilde{P}(X,Y) 的期望


E p ~ ( f ) = x , y p ~ ( x , y ) f ( x , y ) E_{\tilde{p}}(f)=\sum_{x,y}\tilde p(x,y)f(x,y)

特征函数关于模型 P ( Y X ) P(Y|X) 与经验分布 P ~ ( X ) \tilde{P}(X) 的期望值


E p ( f ) = x , y P ~ ( x ) P ( y x ) f ( x , y ) E_p(f)=\sum_{x,y}\tilde{P}(x)P(y|x)f(x,y)

定义最大熵模型
选择一个最好的分类模型,对于任意给定的输入 x X x\in X ,可以以概率 p ( y x ) p(y|x) 输出 y Y y \in Y

假设满足所有约束条件的模型集合为: C = { P D E p ( f i ) = E P ~ ( f i ) } C=\{P\in D|E_p(f_i)=E_{\tilde{P}}(f_i)\}
定义在谈条件概率分布 P ( Y X ) P(Y|X) 上的条件熵为: H ( P ) = x , y P ~ ( x ) P ( y x ) l o g P ( y x ) H(P)=-\sum\limits_{x,y}\tilde{P}(x)P(y|x)logP(y|x)

  1. 最大熵模型的学习

熵模型的学习等价约束条件
max p C H ( P ) = x , y P ~ ( x ) P ( y x ) l o g P ( y x ) \max_{p\in C}H(P)=-\sum_{x,y}\tilde{P}(x)P(y|x)logP(y|x)
约束条件为:
E P ( f i ) = E P ~ ( f i ) , i = 1 , 2 ,   , n E_P(f_i)=E_{\tilde{P}}(f_i),i=1,2,\cdots,n
y P ( y x ) = 1 \sum_yP(y|x)=1

引入拉格朗日乘子
L ( P , w ) = H ( P ) + w 0 [ 1 y P ( y x ) ] + i = 1 n w i ( E P ~ ( f i ) E P ( f i ) ) L(P,w)=-H(P)+w_0\big[ 1-\sum_yP(y|x)\big]+\sum_{i=1}^nw_i(E_{\tilde{P}}(f_i)-E_P(f_i))
= x , y P ~ ( x ) P ( y x ) l o g P ( y x ) + w 0 [ 1 y P ( y x ) ] =\sum_{x,y}\tilde{P}(x)P(y|x)logP(y|x)+w_0\big[1-\sum_yP(y|x)\big]
+ i = 1 n w i [ x , y P ~ ( x , y ) f i ( x , y ) x , y P ~ ( x ) P ( y x ) f i ( x , y ) ] +\sum_{i=1}^nw_i\big[\sum_{x,y}\tilde{P}(x,y)f_i(x,y) -\sum_{x,y}\tilde{P}(x)P(y|x)f_i(x,y)\big]

最优化问题
min p C max w L ( P , w ) \min_{p \in C}\max_wL(P,w)
对偶问题为
max w min P C L ( P , w ) \max_w\min_{P\in C}L(P,w)

先求极小值得到
P w ( y x ) = 1 Z w ( x ) e x p ( i = 1 n w i f i ( x , y ) ) P_w(y|x)=\frac{1}{Z_w(x)}exp\big(\sum_{i=1}^nw_if_i(x,y)\big)
Z w ( x ) = y e x p [ i = 1 n w i f i ( x , y ) ] Z_w(x)=\sum_yexp\big[\sum_{i=1}^nw_if_i(x,y)\big]

求极大值
表现为求以下方法的极大值
ψ ( w ) = x , y P ~ ( x , y ) i = 1 n w i f i ( x , y ) + x P ~ ( x ) l o g Z w ( x ) \psi(w)=\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y)+\sum_x\tilde{P}(x)logZ_w(x)

极大化似然估计法求解
待求解的概率模型 P ( Y X ) P(Y|X)的似然函数为
L P ~ ( P w ) = l o g x , y P ( y x ) P ~ ( x , y ) = x , y P ~ ( x , y ) l o g P ( y x ) L_{\tilde{P}}(P_w)=log\prod_{x,y}P(y|x)^{\tilde{P}(x,y)}=\sum_{x,y}\tilde{P}(x,y)logP(y|x)
P w ( y x ) P_w(y|x) 代入可以得到
L P ~ ( P w ) = x , y l o g P ( y x ) L_{\tilde{P}}(P_w)=\sum_{x,y}logP(y|x)
= x , y P ~ ( x , y ) i = 1 n w i f i ( x , y ) x P ~ ( x ) l o g Z w ( x ) =\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_x\tilde{P}(x)logZ_w(x)

EM算法

  1. 目的

主要用来进行参数的估计

  1. EM路线图

K-means ->高斯混合模型->EM方法
最大似然方式(ML)->下边界(Q函数)->EM算法

  1. 两种特殊变量

可观测变量 Y = { y 1 , y 2 , y 3 ,   , y n } Y=\{y_1,y_2,y_3,\cdots,y_n\}
不可观测变量 Z = { z 1 , z 2 , z 3 ,   , z n } Z=\{z_1,z_2,z_3,\cdots,z_n\}

  1. 最大似然
    P ( x 1 , x 2 , x 3 ,   , x n ) = j = 1 N p ( y j ) P(x_1,x_2,x_3,\cdots,x_n)=\prod_{j=1}^Np(y_j)
    则最大似然函数
    L ( θ ) = j = 1 N p ( y j ) L(\theta)=\prod_{j=1}^Np(y_j)
  2. 含隐式变量的最大似然
    L ( θ ) = j = 1 N p θ ( y i ) = j = 1 N z p θ ( y j z ) p θ ( z ) L(\theta)=\prod_{j=1}^Np_\theta(y_i)=\prod_{j=1}^N\sum_zp_\theta(y_j|z)p_\theta(z)
  3. 解释
    在对数中有加和项时难以求得解析解,则我们会求一个近似最优解
  4. 求解
    l n ( L ( θ ) ) = j = 1 N l n [ z p θ ( y j z ) p θ ( z ) ] ln(L(\theta))=\sum_{j=1}^Nln\big[\sum_zp_\theta(y_j|z)p_\theta(z)\big]
    = j = 1 N l n [ z p θ ( y j z ) p θ ( z ) Q ( z ) Q ( z ) ] =\sum_{j=1}^Nln\big[\sum_z\frac{p_\theta(y_j|z)p_\theta(z)}{Q(z)}Q(z)\big]
    j = 1 N z Q ( z ) l n p θ ( y j z ) p θ ( z ) Q ( z ) \geq \sum_{j=1}^N\sum_zQ(z)ln\frac{p_\theta(y_j|z)p_\theta(z)}{Q(z)}
    约束条件为:
    z Q ( z ) = 1 \sum_zQ(z)=1
    即可理解为:
    l n ( L ( θ ) ) j = 1 N z Q ( z ) l n p θ ( y j z ) p θ ( z ) Q ( z ) = L o w B o u n d ( θ ) ln(L(\theta))\geq \sum_{j=1}^N\sum_zQ(z)ln\frac{p_\theta(y_j|z)p_\theta(z)}{Q(z)}=LowBound(\theta)
    假设当前参数 θ ( t ) \theta^{(t)} ,在下界上求出最大似然函数的参数为 θ ( t + 1 ) \theta^{(t+1)} 则有:
    l n ( L ( θ ( t + 1 ) ) ) L o w B o u n d ( θ ( t + 1 ) ) L o w B o u n d ( θ ( t ) ) ln(L(\theta^{(t+1)}))\geq LowBound(\theta^{(t+1)})\geq LowBound(\theta^{(t)})
    此时下边界函数有很多取法,但为了最终使等号成立则必须有以下条件:
    p θ ( y j z ) p θ ( z ) Q ( z ) = c \frac{p_\theta(y_j|z)p_\theta(z)}{Q(z)}=c 即左式为与z无关的常数
    又因为约束条件,所以有:
    c = z p θ ( y j z ) p θ ( z ) c=\sum_zp_\theta(y_j|z)p_\theta(z)
    Q ( z ) = p θ ( y j , z ) p θ ( y j ) = p θ ( z y j ) Q(z)=\frac{p_\theta(y_j,z)}{p_\theta(y_j)}=p_\theta(z|y_j)
    设定:
    Q ( Z ) = Q ( Z , θ ) Q(Z)=Q(Z,\theta) 则设定
    因此定义每次的计算方式为:
    a、先根据上一次的 θ n \theta_n 计算 Q ( Z ) Q(Z)
    b、根据上式的 Q ( Z ) Q(Z) ,求出含有 θ \theta 的似然函数的下界并最大化,得到新的参数 θ \theta 并以此不断迭代

GMM

  1. 理念

使用线性高斯模型构建混合模型
使用EM算法优化混合模型

  1. 模型定义
    max [ i = 1 N j = 1 K π j N ( x i ; μ j , δ j ) ] \max\big[\sum_{i=1}^N\sum_{j=1}^K\pi_jN(x_i;\mu_j,\delta_j)\big]
    备注:
    K表示混合高斯模型中组件的个数
    π j \pi_j 代表 x i x_i 由第 j j 个组件产生的概率
    N ( x i ; μ j , δ j ) N(x_i;\mu_j,\delta_j) 代表 x i x_i 由第 j j 个组件产生的情况下生成的概率
  2. 理解
    在以上理解的基础上可以使用EM算法优化模型

猜你喜欢

转载自blog.csdn.net/weixin_42150936/article/details/85885055