《李航 统计学习方法》学习笔记——第六章 Logistic 回归与最大熵模型

1. Logistic 回归模型

广义上的线性回归为:
f ( x ) = g − 1 ( ω x T + b ) f(x)=g^{-1}(\omega x^T+b) f(x)=g1(ωxT+b)
其中g称为联系函数(应为连续函数且充分光滑),例如 l n ln ln等。
当进行分类问题,线性回归产生的模型预测值为 z = ω x T + b z=\omega x^T+b z=ωxT+b为实值,而y的取值为 { 0 , 1 } \{0,1\} { 0,1},这是需要寻找一个联系函数使得z值转化为0/1值。

单位阶跃函数:
y = { 0 z < 0 0.5 z = 0 1 z > 0 y= \left\{\begin{matrix} 0&z<0 \\ 0.5&z=0 \\ 1 & z>0 \end{matrix}\right. y=00.51z<0z=0z>0
该函数能够进行上述的转化,但是由于其不连续,所以不能作为联系函数。

于是这里引入对数几率函数(一种sigmoid函数),实现这样该转化过程。

logistic分布:设X连续随机变量符合logistic分布,则X的分布函数与密度函数为:
F ( x ) = P ( X ⩽ x ) = 1 1 + e − x f ( x ) = e − x ( 1 + e − x ) 2 F(x)=P(X\leqslant x)=\frac{1}{1+ e^{-x}}\\ f(x)=\frac{e^{-x}}{({1+e^{-x}})^2} F(x)=P(Xx)=1+ex1f(x)=(1+ex)2ex在这里插入图片描述

logistic函数分布曲线为S曲线(sigmoid curve),且为凸函数(这点在数值优化中很重要),可以将z转化为接近0或1的y值,并且在z=0附近的变化速度块。
带入广义的线性函数模型中,由此得到函数
y = 1 1 + e − ( ω x T + b )   ln ⁡ y 1 − y = ω x T + b y=\frac{1}{1+e^{-({\omega x^T+b})}}\\ \ \\ \ln\frac{y}{1-y}=\omega x^T+b y=1+e(ωxT+b)1 ln1yy=ωxT+b
这里定义几率(odds): 模型分类后,样本x被分为正例(如y=1)的个数与样本x被分为反例(如y=0)的个数之比。
o d d s = y 1 − y odds = \frac{y}{1-y} odds=1yy
对数几率为几率的对数。
l o g i t = ln ⁡ y 1 − y logit = \ln\frac{y}{1-y} logit=ln1yy
这里可以发现,对数几率与随机变量x为线性关系
当用条件概率去理解该模型时,则可以得到二分logistic模型
P ( Y = 1 ∣ x ) = e ω x T + b 1 + e ( ω x T + b )   P ( Y = 0 ∣ x ) = 1 1 + e ( ω x T + b ) P(Y=1|x)=\frac{e^{\omega x^T+b}}{1+e^{({\omega x^T+b})}}\\ \ \\ P(Y=0|x)=\frac{1}{1+e^{({\omega x^T+b})}}\\ P(Y=1x)=1+e(ωxT+b)eωxT+b P(Y=0x)=1+e(ωxT+b)1
由此可见该函数特点:线性函数的值越接近正无穷,概率值就越接近1;线性函数的值越接近负无穷,概率值就越接近0

2. 模型参数估计

在估计 ω , b \omega,b ω,b参数的过程中,应用极大似然估计法
这里令 ω = ( ω ( 1 ) , ω ( 2 ) , . . . , w ( n ) , b ) \omega = (\omega^{(1)},\omega^{(2)},...,w^{(n)},b) ω=(ω(1),ω(2),...,w(n),b)

在这里插入图片描述
所以最终问题转化为了求
ω ∗ = arg ⁡ max ⁡ ω L ( ω ) \omega^*=\arg\max_\omega L(\omega) ω=argωmaxL(ω)
因为 L ( ω ) L(\omega) L(ω)是关于 ω \omega ω的高阶可导连续函数,根据凸优化理论,经典的数值优化算法如梯度下降法,改进的迭代尺度法(IIS),牛顿法,拟牛顿法都可以求其解。

2.1 梯度下降法求参

梯度下降法是一种常用的一阶优化方法,是求解无约束优化问题最简单,最简单的方法之一。
在这里插入图片描述

  1. 首先对目标函数进行等价转换,更改为求极小值问题。
    arg ⁡ max ⁡ ω L ( ω ) ⇒ arg ⁡ min ⁡ ω [ − L ( ω ) ] \arg\max_\omega L(\omega)\Rightarrow \arg\min_\omega [-L(\omega)] argωmaxL(ω)argωmin[L(ω)]
  2. 取初值 w ( 0 ) ∈ R n , k = 0 w^{(0)} \in \R^n,k=0 w(0)Rn,k=0
  3. 计算 L ( w ( k ) ) L(w^{(k)}) L(w(k))
  4. 计算梯度 g k = g ( w ( k ) ) g_k = g(w^{(k)}) gk=g(w(k)),若 ∣ ∣ g k ∣ ∣ < 阈值 ϵ ||g_k||<\text{阈值}\epsilon gk<阈值ϵ,停止迭代,令 w ∗ = w ( k ) w^*=w^{(k)} w=w(k);否则,令 p k = − g ( w ( k ) ) p_k=- g(w^{(k)}) pk=g(w(k)),求步长 λ k \lambda_k λk使得:
    L ( w ( k ) + λ k p k ) = min ⁡ λ ⩾ 0 L ( w ( k ) + λ p k ) L(w^{(k)}+\lambda_kp_k)=\min_{\lambda\geqslant 0} L(w^{(k)}+\lambda p_k) L(w(k)+λkpk)=λ0minL(w(k)+λpk)
  5. w ( k + 1 ) = w ( k ) + λ k p k w^{(k+1)}=w^{(k)}+\lambda_k p_k w(k+1)=w(k)+λkpk,计算 L ( w ( k + 1 ) ) L(w^{(k+1)}) L(w(k+1))
    若:
    ∣ ∣ L ( w ( k + 1 ) ) − L ( w ( k ) ) ∣ ∣ < ϵ    o r    ∣ ∣ w ( k + 1 ) − w ( k ) ∣ ∣ < ϵ ||L(w^{(k+1)})-L(w^{(k)})|| < \epsilon \ \ or \ \ || w^{(k+1)}-w^{(k)}|| < \epsilon L(w(k+1))L(w(k))<ϵ  or  w(k+1)w(k)<ϵ
    则停止迭代,令 w ∗ = w ( k + 1 ) w^*=w^{(k+1)} w=w(k+1)
  6. 否则, k = k + 1 k=k+1 k=k+1,转(3)。
    因为目标函数为凸函数,因此可以保证其为全局最优解。
    在这里插入图片描述
    缺点:该方法的收敛速度有时较慢。

2.2 牛顿法求参

牛顿法也是求解无约束最优化问题的常用算法,(因为利用了二阶导)有收敛速度快的优点。通过迭代,每一步需要求解目标函数的黑塞矩阵的逆矩阵,进行求参。

  1. 首先对目标函数进行等价转换,更改为求极小值问题。
    arg ⁡ max ⁡ ω L ( ω ) ⇒ arg ⁡ min ⁡ ω [ − L ( ω ) ] \arg\max_\omega L(\omega)\Rightarrow \arg\min_\omega [-L(\omega)] argωmaxL(ω)argωmin[L(ω)]
  2. 取初值 w ( 0 ) ∈ R n , k = 0 w^{(0)} \in \R^n,k=0 w(0)Rn,k=0
  3. 计算梯度 g k = g ( w ( k ) ) g_k = g(w^{(k)}) gk=g(w(k))
  4. ∣ ∣ g k ∣ ∣ < 阈值 ϵ ||g_k||<\text{阈值}\epsilon gk<阈值ϵ,停止迭代,令 w ∗ = w ( k ) w^*=w^{(k)} w=w(k)
  5. 计算黑塞矩阵 H k = H ( x ( k ) ) H_k=H(x^{(k)}) Hk=H(x(k)),并求出 p k pk pk:
    p k = − H k g k p_k=-H_kg_k pk=Hkgk

黑塞矩阵:
H ( x ) = [ ∂ 2 f ∂ x i ∂ x j ] n ∗ n H(x)=[\frac{\partial ^2f}{\partial x_i\partial x_j}]_{n*n} H(x)=[xixj2f]nn
函数f(x)有机制的必要条件是在极值点处的一阶导数为0,即梯度为0,特别是 H ( x ( k ) ) H(x^{(k)}) H(x(k))为正定矩阵时,函数f(x)的极值为极小值。

  1. w ( k + 1 ) = w ( k ) + p k w^{(k+1)}=w^{(k)}+p_k w(k+1)=w(k)+pk
  2. k = k + 1 k=k+1 k=k+1,转(3)。

缺点:在步骤(5)中由于要求 H − 1 H^{-1} H1计算复杂,耗费时间。

2.3 拟牛顿法求参

为了解决计算 H − 1 H^{-1} H1的复杂问题,考虑用一个n阶矩阵 G k = G ( x ( k ) ) G_k=G(x^{(k)}) Gk=G(x(k))来近似代替 H k − 1 = H − 1 ( x ( k ) ) H_k^{-1}=H^{-1}(x^{(k)}) Hk1=H1(x(k)).

2.3.1 算法DFP

该算法通过 G k + 1 G_{k+1} Gk+1替代 H − 1 H^{-1} H1,即满足拟牛顿条件:
G k + 1 ( g k + 1 − g k ) = x ( k + 1 ) − x ( k ) G_{k+1}(g_{k+1}-g_k)=x^{(k+1)}-x^{(k)} Gk+1(gk+1gk)=x(k+1)x(k)

  1. 首先对目标函数进行等价转换,更改为求极小值问题。
    arg ⁡ max ⁡ ω L ( ω ) ⇒ arg ⁡ min ⁡ ω [ − L ( ω ) ] \arg\max_\omega L(\omega)\Rightarrow \arg\min_\omega [-L(\omega)] argωmaxL(ω)argωmin[L(ω)]
  2. 选定初始点 w ( 0 ) w^{(0)} w(0),取 G 0 G_0 G
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值