逻辑斯谛回归logistic regression-最大熵

1.定义
1.1逻辑斯谛分布
服从逻辑斯谛分布的X具有以下分布函数与密度函数
F ( x ) = P ( X ≤ x ) = 1 1 + e − ( x − μ ) γ F(x)=P(X\leq x)=\frac{1}{1+e^{\frac{-(x-\mu)}{\gamma}}} F(x)=P(Xx)=1+eγ(xμ)1
f ( x ) = F ′ ( x ) = e − ( x − μ ) γ γ ( 1 + e − ( x − μ ) γ ) 2 f(x) = F'(x)=\frac{e^{\frac{-(x-\mu)}{\gamma}}}{\gamma({1+e^{\frac{-(x-\mu)}{\gamma}}})^2} f(x)=F(x)=γ(1+eγ(xμ))2eγ(xμ)
分布函数满足( μ \mu μ, 1 2 \frac{1}{2} 21)为中心对称,密度函数轴对称

1.2 二项逻辑斯蒂回归模型
P ( Y = 1 ∣ x ) = e x p ( w x ) 1 + e x p ( w x + b ) P(Y=1|x)=\frac{exp(wx)}{1+exp(wx+b)} P(Y=1x)=1+exp(wx+b)exp(wx)
P ( Y = 1 ∣ x ) = 1 1 + e x p ( w x ) P(Y=1|x)=\frac{1}{1+exp(wx)} P(Y=1x)=1+exp(wx)1
w 为 权 重 向 量 , b 为 偏 置 , w = ( w 1 , w 2... b ) . T , x = ( x 1 , x 2...1 ) . T , w x 内 积 w为权重向量,b为偏置,w=(w1,w2...b).T, x=(x1,x2...1).T,wx内积 wbw=(w1,w2...b).T,x=(x1,x2...1).T,wx

1.3参数估计,极大似然法
极大似然估计
估计参数 w w w
已知 P ( Y = 1 ∣ x ) = p 1 , P ( Y = 0 ∣ x ) = 1 − p 1 P(Y=1|x)=p1 ,P(Y=0|x)=1-p1 P(Y=1x)=p1,P(Y=0x)=1p1
即在已知参数未知x时,当前取值yi的概率为 [ p 1 ] y i [ 1 − p 1 ] 1 − y i [p1]^yi[1-p1]^{1-yi} [p1]yi[1p1]1yi
则取得训练集结果的概率为累乘 ∏ i = 1 [ p 1 ] y i [ 1 − p 1 ] 1 − y i \prod_{i=1}{[p1]^yi[1-p1]^{1-yi}} i=1[p1]yi[1p1]1yi
已知当前结果概率最大,因此此时应取极大值,对数不影响极值且方便计算,因此通过对对数似然函数求导=0取得参数
回到公式:
L ( w ) = ∑ i = 1 ( y i w x i − l o g ( 1 + e x p ( w x ) ) ) L(w)=\sum_{i=1}{(y_iwx_i-log(1+exp(wx)))} L(w)=i=1(yiwxilog(1+exp(wx)))求极大值
问题转换为以L(w)为目标函数的最优化问题,在逻辑斯谛中通常采用梯度下降与拟牛顿法求解

1.4多分类及多项逻辑斯谛回归模型
即Y取值为{1,2,…k}
P ( Y = K ∣ x ) = e x p ( w k x ) ( 1 + ∑ k = 1 K − 1 e x p ( w k x ) P(Y=K|x)=\frac{exp(w_kx)}{(1+\sum_{k=1}^{K-1}{exp(w_kx)}} P(Y=Kx)=(1+k=1K1exp(wkx)exp(wkx)

2.最大熵
H ( P ) = − ∑ P ( x ) l o g ( P ( x ) ) H(P)=-\sum{P(x)log(P(x))} H(P)=P(x)log(P(x))

2.1琴生不等式证明等概率分布时熵最大
琴生不等式 对 在 [ a , b ] 上 的 凸 函 数 , 存 在 p 1 , p 2 , . . . , p k ∈ [ 0 , 1 ] 且 ∑ p i = 1 , 存 在 ∑ p i f ( x i ) ≤ f ( ∑ p i x i ) 对在[a,b]上的凸函数,存在p1,p2,...,pk \in[0,1] 且\sum{pi}=1,存在\sum{pif(x_i) \le{f(\sum{pix_i)}}} [a,b]p1,p2,...,pk[0,1]pi=1pif(xi)f(pixi)
− p l o g p 为 凸 函 数 , 可 用 琴 生 不 等 式 -plogp为凸函数,可用琴生不等式 plogp
1 k H ( P ) = ∑ 1 k ( − p l o g p ) ≤ ( − ( ∑ p k ) l o g ( ∑ p k ) ) = ( − 1 k l o g 1 k ) = 1 k l o g k \frac{1}{k}H(P)=\sum{\frac{1}{k}(-plogp) \le (-(\sum{\frac{p}{k})log(\sum{\frac{p}{k}))}=(-\frac{1}{k}log\frac{1}{k})=\frac{1}{k}}log{k}} k1H(P)=k1(plogp)((kp)log(kp))=(k1logk1)=k1logk
即H§ 在pi相等时最大

2.2最大熵原理与模型
最大熵原理认为,在满足条件的模型中,熵最大的模型最好。
模型:
已 知 : ∑ y P ( y ∣ x ) = 1 , E p ( f i ) = E p ′ ( f i ) 已知:\sum_y{P(y|x)=1,E_p(f_i)=E_p'(f_i)} yP(yx)=1,Ep(fi)=Ep(fi)
求 m a x H ( P ) = − ∑ P ′ ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) 求maxH(P)=-\sum{P'(x)P(y|x)logP(y|x)} maxH(P)=P(x)P(yx)logP(yx)
即求给定x,y分布中最大熵分布
通常将约束最优化问题转换成无约束最优化的对偶问题
L ( P , w ) = − H ( P ) + w 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i w i ( E p ( f i ) − E p ′ ( f i ) L(P,w)=-H(P)+w_0(1-\sum_y{P(y|x)})+\sum_{i}wi(E_p(f_i)-E_p'(f_i) L(P,w)=H(P)+w0(1yP(yx))+iwi(Ep(fi)Ep(fi)
P w ( y ∣ x ) = 1 Z w ( x ) e x p ( ∑ w i f i ( x , y ) ) P_w(y|x)=\frac{1}{Z_w(x)}exp{(\sum{w_if_i(x,y}))} Pw(yx)=Zw(x)1exp(wifi(x,y))
1 Z w ( x ) = 1 ∑ w i f i ( x , y ) \frac{1}{Z_w(x)}=\frac{1}{\sum{w_if_i(x,y)}} Zw(x)1=wifi(x,y)1
对数似然函数:
L ( w ) = ∑ x , y P ( x , y ) ∑ w i f i ( x , y ) − ∑ ( P ( x ) l o g Z w ( x ) ) L(w)=\sum_{x,y}{P(x,y)\sum{wif_i(x,y)}-\sum(P(x)logZ_w(x))} L(w)=x,yP(x,y)wifi(x,y)(P(x)logZw(x))

3.模型学习的最优化算法
3.1改进的迭代尺度法
输入:特征函数 f i f_i fi经验分布 P ′ ( X , Y ) P'(X,Y) P(X,Y)模型 P w ( y ∣ x ) P_w(y|x) Pw(yx)
输出:最优参数值 w i ∗ w_i^* wi最优模型 P w ∗ P_w^* Pw

  • 1.对所有i ∈ { 1 , 2 , . . . n } 取 w i = 0 \in\{1,2,...n\}取w_i=0 { 1,2,...n}wi=0
  • 2.对每个i,解方程 ∑ P ′ ( x ) P ( y ∣ x ) f i ( x , y ) e x p ( σ i f # ( x , y ) ) = E P ( f i ) \sum{P'(x)P(y|x)fi(x,y)exp(\sigma_if^\#(x,y))}=E_P(f_i) P(x)P(yx)fi(x,y)exp(σif#(x,y))=EP(fi)
  • f # ( x , y ) = ∑ f i ( x , y ) f^\#(x,y)=\sum{f_i(x,y)} f#(x,y)=fi(x,y)
  • 更新 w i = w i + σ i w_i=w_i+\sigma_i wi=wi+σi
  • 3.重复直到所有w收敛

3.2 拟牛顿法
输入:特征函数 f i f_i fi经验分布 P ′ ( X , Y ) P'(X,Y) P(X,Y)目标函数 f ( w ) f(w) f(w),梯度 g ( w ) = f ′ ( w ) g(w)=f'(w) g(w)=f(w)精度要求 e e e
输出:最优参数值 w i ∗ w_i^* wi最优模型 P w ∗ P_w^* Pw

  • 1.选定 w ( 0 ) w^{(0)} w(0),取 B 0 B_0 B0为正定对称矩阵,k=0
  • 2.计算 g k = g ( w k ) 直 到 小 于 精 度 g_k=g(w^k)直到小于精度 gk=g(wk)得到 w ∗ = w k w^*=w^k w=wk否则继续
  • 3.由 B k p k = − g k B_kp_k =-g_k Bkpk=gk求出 p k p_k pk
  • 4.一维搜索,求 λ k \lambda_k λk
  • f ( w k + λ k p k ) = m i n λ ≥ 0 f ( w k + λ p k ) f(w^k+\lambda_kp_k)=min_{\lambda\ge0}f(w^k+\lambda{p_k}) f(wk+λkpk)=minλ0f(wk+λpk)
  • 5. w k + 1 = w k + λ k p k w^{k+1}=w^k+\lambda_kp_k wk+1=wk+λkpk
  • 6.计算 g k + 1 = g ( w k + 1 ) , 小 于 阈 值 停 止 , 否 则 求 B k + 1 g_{k+1}=g(w^{k+1}),小于阈值停止,否则求B_{k+1} gk+1=g(wk+1),Bk+1
  • 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 B_{k+1}=B_k+\frac{y_ky_k^T}{y_k^T\sigma_k}-\frac{B_k\sigma_k\sigma_k^TB_k}{\sigma_k^TB_k\sigma_k} Bk+1=Bk+ykTσkykykTσkTBkσkBkσkσkTBk
  • y k = g k + 1 − g k , σ k = w k + 1 − w k y_k=g_{k+1}-g_k,\sigma_k=w^{k+1}-w^k yk=gk+1gk,σk=wk+1wk
  • 7.k=k+1,从3重复

你可能感兴趣的:(ML,机器学习,逻辑回归,算法)