Logistic模型、最大熵模型与softmax模型

logistics与最大熵思维导图.png

0 前言

很久以前推了一遍公式,但是在后面看到RNN预测语言模型使用softmax的时候仍然是一脸懵,所以现在重头整理了一下,发现有不一样的理解。


1. 概况

这个模型主要是应用于多分类的问题,传说二分类的利器——logistics模型其实是最大熵模型的一种特殊情况。在这里为了直观,首先给出logistics模型和最大熵模型的使用方法。

1.1 数据集的形式

数据集 T = { ( x 1 , y 1 ) , . . . , ( x n , y N ) } T=\{(\boldsymbol{x_1},y_1),...,(\boldsymbol{x_n},y_N)\} T={(x1,y1),...,(xn,yN)} x i \boldsymbol{x_i} xi是一个 m m m维的向量,代表样本空间中的第 i i i个值。

1.2 logistics模型

1.2.1 二分类的logistics模型

首先,logistics模型在分类任务中,主要应用于二分类,假设离散型变量 Y Y Y分类编号为{1, 0},则这个模型长这个B样:
P ( y i = 1 ∣ x i ) = exp ⁡ ( w ⋅ x i ) 1 + exp ⁡ ( w ⋅ x i ) P ( y i = − 1 ∣ x i ) = 1 1 + exp ⁡ ( w ⋅ x i ) (1.1) \begin{aligned} P(y_i=1|\boldsymbol{x_i})=\frac{\exp(\boldsymbol{w}·\boldsymbol{x_i})} {1+\exp(\boldsymbol{w}·\boldsymbol{x_i})}\\ P(y_i=-1|\boldsymbol{x_i})=\frac{1} {1+\exp(\boldsymbol{w}·\boldsymbol{x_i})}\\ \tag{1.1} \end{aligned} P(yi=1xi)=1+exp(wxi)exp(wxi)P(yi=1xi)=1+exp(wxi)1(1.1)

1.2.2 多分类的logistics模型

假设离散型变量 Y Y Y分类编号为{1, 2,… ,K},设 Y i = k Y_i=k Yi=k代表第 i i i个样本的分类结果为 k k k,那么:
P ( Y i = k ∣ x i ) = exp ⁡ ( w k ⋅ x i ) 1 + ∑ k = 1 K − 1 exp ⁡ ( w k ⋅ x i ) ,   k = 1 , 2 , 3... , K − 1 P ( Y i = K ∣ x i ) = 1 1 + ∑ k = 1 K − 1 exp ⁡ ( w k ⋅ x i ) (1.2) \begin{aligned} P(Y_i=k|\boldsymbol{x_i})=&\frac{\exp(\boldsymbol{w_k}·\boldsymbol{x_i})}{1+\sum_{k=1}^{K-1}\exp(\boldsymbol{w_k}·\boldsymbol{x_i})},\ k=1,2,3...,K-1\\ P(Y_i=K|\boldsymbol{x_i})=&\frac{1}{1+\sum_{k=1}^{K-1}\exp(\boldsymbol{w_k}·\boldsymbol{x_i})} \tag{1.2} \end{aligned} P(Yi=kxi)=P(Yi=Kxi)=1+k=1K1exp(wkxi)exp(wkxi), k=1,2,3...,K11+k=1K1exp(wkxi)1(1.2)
上式中:

  • Y i Y_i Yi代表第 i i i个样本的标签值;
  • x i \boldsymbol{x_i} xi代表第 i i i个样本的特征值,是一个 m m m维的向量;
  • k k k代表第 k k k个类别;
  • w k \boldsymbol{w_k} wk代表第 k k k个类别对应的参数,是一个 m m m维的向量;
    表示第 i i i个样本属于第 k k k类的概率。

1.3 softmax模型

P ( y i = k ∣ x i ) = exp ⁡ ( w k ⋅ x i ) ∑ k = 1 K exp ⁡ ( w k ⋅ x i ) , k = 1 , 2 , 3... , K ; (1.3) \begin{aligned} P(y_i=k|\boldsymbol{x_i})=\frac{\exp(\boldsymbol{w_k}·\boldsymbol{x_i})} {\sum_{k=1}^{K}\exp(\boldsymbol{w_k}·\boldsymbol{x_i})}, k=1,2,3...,K; \tag{1.3} \end{aligned} P(yi=kxi)=k=1Kexp(wkxi)exp(wkxi),k=1,2,3...,K;(1.3)
上式中:

  • Y i Y_i Yi代表第 i i i个样本的标签值;
  • x i \boldsymbol{x_i} xi代表第 i i i个样本的特征值,是一个 m m m维的向量;
  • k k k代表第 k k k个类别;
  • w k \boldsymbol{w_k} wk代表第 k k k个类别对应的参数,是一个 m m m维的向量;

表示第 i i i个样本属于第 k k k类的概率。

1.4 最大熵模型

最大熵模型主要应用于二分类或者多分类首先这个模型长这个B样:
P ( y = k ∣ x ) = exp ⁡ ( w i ⋅ f i ( x , y ) ) ∑ y exp ⁡ ( ∑ i = 1 n w i ⋅ f i ( x , y ) ) , i = 1 , 2 , 3... , n (1.4) \begin{aligned} P(y=k|\boldsymbol{x})=\frac{\exp({w_i}·f_i(\boldsymbol{x},y))} {\sum_y \exp(\sum_{i=1}^{n}{w_i}·f_i(\boldsymbol{x},y))}, i=1,2,3...,n \tag{1.4} \end{aligned} P(y=kx)=yexp(i=1nwifi(x,y))exp(wifi(x,y)),i=1,2,3...,n(1.4)
在上式中:

  • f ( x ) f(x) f(x)是一个特征函数:
    特征f是指x与y之间存在的某种特定的关系
    “如果 x , y x,y x,y满足某种条件”,这句话一开始让我摸不着头脑,后来才明白,可以把它看成, x , y x,y x,y这种组合若出现在样本空间中,则为1,否则为0。它们的个数为 n n n个(样本的个数)。

举个栗子:当体温小于38,血压小于100,血糖小于30时,总是得小病。这就是一个综合后的先验知识。
我们可以据此定义一个特征函数:f(x,y) = 1 当且仅当 x ={体温小于38,血压小于100,血糖小于30},y=小病

  • w i w_i wi是特征的权值。

2. 最大熵模型的推导

想要弄清楚最大熵模型、logistics模型以及softmax模型之间的关系,我们需要先看看他们各自的原理。首先从最大熵模型入手。

2.1 最大熵原理

学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。通常通过约束条件来确定概率模型的集合。

首先要明确两个问题:

  • 熵最大有什么意义吗?
    我们之前提过信息熵表示不确定程度,所以熵最大,也就是系统的不确定程度最大,系统中没有任何个人的主观假设。
  • 最大熵是什么?
    当你要猜一个概率分布时,如果你对这个分布一无所知,那就猜熵最大的均匀分布,如果你对这个分布知道一些情况,那么,就猜满足这些情况的熵最大的分布。

下面两个网址是描述的比较清楚的:

2.2 理论推导

2.2.1 数据准备

数据集 T = { ( x 1 , y 1 ) , . . . , ( x n , y N ) } T=\{(\boldsymbol{x_1},y_1),...,(\boldsymbol{x_n},y_N)\} T={(x1,y1),...,(xn,yN)} x i \boldsymbol{x_i} xi是一个 m m m维的向量,代表样本空间中的第 i i i个值,类标签为 y = { 1 , 2 , . . , k } y=\{1, 2,..,k\} y={1,2,..,k}

那么,根据样本空间中的 n n n条数据,可以计算 x x x概率分布以及 x , y \boldsymbol{x},y x,y联合概率分布,分别记为 P ~ ( x ) \widetilde{P}(\boldsymbol{x}) P (x) P ~ ( x , y ) \widetilde{P}(\boldsymbol{x},y) P (x,y)(因为是根据样本数据求出来的,并不能代表真实世界中的分布,所以上面加了波浪线)。

2.2.2 理论依据

2.2.2.1 目标

因为熵最大的模型是最好的模型,我们的任务就是找到这样一个最好的模型。但是,俗话说,最适合自己的才是最好的,所以,找最大熵就变成了找在给定样本空间条件下的最大熵模型——条件熵,根据条件熵的定义,条件熵为:(为什么请看这里:《决策树【python实现】》— 条件熵
H ( P ) = − ∑ x , y P ( x , y ) l o g P ( y ∣ x ) H(P) = -\sum_{x,y} P(x,y)logP(y|x) H(P)=x,yP(x,y)logP(yx)
根据贝叶斯公式,又可以写成
H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) (2.1) H(P) = -\sum_{x,y} \widetilde{P}(x)P(y|x)logP(y|x) \tag{2.1} H(P)=x,yP (x)P(yx)logP(yx)(2.1)

这个时候,我们只要找到最大的 P ( y ∣ x ) P(y|x) P(yx)就好了。

2.2.2.1 条件

公式(2.1)中条件概率的意义是:根据特征 x \boldsymbol{x} x计算出属于 y y y的概率能够最大化, y y y的编号为 k k k。也就是说,我们的目标是求 P ( y i = k ∣ x i ) P(y_i=k|\boldsymbol{x_i}) P(yi=kxi),简写为 P ( y ∣ x ) P(y|\boldsymbol{x}) P(yx)

但是,仅仅一个样本上表现出良好的性能还不够,要在整个空间上都表现良好。根据我们手上的筹码:样本数据,再借助之前提到的特征函数,我们可以很好的量化这个评价指标,于是有就有了下面两个期望的计算公式:

  1. 特征函数 f ( x , y ) f(\boldsymbol{x},y) f(x,y)关于 P ~ ( x , y ) \widetilde{P}(\boldsymbol{x},y) P (x,y)的期望值为:
    E P ~ ( f ) = ∑ x , y P ~ ( x , y ) f ( x , y ) (2.2) E_{\widetilde{P}}(f)=\sum_{\boldsymbol{x},y} \widetilde{P}(\boldsymbol{x},y)f(\boldsymbol{x},y) \tag{2.2} EP (f)=x,yP (x,y)f(x,y)(2.2)
  2. 由于我们的目标是求 P ( y ∣ x ) P(y|\boldsymbol{x}) P(yx),那么,借助贝叶斯公式,我们可以得出第二个期望的计算公式:
    E P ( f ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) (2.3) E_{P}(f)=\sum_{\boldsymbol{x},y} \widetilde{P}(\boldsymbol{x})P(y|\boldsymbol{x})f(\boldsymbol{x},y) \tag{2.3} EP(f)=x,yP (x)P(yx)f(x,y)(2.3)

如果,在样本空间中,这俩公式能相等的话,就十分完美了,于是有:
∑ x , y P ~ ( x , y ) f ( x , y ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) (2.4) \sum_{\boldsymbol{x},y} \widetilde{P}(\boldsymbol{x},y)f(\boldsymbol{x},y)=\sum_{\boldsymbol{x},y} \widetilde{P}(\boldsymbol{x})P(y|\boldsymbol{x})f(\boldsymbol{x},y) \tag{2.4} x,yP (x,y)f(x,y)=x,yP (x)P(yx)f(x,y)(2.4)

根据 f ( x , y ) f(\boldsymbol{x},y) f(x,y)的定义可知,有多少种特征和类标签前的组合,就有多少个**约束条件。那么,把样本空间中的所有约束条件都算上,

那么,也就是说,我们要在这个空间中找一个没有任何主观假设的模型,即条件概率的最大熵。

2.3 具体化最大熵模型目标函数

说实话,上面的式子,很抽象,需要转化一下。

2.3.1 把求max的问题转化成求min的问题。

max ⁡ p ∈ C   H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) \underset{p \in C}{\max}\ H(P) = -\sum_{\boldsymbol{x},y} \widetilde{P}(\boldsymbol{x})P(y|\boldsymbol{x})logP(y|\boldsymbol{x}) pCmax H(P)=x,yP (x)P(yx)logP(yx)
等价于求
min ⁡ p ∈ C   − H ( P ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) (2.5) \underset{p \in C}{\min}\ -H(P) = \sum_{\boldsymbol{x},y} \widetilde{P}(\boldsymbol{x})P(y|\boldsymbol{x})logP(y|\boldsymbol{x})\tag{2.5} pCmin H(P)=x,yP (x)P(yx)logP(yx)(2.5)
引入拉格朗日算子 w 1 , w 2 , . . . , w n w_1,w_2,...,w_n w1,w2,...,wn,可得到方程:
L ( P , w ) = − H ( P ) + w 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n [ w i ( E P ( f i ( x , y ) ) − E P ~ ( f i ( x , y ) ) ) ] (2.6) \begin{aligned} L(P, w) &= -H(P) + w_0(1-\sum_{y}P(y|\boldsymbol{x})) + \sum_{i=1}^{n}[w_i (E_P(f_i(\boldsymbol{x},y))-E_{ \widetilde{P}}(f_i(\boldsymbol{x},y)))] \tag{2.6}\\ \end{aligned} L(P,w)=H(P)+w0(1yP(yx))+i=1n[wi(EP(fi(x,y))EP (fi(x,y)))](2.6)
= ∑ x , y P ~ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) + w 0 [ 1 − ∑ y P ( y ∣ x ) ] + ∑ 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 ) ] } (2.7) \begin{aligned} &= \sum_{\boldsymbol{x},y} \widetilde{P}(\boldsymbol{x})P(y|\boldsymbol{x})logP(y|\boldsymbol{x})+ \\&w_0[1-\sum_{y}P(y|\boldsymbol{x})]+ \\&\sum_{i=1}^{n} \{ w_i [\sum_{\boldsymbol{x},y }P(\boldsymbol{x},y)f_i(\boldsymbol{x},y) - \sum_{\boldsymbol{x},y }\widetilde{P}(\boldsymbol{x})P(y|\boldsymbol{x})f_i(\boldsymbol{x},y)] \}\tag{2.7} \end{aligned} =x,yP (x)P(yx)logP(yx)+w0[1yP(yx)]+i=1n{wi[x,yP(x,y)fi(x,y)x,yP (x)P(yx)fi(x,y)]}(2.7)

2.3.2 转化为对偶问题

最优化问题可知,我们的目标是求:
min ⁡ p ∈ C   max ⁡ w   L ( P , w ) (2.8-1) \begin{aligned} \underset{p \in C}{\min}\ \underset{w}{\max}\ L(P,w)\tag{2.8-1} \end{aligned} pCmin wmax L(P,w)(2.8-1)
可转化为:
max ⁡ w   min ⁡ p ∈ C   L ( P , w ) (2.8-2) \begin{aligned} \underset{w}{\max}\ \underset{p \in C}{\min}\ L(P,w)\tag{2.8-2} \end{aligned} wmax pCmin L(P,w)(2.8-2)

基本思想是:先把 min ⁡ p ∈ C   L ( P , w ) \underset{p \in C}{\min}\ L(P,w) pCmin L(P,w)的解用 w w w表示出来,然后再求 w w w的解即可。

2.3.2.1 第一步

先求 min ⁡ p ∈ C   L ( P , w ) \underset{p \in C}{\min}\ L(P,w) pCmin L(P,w)

L ( P , w ) L(P,w) L(P,w)满足约束条件时,令
ψ ( w ) = min ⁡ p ∈ C   L ( P , w ) = L ( P w , w ) (2.9) \psi(w) = \underset{p \in C}{\min}\ L(P,w) = L(P_w,w) \tag{2.9} ψ(w)=pCmin L(P,w)=L(Pw,w)(2.9)
ψ ( w ) \psi(w) ψ(w)的解为 P w ( y ∣ x ) P_w(y|x) Pw(yx),求 L ( P , w ) L(P,w) L(P,w) P ( y ∣ x ) P(y|x) P(yx)的偏导数,并令其为0:
∂ L ( P , w ) ∂ p ( y ∣ x ) = ∑ x , y { P ~ ( x ) l o g P ( y ∣ x ) + P ~ ( x ) } − ∑ y w 0 + ∑ i = 1 n { w i [ 0 − ∑ x , y P ~ ( x ) f i ( x , y ) ] } \begin{aligned} \frac{\partial {L(P, w)}}{\partial{p(y|x)}} &= \sum_{x,y} \{ \widetilde{P}(x)logP(y|x) + \widetilde{P}(x)\} - \sum_{y}w_0 + \sum_{i=1}^{n} \{ w_i [0 - \sum_{x,y }\widetilde{P}(x)f_i(x,y) ] \} \\ \end{aligned} p(yx)L(P,w)=x,y{P (x)logP(yx)+P (x)}yw0+i=1n{wi[0x,yP (x)fi(x,y)]}
因为: ∑ x P ~ ( x ) = 1 \sum_{x}\widetilde{P}(x)=1 xP (x)=1,所以有:
∑ x , y P ~ ( x ) w 0 = ∑ y w 0 \sum_{x,y}\widetilde{P}(x)w_0 = \sum_{y}w_0 x,yP (x)w0=yw0
所以有:
∂ L ( P , w ) ∂ p ( y ∣ x ) = ∑ x , y P ~ ( x ) ( l o g P ( y ∣ x ) + 1 ) − ∑ x , y P ~ ( x ) w 0 − ∑ i = 1 n { w i ∑ x , y P ~ ( x ) f i ( x , y ) } = ∑ x , y P ~ ( x ) ( l o g P ( y ∣ x ) + 1 ) − ∑ x , y P ~ ( x ) w 0 − ∑ i = 1 n { w i ∑ x , y P ~ ( x ) f i ( x , y ) } = ∑ x , y P ~ ( x ) { ( l o g P ( y ∣ x ) + 1 ) − w 0 − ∑ i = 1 n w i f i ( x , y ) } (2.10) \begin{aligned} \frac{\partial {L(P, w)}}{\partial{p(y|x)}} &= \sum_{x,y}\widetilde{P}(x) ( logP(y|x) + 1) - \sum_{x,y}\widetilde{P}(x)w_0 - \sum_{i=1}^{n} \{ w_i \sum_{x,y }\widetilde{P}(x)f_i(x,y) \} \\ &= \sum_{x,y}\widetilde{P}(x) ( logP(y|x) + 1) - \sum_{x,y}\widetilde{P}(x)w_0 - \sum_{i=1}^{n} \{ w_i \sum_{x,y }\widetilde{P}(x)f_i(x,y) \} \\ &= \sum_{x,y}\widetilde{P}(x) \{( logP(y|x) + 1) - w_0 - \sum_{i=1}^{n} w_i f_i(x,y) \}\tag{2.10} \end{aligned} p(yx)L(P,w)=x,yP (x)(logP(yx)+1)x,yP (x)w0i=1n{wix,yP (x)fi(x,y)}=x,yP (x)(logP(yx)+1)x,yP (x)w0i=1n{wix,yP (x)fi(x,y)}=x,yP (x){(logP(yx)+1)w0i=1nwifi(x,y)}(2.10)
令式(2.10)为 0 0 0,则有:
0 = ∑ x , y P ~ ( x ) { ( l o g P ( y ∣ x ) + 1 ) − w 0 − ∑ i = 1 n w i f i ( x , y ) } p ( y ∣ x ) = exp ⁡ ( w 0 + ∑ i = 1 n w i f i ( x , y ) − 1 ) p ( y ∣ x ) = exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) exp ⁡ ( 1 − w 0 ) (2.11) \begin{aligned} 0 =& \sum_{x,y}\widetilde{P}(x) \{( logP(y|x) + 1) - w_0 - \sum_{i=1}^{n} w_i f_i(x,y)\} \\ p(y|x) =& \exp ( w_0 + \sum_{i=1}^{n} w_i f_i(x,y)-1 ) \\ p(y|x) =& \frac{\exp (\sum_{i=1}^{n} w_i f_i(x,y))} {\exp(1-w_0)} \tag{2.11} \end{aligned} 0=p(yx)=p(yx)=x,yP (x){(logP(yx)+1)w0i=1nwifi(x,y)}exp(w0+i=1nwifi(x,y)1)exp(1w0)exp(i=1nwifi(x,y))(2.11)
又因 ∑ y p ( y ∣ x ) = 1 \sum_{y}p(y|x)=1 yp(yx)=1,代入公式(2.11),则有:
1 = ∑ y exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) exp ⁡ ( 1 − w 0 ) exp ⁡ ( 1 − w 0 ) = ∑ y exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) (2.12) \begin{aligned} 1 =& \sum_{y} \frac{\exp(\sum_{i=1}^{n} w_i f_i(x,y))} {\exp (1-w_0) } \\ \exp(1-w_0) =& \sum_{y} \exp (\sum_{i=1}^{n} w_i f_i(x,y)) \tag{2.12} \end{aligned} 1=exp(1w0)=yexp(1w0)exp(i=1nwifi(x,y))yexp(i=1nwifi(x,y))(2.12)
令(2.12)为 Z w ( x ) Z_w(x) Zw(x),代入(2.11),结果记为 p w ( y ∣ x ) p_w(y|x) pw(yx),则有
p w ( y ∣ x ) = exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) ∑ y exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) (2.13) \begin{aligned} p_w(y|x) =& \frac{\exp (\sum_{i=1}^{n} w_i f_i(x,y))} {\sum_{y} \exp (\sum_{i=1}^{n} w_i f_i(x,y))} \tag{2.13} \end{aligned} pw(yx)=yexp(i=1nwifi(x,y))exp(i=1nwifi(x,y))(2.13)
因此,优化目标 ψ ( x ) \psi(x) ψ(x)的解为公式(2.13),其中 Z w ( x ) Z_w(x) Zw(x)被称为规范化因子

2.3.2.2 第二步

再使(2.13)极大化,求 w w w
即求
max ⁡ w   ψ ( w ) (2.14) \begin{aligned} \underset{w}{\max}\ \psi(w) \tag{2.14} \end{aligned} wmax ψ(w)(2.14)

由于(2.13)式并没有一个显式的解析解,因此需要借助于数值的方法。由于是一个光滑的凸函数,所以可以求解的方法很多。可以使用的方法有:

  1. 通用迭代尺度法(GIS: Generalized Iterative Scaling)。
  2. 改进的迭代尺度法(IIS: Improved Iterative Scaling)。
  3. 梯度下降算法
  4. 拟牛顿法(牛顿法)

其中,前两个方法是专门为最大熵模型而设计的,后两种方法为通用的算法。

其实到这里,最大熵模型的理论推导就算结束了。

2.4 最大熵模型的似然估计

在公式(2.14)中,因为 p w ( y ∣ x ) p_w(y|x) pw(yx)是在 ∑ y p ( y ∣ x ) = 1 \sum_y p(y|x)=1 yp(yx)=1的条件下得出,故而有:
L ( P w , w ) = − H ( P w ) + ∑ i = 1 n [ w i ( E P ~ ( f i ( x , y ) ) − E P w ( f i ( x , y ) ) ) ] = ∑ x , y P ~ ( x ) P w ( y ∣ x ) l o g P w ( y ∣ x ) + ∑ i = 1 n w i ( E P ~ ( f i ( x , y ) ) − ∑ x , y P ~ ( x ) ⋅ P w ( y ∣ x ) ⋅ f i ( x , y ) ) = ∑ i = 1 n w i ⋅ E P ~ ( f i ( x , y ) ) + ∑ x , y P ~ ( x ) P w ( y ∣ x ) ⋅ ( l o g P w ( y ∣ x ) − ∑ i = 1 n w i f i ( x , y ) ) (2.15) \begin{aligned} L(P_w, w) &= -H(P_w) + \sum_{i=1}^{n} [w_i (E_{\widetilde{P}} (f_i(x,y)) - E_{P_w}(f_i(x,y)))] \\ &=\sum_{x,y} \widetilde{P}(x) P_w(y|x) log P_w(y|x) + \sum_{i=1}^{n} w_i (E_{\widetilde{P}} (f_i(x,y)) - \sum_{x,y}\widetilde{P}(x)·P_w(y|x)·f_i(x,y)) \\ &= \sum_{i=1}^{n}w_i ·E_{\widetilde{P}}(f_i(x,y)) + \sum_{x,y} \widetilde{P}(x) P_w(y|x)·(log P_w(y|x) - \sum_{i=1}^{n} w_if_i(x,y)) \tag{2.15} \end{aligned} L(Pw,w)=H(Pw)+i=1n[wi(EP (fi(x,y))EPw(fi(x,y)))]=x,yP (x)Pw(yx)logPw(yx)+i=1nwi(EP (fi(x,y))x,yP (x)Pw(yx)fi(x,y))=i=1nwiEP (fi(x,y))+x,yP (x)Pw(yx)(logPw(yx)i=1nwifi(x,y))(2.15)


P w ( y ∣ x ) = e x p ( ∑ i = 1 n w i f i ( x , y ) ) ∑ y e x p ( ∑ i = 1 n w i f i ( x , y ) ) (2.13) \begin{aligned} P_w(y|x) =& \frac{exp (\sum_{i=1}^{n} w_i f_i(x,y))} {\sum_{y} exp (\sum_{i=1}^{n} w_i f_i(x,y))}\tag{2.13} \end{aligned} Pw(yx)=yexp(i=1nwifi(x,y))exp(i=1nwifi(x,y))(2.13)
代入公式(2.15),得
L ( P w , w ) = ∑ i = 1 n w i ⋅ E P ~ ( f i ( x , y ) ) + ∑ x , y P ~ ( x ) P w ( y ∣ x ) ⋅ ( ∑ i = 1 n w i f i ( x , y ) − l o g P w ( x ) − ∑ i = 1 n w i f i ( x , y ) ) = ∑ i = 1 n w i ⋅ E P ~ ( f i ( x , y ) ) − l o g Z w ( x ) ⋅ ∑ x , y P ~ ( x ) P w ( y ∣ x ) = ∑ i = 1 n w i ⋅ E P ~ ( f i ( x , y ) ) − l o g Z w ( x ) ⋅ ( ∑ x ∑ y P ~ ( x ) P w ( y ∣ x ) ) = ∑ i = 1 n w i ⋅ E P ~ ( f i ( x , y ) ) − l o g Z w ( x ) ⋅ ( ∑ x P ~ ( x ) ) = ∑ i = 1 n w i ⋅ ∑ x , y P ~ ( x , y ) f i ( x , y ) − l o g Z w ( x ) ⋅ ( ∑ x P ~ ( x ) ) (2.17) \begin{aligned} L(P_w, w) &= \sum_{i=1}^{n}w_i ·E_{\widetilde{P}}(f_i(x,y)) + \sum_{x,y} \widetilde{P}(x) P_w(y|x)·(\sum_{i=1}^{n} w_i f_i(x,y)-logP_w(x) - \sum_{i=1}^{n} w_if_i(x,y)) \\ &= \sum_{i=1}^{n}w_i ·E_{\widetilde{P}}(f_i(x,y)) - logZ_w(x) · \sum_{x,y} \widetilde{P}(x) P_w(y|x)\\ &=\sum_{i=1}^{n}w_i ·E_{\widetilde{P}}(f_i(x,y)) - logZ_w(x) ·( \sum_{x}\sum_{y} \widetilde{P}(x) P_w(y|x)) \\ &=\sum_{i=1}^{n}w_i ·E_{\widetilde{P}}(f_i(x,y)) - logZ_w(x) ·( \sum_{x}\widetilde{P}(x))\\ &=\sum_{i=1}^{n}w_i ·\sum_{x,y} \widetilde{P}(x,y)f_i(x,y) - logZ_w(x) ·( \sum_{x}\widetilde{P}(x))\tag{2.17} \end{aligned} L(Pw,w)=i=1nwiEP (fi(x,y))+x,yP (x)Pw(yx)(i=1nwifi(x,y)logPw(x)i=1nwifi(x,y))=i=1nwiEP (fi(x,y))logZw(x)x,yP (x)Pw(yx)=i=1nwiEP (fi(x,y))logZw(x)(xyP (x)Pw(yx))=i=1nwiEP (fi(x,y))logZw(x)(xP (x))=i=1nwix,yP (x,y)fi(x,y)logZw(x)(xP (x))(2.17)
又因为最大熵模型的似然估计有:
L P ~ ( P w ) = ∑ x , y P ~ ( x , y ) l o g P ( y ∣ x ) = ∑ x , y P ~ ( x , y ) ⋅ ( ∑ i = 1 n w i f i ( x , y ) − l o g Z w ( x ) ) = ∑ x , y P ~ ( x , y ) ⋅ ∑ i = 1 n w i f i ( x , y ) − l o g Z w ( x ) ⋅ ∑ x , y P ~ ( x ) P w ( y ∣ x ) (2.18) \begin{aligned} L_{\widetilde{P}}(P_w) &= \sum_{x,y} \widetilde{P}(x,y)logP(y|x) \\ &=\sum_{x,y} \widetilde{P}(x,y)·(\sum_{i=1}^{n}w_i f_i(x,y)-logZ_w(x)) \\ &= \sum_{x,y} \widetilde{P}(x,y)·\sum_{i=1}^{n}w_i f_i(x,y) - logZ_w(x) · \sum_{x,y} \widetilde{P}(x) P_w(y|x) \tag{2.18} \end{aligned} LP (Pw)=x,yP (x,y)logP(yx)=x,yP (x,y)(i=1nwifi(x,y)logZw(x))=x,yP (x,y)i=1nwifi(x,y)logZw(x)x,yP (x)Pw(yx)(2.18)

所以公式(3.1)=(2.16)。故而,对偶函数的极大化 = 最大熵模型的似然估计。


3. 三个模型的关系

最大熵模型

p w ( y ∣ x ) = exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) ∑ y exp ⁡ ( ∑ i = 1 n w i f i ( x , y ) ) \begin{aligned} p_w(y|x) =& \frac{\exp (\sum_{i=1}^{n} w_i f_i(x,y))} {\sum_{y} \exp (\sum_{i=1}^{n} w_i f_i(x,y))} \end{aligned} pw(yx)=yexp(i=1nwifi(x,y))exp(i=1nwifi(x,y))

logistic 模型

当特征函数为:
f i ( x ) = { x i y = 1 0 y = 0 f_i(x)= \left\{\begin{matrix} x_i & y=1\\ 0 & y=0 \end{matrix}\right. fi(x)={xi0y=1y=0
当我们分类的数目为 { 0 , 1 } \{0, 1\} {0,1}时:
p w ( y i = 0 ∣ x i ) = 1 1 + exp ⁡ ( w x i ) \begin{aligned} p_w(y_i=0|x_i) =& \frac{1} {1+\exp (\boldsymbol{w x_i})} \end{aligned} pw(yi=0xi)=1+exp(wxi)1
p w ( y i = 1 ∣ x i ) = exp ⁡ ( w x i ) 1 + exp ⁡ ( w x i ) \begin{aligned} p_w(y_i=1|x_i) =& \frac{\exp (\boldsymbol{w x_i})} {1+\exp (\boldsymbol{w x_i})} \end{aligned} pw(yi=1xi)=1+exp(wxi)exp(wxi)

softmax 模型

当特征函数为:
f i ( x ) = x i f_i(x)=x_i fi(x)=xi
p w ( y i = k ∣ x i ) = exp ⁡ ( w k x i ) ∑ k = 1 K exp ⁡ ( w k x i ) \begin{aligned} p_w(y_i=k|x_i) =& \frac{\exp (\boldsymbol{w_k x_i})} {\sum_{k=1}^{K} \exp (\boldsymbol{w_k x_i})} \end{aligned} pw(yi=kxi)=k=1Kexp(wkxi)exp(wkxi)


4. logistic 模型

logistics模型

4.1 使用背景

主要是分类问题,即 x ∈ R x \in R xR是样本的特征,而 y ∈ { 0 , 1 } y \in \{0, 1\} y{0,1}是类别的标号,那么样本属于某个类别的概率可以用 x x x来直接表示。通俗的来说,就是线性模型外面穿了一层马夹

4.2 logistics模型构建

Logistics模型的基本思想也是线性回归,其公式为:
P ( y i = 1 ∣ x i ) = exp ⁡ ( w ⋅ x i ) 1 + exp ⁡ ( w ⋅ x i ) (4.1) \begin{aligned} P(y_i=1|\boldsymbol{x_i})=\frac{\exp(w·\boldsymbol{x_i})} {1+\exp(w·\boldsymbol{x_i})} \tag{4.1} \end{aligned} P(yi=1xi)=1+exp(wxi)exp(wxi)(4.1)
公式(4.1)被称为sigmoid函数,

同样的,由公式(4.1)可以推导出:
P ( y i = 1 ∣ x i ) 1 − P ( y i = 1 ∣ x i ) = e w ⋅ x i (4.2) \begin{aligned} \frac{P(y_i=1|\boldsymbol{x_i})}{1-P(y_i=1|\boldsymbol{x_i})}=e^{w·\boldsymbol{x_i}} \tag{4.2} \end{aligned} 1P(yi=1xi)P(yi=1xi)=ewxi(4.2)
称公式(1.2)为几率,表示某种事情发生的可能性与不可能发生的可能性之比。,取自然对数则有:
ln ⁡ ( P ( y i = 1 ∣ x i ) 1 − P ( y i = 1 ∣ x i ) ) = w ⋅ x i (4.3) \ln(\frac{P(y_i=1|\boldsymbol{x_i})}{1-P(y_i=1|\boldsymbol{x_i})})=w·\boldsymbol{x_i} \tag{4.3} ln(1P(yi=1xi)P(yi=1xi))=wxi(4.3)
其中, ln ⁡ ( P ( y i = 1 ∣ x i ) 1 − P ( y i = 1 ∣ x i ) ) \ln(\frac{P(y_i=1|\boldsymbol{x_i})}{1-P(y_i=1|\boldsymbol{x_i})}) ln(1P(yi=1xi)P(yi=1xi))称为 P ( y ∣ x ) P(y|\boldsymbol{x}) P(yx)的 logit 函数。该模型称为 logistics模型其中 w w w反映了 x x x增加一个单位时,样本属于 y = 1 y=1 y=1类的几率在对数尺度上增加的幅度。

4.3 极大似然估计参数

P ( y i = 1 ∣ x i ) = π ( x i ) , P ( y i = 0 ∣ x i ) = 1 − π ( x i ) P(y_i=1|\boldsymbol{x_i})=\pi(\boldsymbol{x_i}),P(y_i=0|\boldsymbol{x_i})=1-\pi(\boldsymbol{x_i}) P(yi=1xi)=π(xi)P(yi=0xi)=1π(xi),则每个样本 ( x i , y i ) (\boldsymbol{x_i}, y_i) (xi,yi)出现的概率为:
P ( x i , y i ) = π ( x i ) y i ( 1 − π ( x i ) ) 1 − y i P(\boldsymbol{x_i}, y_i)=\pi(\boldsymbol{x_i})^{y_i}(1-\pi(\boldsymbol{x_i}))^{1-y_i} P(xi,yi)=π(xi)yi(1π(xi))1yi

似然函数为:
L ( w ) = ∏ i = 1 N [ π ( x i ) ] y i [ 1 − π ( x i ) ] 1 − y i log ⁡ L ( w ) = ∑ i = 1 N [ y i ( w ⋅ x i ) − log ⁡ ( 1 + exp ⁡ ( w ⋅ x i ) ) ] (4.4) \begin{aligned} L(w) =&\prod_{i=1}^{N}[\pi(\boldsymbol{x_i})]^{y_i}[1-\pi(\boldsymbol{x_i})]^{1-y_i} \\ \log L(w) =&\sum_{i=1}^{N}[y_i({w}·\boldsymbol{x_i}) - \log(1+\exp({w}·\boldsymbol{x_i}))] \tag{4.4} \end{aligned} L(w)=logL(w)=i=1N[π(xi)]yi[1π(xi)]1yii=1N[yi(wxi)log(1+exp(wxi))](4.4)
目标是找到 w w w使得 L ( w ) L(w) L(w)达到最大值,让公式(1.4)对 w w w求导得:
∂ log ⁡ L ( w ) ∂ w = ∑ i = 1 N [ y i x i − 1 1 + exp ⁡ ( w ⋅ x i ) exp ⁡ ( w ⋅ x i ) ⋅ x i ] ∂ log ⁡ L ( w ) ∂ w = ∑ i = 1 N x i [ y i − P ( y i ∣ x i ) ] (4.5) \begin{aligned} \frac{\partial{\log L(w)}}{\partial{w}} =&\sum_{i=1}^{N}[y_i\boldsymbol{x_i} - \frac{1}{1+\exp({w}·\boldsymbol{x_i})}\exp({w}·\boldsymbol{x_i})·\boldsymbol{x_i}]\\ \frac{\partial{\log L(w)}}{\partial{w}} =&\sum_{i=1}^{N}\boldsymbol{x_i}[y_i - P(y_i|\boldsymbol{x_i})]\\ \tag{4.5} \end{aligned} wlogL(w)=wlogL(w)=i=1N[yixi1+exp(wxi)1exp(wxi)xi]i=1Nxi[yiP(yixi)](4.5)

令(1.5)为0,求出 w w w即可,但该方程组无法求解析解,一般使用梯度上升迭代求得。


5. softmax 模型

当特征函数为:
f i ( x ) = x i f_i(x)=x_i fi(x)=xi
p w ( y i = k ∣ x i ) = exp ⁡ ( w k x i ) ∑ k = 1 K exp ⁡ ( w k x i ) \begin{aligned} p_w(y_i=k|x_i) =& \frac{\exp (\boldsymbol{w_k x_i})} {\sum_{k=1}^{K} \exp (\boldsymbol{w_k x_i})} \end{aligned} pw(yi=kxi)=k=1Kexp(wkxi)exp(wkxi)
一个多分类问题,C = 4。线性分类器模型最后输出层包含了四个输出值,分别是:
V = [ − 3 2 − 1 0 ] V=\left[ \begin{matrix} -3 \\ 2 \\ -1 \\ 0 \end{matrix} \right] V=3210
经过Softmax处理后,数值转化为相对概率:
S = [ 0.0057 0.8390 0.0418 0.1135 ] S=\left[ \begin{matrix} 0.0057 \\ 0.8390 \\ 0.0418 \\ 0.1135 \end{matrix} \right] S=0.00570.83900.04180.1135
很明显,Softmax 的输出表征了不同类别之间的相对概率。我们可以清晰地看出,S1 = 0.8390,对应的概率最大,则更清晰地可以判断预测为第1类的可能性更大。Softmax 将连续数值转化成相对概率,更有利于我们理解。

5.1 一个直观的例子

在这里插入图片描述
softmax函数最明显的特点在于:它把每个神经元的输入占当前层所有神经元输入之和的比值,当作该神经元的输出。这使得输出更容易被解释:神经元的输出值越大,则该神经元对应的类别是真实类别的可能性更高。
另外,softmax不仅把神经元输出构造成概率分布,而且还起到了归一化的作用,适用于很多需要进行归一化处理的分类问题。

5.2 softmax相关求导

以下内容来自:softmax的log似然代价函数(公式求导)
在这里插入图片描述
在这里插入图片描述


6. 参考文献

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值