LR采用的Sigmoid函数与最大熵(ME) 的关系
从ME到LR
先直接给出最大熵模型的一般形式,后面再给出具体的推导过程。
[egin{align*}
P_w(y|x) &= dfrac{1}{Z_w(x)}expleft(sum_{i=1}^{n}w_if_i(x,y)
ight)\
mbox{where } Z_w(x) &= sum_yexpleft(sum_{i=1}^nw_if_i(x,y)
ight)
end{align*}]
下面我们只考虑二分类问题,则有原式
[egin{align*}
P_w(y|X) &= dfrac{exp(W_0X)}{exp(W_0X) + exp(W_1X)}\
&= dfrac{1}{1 + exp((W1-W0)X)}\
&= dfrac{1}{1 + exp(WX)}
end{align*}]
这特么不就是用于二分类的Sigmoid函数么,也就是说LR采用Sigmoid函数除了因为Sigmoid函数具有一些漂亮的数学性质,比如(f=sigmoid(x)),那么(f‘(x) =(1-f(x))*f(x)),更重要的是这样找出来的模型是熵最大的。那么为什么要熵最大?最大熵原理是概率模型学习的一个准则,最大熵原理认为,学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。
最大熵模型推导
最大熵模型是一个带约束的最优化问题
[egin{align*}
E_{ ilde{P}}(f) &= E_{P}(f)\
mbox{where } E_{ ilde{P}}(f) &= sum_{x,y} ilde{P}(x,y)f(x,y)\
mbox{and } E_{P}(f) &= sum_{x,y} ilde{P}(x)P(y|x)f(x,y)
end{align*}]
目标函数为
[H(P) = -sum_{x,y} ilde{P}(x)P(y|x)log P(y|x)
]
写成更加正式的形式如下
[egin{align*}
min_{Pin mathcal{C}}& -H(P) = sum_{x, y} ilde{P}(x)P(y|x)log P(y|x)\
mbox{s.t. }& E_{P}(f) - E_{ ilde{P}}(f) = 0 \
&sum_yP(y|x) = 1
end{align*}]
引入拉格朗日乘子有
[egin{align*}
L(P,w) &=-H(P) + w_0left(1 - sum_yP(y|x)
ight) + sum_{i=1}^nw_i(E_{ ilde{p}}(f_i)-E_P(f_i))\
&= sum_{x,y} ilde{P}(x)P(y|x)log P(y|x) + w_0left(1 - sum_y P(y|x)
ight)\
&+ sum_{i=1}^nw_ileft(sum_{x,y} ilde{P}(x,y)f_i(x,y) - sum_{x,y} ilde{P}(x)P(y|x)f_i(x,y)
ight)
end{align*}]
由原始问题的极小极大问题转为极大极小的对偶问题有
[egin{align*}
dfrac{partial L(P,w)}{partial P(y|x)} &= sum_{x,y} ilde{P}(x)(log P(y|x) + 1) - sum_yw_0 -sum_{x,y}left( ilde{P}(x)sum_{i=1}^nw_if_i(x,y)
ight)\
&= sum_{x,y} ilde{P}(x)left(log P(y|x)+1-w_0-sum_{i=1}^nw_if_i(x,y)
ight)
end{align*}]
令其为0,解得
[P(y|x) = expleft(sum_{i=1}^nw_if_i(x,y) +w_0 - 1
ight) = dfrac{exp(sum_{i=1}^nw_if_i(x,y))}{exp(1-w_0)}
]
由于$$sum_yP(y|x)=1$$有
[exp(1-w_0) = sum_yexpleft(sum_{i=1}^nw_if_i(x,y)
ight)
]
即$$egin{align}
P_w(y|x) &= dfrac{1}{Z_w(x)}expleft(sum_{i=1}^nw_if_i(x,y)
ight)
mbox{where } Z_w(x) &= sum_yexpleft(sum_{i=1}^nw_if_i(x,y)
ight)
end{align}$$
看到这个形式的模型是不是突然就有一种似曾相识的感觉?对的,除了LR、ME以外,CRF也是这种形式的。这种模型有一个统一的的名称,对数线性模型。