二项逻辑回归模型
定义 1.1 二项逻辑回归模型使如下的条件概率分布:
P(Y=1|x)=exp(ω⋅x+b)1+exp(ω⋅x+b)(1) (1) P ( Y = 1 | x ) = e x p ( ω ⋅ x + b ) 1 + e x p ( ω ⋅ x + b )
P(Y=0|x)=11+exp(ω⋅x+b)(2) (2) P ( Y = 0 | x ) = 1 1 + e x p ( ω ⋅ x + b )
这里,
x∈Rn x ∈ R n 是输入,
Y={0,1} Y = { 0 , 1 } 是输出,
ω∈Rn ω ∈ R n 和
b∈R b ∈ R 是参数。
ω ω 是权值向量,
b b 称为偏置,
ω⋅x ω ⋅ x 为
ω ω 和
x x 的内积。
记,
w=(w(1),w(2),...,w(n),b)T w = ( w ( 1 ) , w ( 2 ) , . . . , w ( n ) , b ) T ,
x=(x(1),x(2),...,x(n),1)T x = ( x ( 1 ) , x ( 2 ) , . . . , x ( n ) , 1 ) T ,这时,逻辑回归模型如下:
P(Y=1|x)=exp(w⋅x)1+exp(w⋅x)(3) (3) P ( Y = 1 | x ) = e x p ( w ⋅ x ) 1 + e x p ( w ⋅ x )
P(Y=0|x)=11+exp(w⋅x)(4) (4) P ( Y = 0 | x ) = 1 1 + e x p ( w ⋅ x )
线性回归与逻辑回归的联系
线性回归模型进行的是回归学习
逻辑回归模型进行的是分类
一个事件的几率是指该事件发生的概率与该事件不发生的概率的比值。如果事件发生的概率是 p p ,那么该事件的几率是\frac{p}{1-p},该事件的对数几率或logit函数是
logit(p)=logp1−p l o g i t ( p ) = log p 1 − p
则由式(3)和(4)可得
logP(Y=1|x)1−P(Y=1|x)=w⋅x l o g P ( Y = 1 | x ) 1 − P ( Y = 1 | x ) = w ⋅ x
说明,在逻辑回归模型中,输出
Y=1 Y = 1 的对数几率是输入
x x 的线性函数。
另一方面,考虑对输入
x x 进行分类的线性函数
w⋅x w ⋅ x ,其值域为实数域。注意,这里
x∈Rn+1 x ∈ R n + 1 ,
w∈Rn+1 w ∈ R n + 1 .通过逻辑回归模型定义式(3)可以将线性函数
w⋅x w ⋅ x 转换为概率
P(Y=1|x)=exp(w⋅x)1+exp(w⋅x) P ( Y = 1 | x ) = e x p ( w ⋅ x ) 1 + e x p ( w ⋅ x )
这时,线性函数的值越接近正无穷,概率值就越接近1;线性函数的值越接近负无穷,概率值就越接近0,这样的模型就是逻辑回归模型。
二元逻辑回归损失函数
设 P(Y=1|x)=π(x) P ( Y = 1 | x ) = π ( x ) , P(Y=0|x)=1−π(x) P ( Y = 0 | x ) = 1 − π ( x ) ,则有:
p(y|x)=π(x)y(1−π(x))1−y p ( y | x ) = π ( x ) y ( 1 − π ( x ) ) 1 − y
则相应的极大似然函数:
L(w)=∏i=1mp(yi|xi;w)=∏i=1N[π(xi)]yi[1−π(xi)]1−yi L ( w ) = ∏ i = 1 m p ( y i | x i ; w ) = ∏ i = 1 N [ π ( x i ) ] y i [ 1 − π ( x i ) ] 1 − y i
为了便于计算,我们可以对似然函数取对数,有
logL(w)=∑i=1Nlog{[π(xi)]yi[1−π(xi)]1−yi} log L ( w ) = ∑ i = 1 N log { [ π ( x i ) ] y i [ 1 − π ( x i ) ] 1 − y i }
=∑i=1N[yilogπ(xi)+(1−yi)log[1−π(xi)]] = ∑ i = 1 N [ y i log π ( x i ) + ( 1 − y i ) log [ 1 − π ( x i ) ] ]
因此,损失函数可以通过最小化负的似然函数得到,即
J(w)=−1m∑i=1N[yilogπ(xi)+(1−yi)log[1−π(xi)]] J ( w ) = − 1 m ∑ i = 1 N [ y i log π ( x i ) + ( 1 − y i ) log [ 1 − π ( x i ) ] ]
逻辑回归通常采用的方法是梯度下降法及拟牛顿法
多元逻辑回归
假设离散型随机变量 Y Y 的取值集合是 {1,2,...,K} { 1 , 2 , . . . , K } ,那么多项逻辑回归模型是
P(Y=k|x)=exp(wk⋅x)1+∑K−1k=1exp(wk⋅x),k=1,2,...,K−1(5) (5) P ( Y = k | x ) = e x p ( w k ⋅ x ) 1 + ∑ k = 1 K − 1 e x p ( w k ⋅ x ) , k = 1 , 2 , . . . , K − 1
P(Y=K|x)=11+∑K−1k=1exp(wk⋅x)(6) (6) P ( Y = K | x ) = 1 1 + ∑ k = 1 K − 1 e x p ( w k ⋅ x )
这里,
x∈Rn+1 x ∈ R n + 1 ,
wk∈Rn+1 w k ∈ R n + 1
最大熵模型
最大熵原理
最大熵原理认为,学习概率模型时,在所有可能的概率模型中,熵最大的模型是最好的模型,即在满足约束条件的模型集合中选取熵最大的模型。
定义1.2 (最大熵模型) 假设满足所有约束条件的模型集合为
C≡{P∈P|EP(fi)=EP~(fi)},i=1,2,...,n(7) (7) C ≡ { P ∈ P | E P ( f i ) = E P ~ ( f i ) } , i = 1 , 2 , . . . , n
定义在条件概率分布
P(Y|X) P ( Y | X ) 上的条件熵为
H(P)=−∑x,yP~(x)P(y|x)logP(y|x)(8) (8) H ( P ) = − ∑ x , y P ~ ( x ) P ( y | x ) log P ( y | x )
则模型集合
C C 中条件熵
H(P) H ( P ) 最大的模型称为最大熵模型。
改进的迭代尺度法
改进的迭代尺度法是一种最大熵模型学习的最优化算法。
已知最大熵模型为
Pw(y|x)=1Zw(x)exp(∑i=1nwifi(x,y)) P w ( y | x ) = 1 Z w ( x ) e x p ( ∑ i = 1 n w i f i ( x , y ) )
其中,
Zw(x)=∑yexp(∑i=1nwifi(x,y)) Z w ( x ) = ∑ y e x p ( ∑ i = 1 n w i f i ( x , y ) )
对数似然函数为
L(w)=∑x,yP~(x,y)∑i=1nwifi(x,y)−∑xP~(x)logZw(x) L ( w ) = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x P ~ ( x ) l o g Z w ( x )
目标是通过极大似然估计学习模型参数,即求对数似然函数的极大值
w^ w ^
算法 1.1 (改进的迭代尺度算法IIS)
输入:特征函数
f1,f2,...,fn f 1 , f 2 , . . . , f n ;经验分布
P~(X,Y) P ~ ( X , Y ) ,模型
Pw(y|x) P w ( y | x )
输出:最优参数值
w∗i w i ∗ ;最优模型
Pw∗ P w ∗ .
(1) 对所有
i∈{1,2,...,n} i ∈ { 1 , 2 , . . . , n } ,取初值
wi=0 w i = 0
(2) 对每一个
i∈{1,2,...,n} i ∈ { 1 , 2 , . . . , n } :
(a)令
δi δ i 是方程
∑x,yP~(x)P(y|x)fi(x,y)exp(δif#(x,y))=EP~(fi) ∑ x , y P ~ ( x ) P ( y | x ) f i ( x , y ) e x p ( δ i f # ( x , y ) ) = E P ~ ( f i )
的解,这里,
f#(x,y)=∑i=1nfi(x,y)(9) (9) f # ( x , y ) = ∑ i = 1 n f i ( x , y )
(b)更新
wi w i 值:
wi←wi+δi w i ← w i + δ i
(3)如果不是所有
wi w i 都收敛,重复步(2)
这一算法关键的一步是(a),即求解方程(9)中的
δi δ i 。如果
f#(x,y) f # ( x , y ) 是常数,即对任何
x,y x , y ,有
f#(x,y)=M f # ( x , y ) = M ,那么
δi δ i 可以显式地表示成
δi=1mlogEP~(fi)EP(fi)(10) (10) δ i = 1 m l o g E P ~ ( f i ) E P ( f i )
如果
f#(x,y) f # ( x , y ) 不是常数,那么必须通过数值计算求
δi δ i ,简单有效的方法是牛顿法。以
g(δi)=0 g ( δ i ) = 0 表示方程(9),牛顿法通过迭代求得
δ∗i δ i ∗ ,使得
g(δ∗i)=0 g ( δ i ∗ ) = 0 ,迭代公式是
δ(k+1)i=δ(k)i−g(δ(k)i)g′(δ(k)i)(11) (11) δ i ( k + 1 ) = δ i ( k ) − g ( δ i ( k ) ) g ′ ( δ i ( k ) )
算法1.2(最大熵模型学习的BFGS算法)
输入:特征函数
f1,f2,...,fn f 1 , f 2 , . . . , f n ;经验分布
P~(x,y) P ~ ( x , y ) ,目标函数
f(w) f ( w ) ,梯度
g(w)=∇f(w) g ( w ) = ∇ f ( w ) ,精度要求
ε ε ;
输出:最优参数值
w∗ w ∗ ;最优模型
Pw∗(y|x) P w ∗ ( y | x ) 。
(1)选定初始点
w(0) w ( 0 ) ,取
B0 B 0 为正定对称矩阵,置
k=0 k = 0
(2)计算
gk=g(w(k)) g k = g ( w ( k ) ) 。若
||gk||<ε | | g k | | < ε ,则停止计算,得
w∗=w(k) w ∗ = w ( k ) ,否则转(3)
(3)由
Bkpk=−gk B k p k = − g k 求
pk p k
(4)一维搜索:求
λk λ k 使得
f(w(k)+λkpk)=minλ≥0f(w(k)+λpk) f ( w ( k ) + λ k p k ) = min λ ≥ 0 f ( w ( k ) + λ p k )
(5)置
w(k+1)=w(k)+λpk w ( k + 1 ) = w ( k ) + λ p k
(6)
gk+1=g(w(k+1)) g k + 1 = g ( w ( k + 1 ) ) ,若
||gk+1||<ε | | g k + 1 | | < ε ,则停止计算,得
w∗=w(k+1) w ∗ = w ( k + 1 ) ,否则,按下式求出
Bk+1 B k + 1 :
Bk+1=Bk+ykyTkyTkδk−BkδkδTkBkδTkBkδk B k + 1 = B k + y k y k T y k T δ k − B k δ k δ k T B k δ k T B k δ k
其中,
yk=gk+1−gk y k = g k + 1 − g k
,
δk=w(k+1)−w(k) δ k = w ( k + 1 ) − w ( k )
(7)置
k=k+1 k = k + 1 ,转(3)