第六节:逻辑斯蒂回归& 最大熵模型的血缘关系
学习概率模型时,在所有可能的,满足约束条件的模型中,熵最大的模型最好。
概率分布 P 的熵 = H ( P ) = − ∑ x P ( x ) l o g P ( x ) =H(P)=-\displaystyle \sum_xP(x)logP(x) =H(P)=−x∑P(x)logP(x)
熵满足这个不等式: 0 ≤ H ( P ) ≤ l o g ∣ X ∣ 0\leq H(P)\leq log|X| 0≤H(P)≤log∣X∣. ∣ X ∣ |X| ∣X∣ 代表随机变量 X 所有可能的取值的个数。当且仅当 X 是均匀分布的时候,右边的等号成立,此时熵最大。直观地讲,最大熵原理认为要选择的概率模型首先必须要满足已有的事实,即约束条件。在没有更多信息的情况下,那些不确定的部分都是 “等可能” 的。“等可能” 不容易操作,而熵则是一个可优化的数值。于是最大熵原理通过熵的最大化来表示 “等可能性”。
训练数据集 T = { ( x 1 ⃗ , y 1 ) , ( x 2 ⃗ , y 2 ) , . . . , } T=\{(\vec{x_1}, y_1),\ (\vec{x_2},y_2),\ ...,\ \} T={ (x1,y1), (x2,y2), ..., }
用特征函数 f ( x ⃗ , y ) f(\vec x,\ y) f(x, y) 描述 x ⃗ \vec x x 和 y y y 之间的某一事实:
f ( x ⃗ , y ) = { 1 i f x ⃗ & y 满 足 某 一 事 实 0 o t h e r w i s e f(\vec x,\ y)=\begin{cases} 1\quad if\ \vec x\ \&\ y\ 满足某一事实 \\ 0\quad otherwise\end{cases} f(x, y)={ 1if x & y 满足某一事实0otherwise
定义在训练数据集上的经验分布:
{ P ^ ( X ⃗ = x ⃗ , Y = y ) = C o u n t ( X ⃗ = x ⃗ , Y = y ) N ← 经 验 联 合 分 布 P ^ ( X ⃗ = x ⃗ ) = C o u n t ( X ⃗ = x ⃗ ) N ← 经 验 边 缘 分 布 \begin{cases} \hat{P}(\vec X=\vec x,\ Y=y)=\frac{Count(\vec X=\vec x,\ Y=y)}{N}\ \leftarrow\ \color{#8AD597}经验联合分布\\ \hat{P}(\vec X=\vec x)=\frac{Count(\vec X=\vec x)}{N}\ \leftarrow\ \color{#8AD597}经验边缘分布\end{cases} { P^(X=x, Y=y)=NCount(X=x, Y=y) ← 经验联合分布P^(X=x)=NCount(X=x) ← 经验边缘分布
假设分类模型是对条件概率分布 P ( Y ∣ X ⃗ ) P(Y\ |\ \vec X) P(Y ∣ X) 建模。
定义 { f ( x ⃗ , y ) 在 经 验 联 合 分 布 上 的 期 望 : E P ^ ( f ) = ∑ x ⃗ , y P ^ ( x ⃗ , y ) f ( x ⃗ , y ) f ( x ⃗ , y ) 关 于 模 型 P ( Y ∣ X ⃗ ) 与 经 验 边 缘 分 布 P ^ ( X ⃗ ) 的 期 望 : E P ( f ) = ∑ x ⃗ , y P ( y ∣ x ⃗ ) P ^ ( x ⃗ ) f ( x ⃗ , y ) \begin{cases} f(\vec x,\ y) 在经验联合分布上的期望:E_{\hat P}(f)=\displaystyle\sum_{\vec x,\ y}\hat P(\vec x,\ y)f(\vec x,\ y) \\ \\ f(\vec x,\ y) 关于模型P(Y\ |\ \vec X)与经验边缘分布\hat{P}(\vec X)的期望:E_{P}(f)=\displaystyle\sum_{\vec x,\ y}P(y\ |\ \vec x)\hat P(\vec x)f(\vec x,\ y) \end{cases} ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧f(x, y)在经验联合分布上的期望:EP^(f)=x, y∑P^(x, y)f(x, y)f(x, y)关于模型P(Y ∣ X)与经验边缘分布P^(X)的期望:EP(f)=x, y∑P(y ∣ x)P^(x)f(x, y)
约束条件: E P ^ ( f ) = E P ( f ) E_{\hat P}(f)=E_{P}(f) EP^(f)=EP(f) (这两个期望相等表明模型可以从数据集获得有关真实分布充足的信息)
如果有 n 个事实,那么将构造 n 个特征函数,就要有 n 个约束条件。
假设满足所有约束条件的集合为: C ≡ { P ∈ P ∣ E P ^ ( f i ) = E P ( f i ) , i = 1 , 2 , . . . , n } C\equiv\{P\in\ \mathcal{P}\ |\ E_{\hat P}(f_i)=E_{P}(f_i),\ \ i=1,2,...,n\} C≡{ P∈ P ∣ EP^(fi)=EP(fi), i=1,2,...,n}
定义在条件概率分布上的条件熵为: H ( P ) = − ∑ x ⃗ , y P ^ ( x ⃗ ) P ( y ∣ x ⃗ ) l o g P ( y ∣ x ⃗ ) H(P)=-\displaystyle \sum_{\vec x,\ y}\hat{P}(\vec x)P(y\ |\ \vec x)logP(y\ |\ \vec x) H(P)=−x, y∑P^(x)P(y ∣ x)logP(y ∣ x)
⇒ \Rightarrow ⇒ 最大熵模型就是模型集合 C C C 中 H ( P ) H(P) H(P) 最大的模型
最大熵模型的学习等价于约束最优化问题: m a x P ∈ C H ( P ) ⇔ m i n P ∈ C H ( P ) \underset{P\in C}{max}H(P)\ \Leftrightarrow\ \underset{P\in C}{min}H(P) P∈CmaxH(P) ⇔ P∈CminH(P)
约束: E P ^ ( f i ) = E P ( f i ) , i = 1 , 2 , . . . , n E_{\hat P}(f_i)=E_{P}(f_i),\ \ i=1,2,...,n EP^(fi)=EP(fi), i=1,2,...,n, ∑ y P ( y ∣ x ⃗ ) = 1 \displaystyle\sum_yP(y\ |\ \vec x)=1 y∑P(y ∣ x)=1
将约束最优化问题转化为无约束最优化的对偶问题
引入拉格朗日乘子 w 0 , w 1 , . . . , w n w_0,w_1,...,w_n w0,w1,...,wn,定义拉格朗日函数 L ( P , w ⃗ ) \mathcal{L}(P,\ \vec w) L(P, w) (听起来神秘兮兮的~ 别走,先往下看着)
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 ) ] \mathcal{L}(P,\ \vec w)\equiv -H(P)+w_0[1-\displaystyle\sum_{y}P(y\ |\ \vec x)]+\sum^n_{i=1}w_i[E_{\hat P}(f_i)-E_{P}(f_i)] L(P, w)≡−H(P)+w0[1−y∑P(y ∣ x)]+i=1∑nwi[EP^(fi)−EP(fi)]
= ∑ 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 ( y ∣ x ⃗ ) P ^ ( x ⃗ ) f i ( x ⃗ , y ) ] \quad\quad\quad\quad= \sum_{\vec x,\ y}\hat{P}(\vec x)P(y\ |\ \vec x)logP(y\ |\ \vec x)+w_0[1-\sum_{y}P(y\ |\ \vec x)]+\sum^n_{i=1}w_i\Big[\sum_{\vec x,\ y}\hat P(\vec x,\ y)f_i(\vec x,\ y)-\sum_{\vec x,\ y}P(y\ |\ \vec x)\hat P(\vec x)f_i(\vec x,\ y)\Big] =∑x, yP^(x)P(y ∣ x)logP(y ∣ x)+w0[1−∑yP(y ∣ x)]+∑i=1nwi[∑x, yP^(x, y)fi(x, y)−∑x, yP(y ∣ x)P^(x)fi(x, y)]
原始最优化问题: m i n P ∈ C m a x w ⃗ L ( P , w ⃗ ) \underset{P\in C}{min}\ \underset{\vec w}{max}\ \mathcal{L}(P,\ \vec w) P∈Cmin w