统计学习方法 6-逻辑斯谛回归与最大熵模型

来源:互联网 发布:java html转义 编辑:程序博客网 时间:2024/04/30 02:09

逻辑斯谛回归模型

逻辑斯谛分布

二元逻辑斯谛回归模型

模型参数估计

多元逻辑斯谛回归

最大熵模型

最大熵原理

最大熵原理认为,学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。通常用约束条件来确定概率模型的集合,所以,最大熵原理也可以表述为在满足约束条件的模型集合中选取熵最大的模型。

H(P)=xP(x)logP(x)
0H(P)log|X|,当 X 服从均匀分布时,熵最大。

最大熵模型的定义

假设满足所有约束条件的模型集合为

ζ{PP|Ep(fi)=Ep~(fi),i=1,2,,n}

定义在条件概率分布P(Y|X)上的条件熵为
H(P)=x,yP~(x)P(y|x)logP(y|x)

则模型集合ζ中条件熵H(P)最大的模型称为最大熵模型。

最大熵模型的学习

最大熵模型的学习过程就是求解最大熵模型的过程。
约束最优化问题:
maxPC  H(P)=x,yP~(x)P(y|x)logP(y|x)
s.t.
Ep(fi)=EP~(fi),  i=1,2,,n
yP(y|x)=1$

最大熵模型:
Pω(y|x)=1Zω(x)exp(ni=1ωifi(x,y))
其中,
Zω=yexp(ni=1ωifi(x,y))

极大似然估计

对偶函数的极大化等价于最大熵模型的极大似然估计。

模型学习的最优化算法

常用的方法有改进的迭代尺度法、梯度下降法、牛顿法或拟牛顿法。牛顿法或拟牛顿法一般收敛速度更快。

改进的迭代尺度法

最大熵模型的对数似然函数:
L(ω)=x,yP~(x,y)ni=1ωifi(x,y)xP~(x,y)logZomega(x)
目标是通过极大似然估计学习模型参数,即求对数似然函数的极大值ω~

IIS的想法是:假设最大熵模型当前的参数向量是w(w1,w2,,wn)T,我们希望找到一个新的参数向量w+δ(w1+δ1,w2+δ2,,wn+δn)T,使得模型的对数似然函数值增大。如果能有这样一种参数向量更新的方法(w):ww+δ ,那么就可以重复使用这一方法,直至找到对数似然函数的最大值。

L(ω+δ)L(ω) x,yP~(x,y)ni=1δifi(x,y)+1xP~(x,y)Zω+δ(x)Zω(x) =x,yP~(x,y)ni=1δifi(x,y)+1xP~(x,y)yPω(y|x)expni=1δifi(x,y)

A(δ|ω)=x,yP~(x,y)ni=1δifi(x,y)+1xP~(x,y)yPω(y|x)expni=1δifi(x,y)

f#(x,y)=ifi(x,y)

A(\delta|\omega)= \sum_{x,y} \tilde P(x,y) \sum_{i=1}^n \delta_i f_i (x,y)+1-\sum_x \tilde P(x,y) \sum_y P_\omega(y|x)  exp(f^#(x,y) \sum_{i=1}^n (\frac {f_i (x,y)} {f^#(x,y)})) \  
≥ \sum_{x,y} \tilde P(x,y) \sum_{i=1}^n \delta_i f_i (x,y)+1-\sum_x \tilde P(x,y) \sum_y P_\omega(y|x) \sum_{i=1}^n (\frac {f_i (x,y)} {f^#(x,y)}) exp(\delta_i,f^#(x,y))

B(δ|ω)=x,yP~(x,y)ni=1δifi(x,y)+1xP~(x,y)yPω(y|x)ni=1(fi(x,y)f#(x,y))exp(δi,f#(x,y))

拟牛顿法

最大熵模型:
Pω(y|x)=exp(ni=1ωifi(x,y))yexp(ni=1ωifi(x,y))

目标函数:
minωRn   xP~(x)logyexp(ni=1ωifi(x,y))x,yP~(x,y)ni=1ωifi(x,y)

梯度:
g(ω)=(f(ω)ω1,f(ω)ω2,,f(ω)ωn)

阅读全文
0 0
原创粉丝点击