(《机器学习》完整版系列)第3章 线性模型——3.2 对数几率回归,俗称:逻辑回归(但它既不“逻辑”也不是“回归”)

对数几率回归(俗称:逻辑回归),它既不“逻辑”也不是“回归”,实际上它是个二分类问题,只不过是在过程中用到两个公式,一个是线性回归公式,另一个logit函数(音译为“逻辑”)。故名字拼凑为“逻辑回归”。
代价敏感时需要对几率进行“再放缩”。

对数几率回归

对数几率

在“2.3 恭喜:高考你被录取了!”节的高考例子:为了解决一个二分类问题,先做一个“回归”(打分),再做一个“分段”(录取)。 这就是对数几率回归的思路,公式为
z = w T x + b (线性回归) y = 1 1 + e − z (logistic函数) \begin{align} z & =\boldsymbol{w}^\mathrm{T}\boldsymbol{x}+b\qquad \text{(线性回归)}\tag{1} \\ y & =\frac{1}{1+\mathrm{e}^{-z}}\qquad \text{(logistic函数)}\tag{2} \end{align} zy=wTx+b(线性回归)=1+ez1logistic函数)(1)(2)
俗称:逻辑回归,名字取自上述公式,即式(1)线性回归(回归)和式(2)logistic函数(逻辑,音译)

两式合并即为【西瓜书式(3.18)】,转化为【西瓜书式(3.19)】。

观察【西瓜书图3.2】, y y y可作为样本 x \boldsymbol{x} x的函数值逼近1的程度,可视为该样本作为正例的可能性,对应地, 1 − y 1-y 1y为样本 x \boldsymbol{x} x作为反例的可能性,为区别,我们将分类标记记为 y ′ ∈ { 0 , 1 } y'\in \{0,1\} y{0,1},即
y = p ( y ′ = 1   ∣   x ) (正例概率) 1 − y = p ( y ′ = 0   ∣   x ) (反例概率) \begin{align} y & =p(y'=1\,|\,\boldsymbol{x})\qquad \text{(正例概率)}\tag{3} \\ 1-y & =p(y'=0\,|\,\boldsymbol{x})\qquad \text{(反例概率)}\tag{4} \end{align} y1y=p(y=1x)(正例概率)=p(y=0x)(反例概率)(3)(4)
式的左边 y y y是回归问题(连续),右边 y ′ y' y是二分类问题(离散),这里表达了二者之间的联系。
两式的比,即为样本 x \boldsymbol{x} x作为正例的“相对”可能性(几率),取对数后即为“对数几率”【西瓜书式(3.21)】。

式(1)、式(2)代入式(3)、式(4)得【西瓜书式(3.23)(3.24)】,注:为方便书写,将 y ′ y' y改写为 y y y,即现在 y y y是指标记预测 y ′ y' y,后续需要真正的 y y y时,以式(2)右侧代替。

给定数据集 { ( x i , y i ) } i m ( y i ∈ { 0 , 1 } ) \{(\boldsymbol{x}_i,y_i)\}_i^m(y_i\in \{0,1\}) {(xi,yi)}im(yi{0,1}),使用最大化对数似然来求解参数(原理参见【西瓜书7.2节】),由【西瓜书式(7.10)】,得到求最大值的目标函数【西瓜书式(3.25)】。 其中
l n   p ( y i   ∣   x i ) = { l n   p ( y i = 1   ∣   x i ) (当 y i = 1 发生时) l n   p ( y i = 0   ∣   x i ) (当 y i = 0 发生时) = y i l n   p ( y i = 1   ∣   x i ) + ( 1 − y i ) l n   p ( y i = 0   ∣   x i ) (两式合为一式) = y i l n   p ( y i = 1   ∣   x i ) p ( y i = 0   ∣   x i ) + l n   p ( y i = 0   ∣   x i ) = y i ( w T x i + b ) − l n   ( 1 + e w T x i + b ) (由【西瓜书式(3.22)(3.24)】) = y i β T x ^ i − l n   ( 1 + e β T x ^ i ) \begin{align} \quad \mathrm{ln}\,p(y_i\,|\,\boldsymbol{x}_i) & = \begin{cases} \mathrm{ln}\,p(y_i=1\,|\,\boldsymbol{x}_i)\qquad \text{(当$y_i=1$发生时)} \\ \mathrm{ln}\,p(y_i=0\,|\,\boldsymbol{x}_i)\qquad \text{(当$y_i=0$发生时)} \\ \end{cases}\notag \\ & =y_i\mathrm{ln}\,p(y_i=1\,|\,\boldsymbol{x}_i)+(1-y_i)\mathrm{ln}\,p(y_i=0\,|\,\boldsymbol{x}_i)\qquad \text{(两式合为一式)}\notag \\ & =y_i\mathrm{ln}\,\frac{p(y_i=1\,|\,\boldsymbol{x}_i)}{p(y_i=0\,|\,\boldsymbol{x}_i)}+\mathrm{ln}\,p(y_i=0\,|\,\boldsymbol{x}_i)\notag \\ & =y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b)-\mathrm{ln}\,(1+\mathrm{e}^{\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b})\qquad \text{(由【西瓜书式(3.22)(3.24)】)}\notag \\ & =y_i\boldsymbol{\beta }^\mathrm{T}\hat{\boldsymbol{x}}_i-\mathrm{ln}\,(1+\mathrm{e}^{\boldsymbol{\beta }^\mathrm{T}\hat{\boldsymbol{x}}_i}) \tag{5} \end{align} lnp(yixi)={lnp(yi=1xi)(yi=1发生时)lnp(yi=0xi)(yi=0发生时)=yilnp(yi=1xi)+(1yi)lnp(yi=0xi)(两式合为一式)=yilnp(yi=0xi)p(yi=1xi)+lnp(yi=0xi)=yi(wTxi+b)ln(1+ewTxi+b)(由【西瓜书式(3.22)(3.24)】)=yiβTx^iln(1+eβTx^i)(5)
其中, β = ( w ; b ) , x ^ i = ( x i ; 1 ) \boldsymbol{\beta }=(\boldsymbol{w};b),\hat{\boldsymbol{x}}_i=(\boldsymbol{x}_i;1) β=(w;b),x^i=(xi;1)

代入目标函数【西瓜书式(3.25)】,并将求最大转化为求最小,即得最小值的目标函数【西瓜书式(3.27)】,可以有多种方法求最优解 β ∗ \boldsymbol{\beta}^{*} β,梯度下降法及牛顿法原理参见【西瓜书附录第B.4节】。

类别不平衡处理

【西瓜书式(3.20)】解释了“几率”的意义,那么,预测样本为正例的条件: y > 1 − y y>1-y y>1y,即【西瓜书式(3.46)】。 从这个不等式中我们可以解出阈值为0.5,当学习器对样本计算出 y y y超过这个阈值时,则预测样本为正例。 阈值0.5意味着样本空间中正样本和负样本是平衡的,当样本空间中样本不平衡时,【西瓜书式(3.46)】就变成了【西瓜书式(3.47)】,这就是在类别不平衡时对几率的“再缩放”法【西瓜书式(3.48)】。

我们再来讨论:代价敏感时如何对几率进行“再放缩”。

设样本空间中二类别是平衡的但各类误报的代价不一样:第 i i i类样本错分入第 j j j类时,产生的损失为 c o s t i j > 0 {\mathrm{cost}}_{ij}>0 costij>0 c o s t i i = 0 {\mathrm{cost}}_{ii}=0 costii=0,其中, i , j = 0 , 1 i,j=0,1 i,j=0,1,这就形成代价矩阵表【西瓜书表2.2】。
若预测器得到 x x x属于第0类(正例)的概率为 P ( j = 0   ∣   x ) P(j=0\,|\,x) P(j=0x),属于第1类(负例)的概率为 P ( j = 1   ∣   x ) P(j=1\,|\,x) P(j=1x),那么,它如何作出分类决策呢?

若预报为第0类(正例),则损失为
P ( j = 0   ∣   x ) c o s t 00 + P ( j = 1   ∣   x ) c o s t 10 即: P ( j = 1   ∣   x ) c o s t 10 \begin{align*} P(j=0\,|\,x){\mathrm{cost}}_{00}+P(j=1\,|\,x){\mathrm{cost}}_{10}\qquad \text{即:}P(j=1\,|\,x){\mathrm{cost}}_{10} \end{align*} P(j=0x)cost00+P(j=1x)cost10即:P(j=1x)cost10

若预报为第1类(反例),则损失为
P ( j = 0   ∣   x ) c o s t 01 + P ( j = 1   ∣   x ) c o s t 11 即: P ( j = 0   ∣   x ) c o s t 01 \begin{align*} P(j=0\,|\,x){\mathrm{cost}}_{01}+P(j=1\,|\,x){\mathrm{cost}}_{11}\qquad \text{即:}P(j=0\,|\,x){\mathrm{cost}}_{01} \end{align*} P(j=0x)cost01+P(j=1x)cost11即:P(j=0x)cost01

根据“损失最小化”进行预测决策的原则,则预测器对样本 x x x预测为第0类的条件为
P ( j = 1   ∣   x ) c o s t 10 ⩽ P ( j = 0   ∣   x ) c o s t 01 \begin{align*} P(j=1\,|\,x){\mathrm{cost}}_{10}\leqslant P(j=0\,|\,x){\mathrm{cost}}_{01} \end{align*} P(j=1x)cost10P(j=0x)cost01


P ( j = 0   ∣   x ) P ( j = 1   ∣   x ) ⩾ c o s t 10 c o s t 01 \begin{align*} \frac{P(j=0\,|\,x)}{P(j=1\,|\,x)}\geqslant \frac{{\mathrm{cost}}_{10}}{{\mathrm{cost}}_{01}} \end{align*} P(j=1x)P(j=0x)cost01cost10

参照【西瓜书式(3.47)】的分析,即有
y 1 − y ⩾ c o s t 10 c o s t 01 \begin{align} \frac{y}{1-y}\geqslant \frac{{\mathrm{cost}}_{10}}{{\mathrm{cost}}_{01}} \tag{6} \end{align} 1yycost01cost10(6)

当代价一样( c o s t 10 = c o s t 01 {{\mathrm{cost}}_{10}}={{\mathrm{cost}}_{01}} cost10=cost01)时,即为【西瓜书式(3.46)】;

当代价不一样时,参照【西瓜书式(3.48)】,式(6)两边乘以右边的倒数,变为
y ′ 1 − y ′ = y 1 − y ⋅ c o s t 01 c o s t 10 ⩾ 1 \begin{align} \frac{y'}{1-y'}=\frac{y}{1-y} \cdot \frac{{\mathrm{cost}}_{01}}{{\mathrm{cost}}_{10}}\geqslant 1 \tag{7} \end{align} 1yy=1yycost10cost011(7)
这即是预测器对样本 x x x预测为第0类的决策条件,它表明:对几率 y 1 − y \frac{y}{1-y} 1yy进行“再缩放”后,再与数值1比较进行决策。

比较式(7)与【西瓜书式(3.49)】知其“再缩放”因子为
m − m + = c o s t 01 c o s t 10 = c o s t + c o s t − \frac{m^-}{m^+}=\frac{{\mathrm{cost}}_{01}}{{\mathrm{cost}}_{10}}=\frac{{\mathrm{cost}}^+}{{\mathrm{cost}}^-} m+m=cost10cost01=costcost+

从类别不平衡导致的重要性权重来看,通常样本少的类较之样本较多的类(如,患者较之健康人、罕见病较之常见病),少者的重要性权重更大,即重要性权重与类的样本数占比成反比例关系
w + w − = m − m + = c o s t 01 c o s t 10 \begin{align} \frac{w^+}{w^-}=\frac{m^-}{m^+}=\frac{{\mathrm{cost}}_{01}}{{\mathrm{cost}}_{10}} \tag{8} \end{align} ww+=m+m=cost10cost01(8)

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:3.1 线性回归(线性模型对应于仿射函数)
下一篇:3.3 线性判别分析LDA(将平面上点投影到线上)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值