作为分类算法,逻辑回归是如何和回归扯上关系的

今天就逻辑回归和回归问题之间的关系做个梳理,下次再遇到谁扯逻辑回归如何如何做回归,我直接丢。。。

仅个人拙见。


1 何为回归?何为分类?

回归和分类从宏观意义上见就是一类问题,给定输入x,通过模型F,输出结果y。二者的区别在于输出结果y的不同。这就是最最根本的区别,你输出的结果就直接反映了问题的本质。

  • 分 类 \color{red}{分类} :当输出y为离散值时,就是分类问题。比如(1,-1),(1,0)这样代表两种状态的表达。明天天气晴天,设状态为1,阴天状态就是0。
  • 回 归 \color{red}{回归} :当输出y为连续值时,就是回归问题。比如预测未来10天的股票价格预测。

2 回归问题在拟合什么?分类问题又在拟合什么?

2.1 回归的拟合问题

对于一个回归问题,简单的可以表示为:
y = w x + b y = wx+b y=wx+b
x是一组符合某种分布的特征 x = ( x 1 , x 2 , . . , x n ) x=(x_1,x_2,..,x_n) x=(x1,x2,..,xn),回归就是为了拟合出这个函数,使得y值可以经过符合统一分布下的其他x值对应的点。也就是说,回归问题拟合的是一组数据特征的分布。

2.2 分类的拟合问题

一个分类可以简单的表示为:

P ( y = 1 ∣ x ; θ T ) P(y=1|x;\theta^T) P(y=1x;θT)
分类就是在拟合一个概率值,使预测类别不断地逼近真实标签的概率。

3 逻辑回归与回归的关系

逻辑回归(Logistic Regression,LR)和回归之间的关系,大概就是名字中间有了一个回归。为何LR叫做“回归”呢,大概还是要从该算法诞生之初说起。

1956年,统计学家DavidCox在他的论文《The regression analysis of binary sequences》《二元序列中的回归分析》提出了逻辑回归算法。因为上个世纪中叶的时候,回归和分类的定义与今天有所不同,所以分类算法逻辑回归的“回归”两字就这样沿袭下来了。

对于一个回归问题:
y = θ T x y =\theta^Tx y=θTx
将其放在一个Logistic分布函数中,
L o g i s t i c ( x ) = 1 1 + e − ( x − u ) / r Logistic(x) = \frac{1}{1+e^{-(x-u)/r}} Logistic(x)=1+e(xu)/r1

得到:
g ( X ) = 1 1 + e − θ T x g(X) = \frac{1}{1+e^-{\theta^Tx}} g(X)=1+eθTx1
可以进行变形为:
l n g ( X ) 1 − g ( X ) = θ T x ln\frac{g(X)}{1-g(X)}=\theta^Tx ln1g(X)g(X)=θTx
这样一看,如果把一个事件的几率(oods)定义为:事件发生概率 g ( X ) = P ( y = 1 ∣ x ) g(X) = P(y=1|x) g(X)=P(y=1x)和不发生概率的比值
o o d s = g ( X ) 1 − g ( X ) oods = \frac{g(X)}{1-g(X)} oods=1g(X)g(X)

那么LR就可以看作是:对于 y = 1 ∣ x y = 1|x y=1x 这个事件的对数几率的线性回归。于是逻辑回归的回归二字就延续下来了。

4 逻辑回归为啥是分类算法?

接着上面说,如果是对事件 y = 1 ∣ x y=1|x y=1x而言,逻辑回归是一个对数几率的回归问题。但是,但是,但是,实际上,y才是因变量,而不是p/1+p。而在逻辑回归中的y是离散值(y=1,y=0)。显然不是连续的,试问离散值的y如何变成回归问题的连续值。

5 逻辑回归如何用于分类?

下面简单的介绍下LR模型原理

5.1 Logistic 分布函数

顾名思义,逻辑回归重点还是在于Logistic。正是由于Logistic分布函数的存在,使得线性回归走向了分类问题。Logistic分布如下:
L o g i s t i c ( x ) = 1 1 + e − ( x − u ) / r Logistic(x) = \frac{1}{1+e^{-(x-u)/r}} Logistic(x)=1+e(xu)/r1
在这里插入图片描述

其中μ是位置参数,γ是形状参数。

从Logistic的定义式可以看出logistic分布是由其位置和尺度参数定义的连续分布。Logistic 分布的形状与正态分布的形状相似,但是 Logistic 分布的尾部更长,所以我们可以使用 Logistic 分布来建模比正态分布具有更长尾部和更高波峰的数据分布。

另外,我们常用到的 Sigmoid 函数就是μ = 0,γ = 1的特殊形式。 除此之外,Logistic 的分布函数的值域是(0, 1),这正好可以用来表示概率的大小。

5.2 LR模型

对于一个二分类问题,设:
P ( Y = 1 ∣ x ) = p ( x ) = 1 1 + e − θ T x P ( Y = 0 ∣ x ) = 1 − p ( x ) = 1 − 1 1 + e − θ T x \begin{aligned} &P(Y=1|x)=p(x)= \frac{1}{1+e^-{\theta^Tx}}\\ &P(Y=0|x)=1-p(x)=1- \frac{1}{1+e^-{\theta^Tx}} \end{aligned} P(Y=1x)=p(x)=1+eθTx1P(Y=0x)=1p(x)=11+eθTx1

构造似然函数:
L ( w ) = ∏ [ p ( x i ) ] y i [ 1 − p ( x i ) ] 1 − y i L(w)=\prod\left[p\left(x_{i}\right)\right]^{y_{i}}\left[1-p\left(x_{i}\right)\right]^{1-y_{i}} L(w)=[p(xi)]yi[1p(xi)]1yi
为了更方便求解,我们对等式两边同取对数,写成对数似然函数:
L ( w ) = ∑ [ y i ln ⁡ p ( x i ) + ( 1 − y i ) ln ⁡ ( 1 − p ( x i ) ) ] = ∑ [ y i ln ⁡ p ( x i ) 1 − p ( x i ) + ln ⁡ ( 1 − p ( x i ) ) ] = ∑ [ y i ( θ ⋅ x i ) − ln ⁡ ( 1 + e θ ⋅ x i ) ] \begin{aligned} L(w) &=\sum\left[y_{i} \ln p\left(x_{i}\right)+\left(1-y_{i}\right) \ln \left(1-p\left(x_{i}\right)\right)\right] \\ &=\sum\left[y_{i} \ln \frac{p\left(x_{i}\right)}{1-p\left(x_{i}\right)}+\ln \left(1-p\left(x_{i}\right)\right)\right] \\ &=\sum\left[y_{i}\left(\theta \cdot x_{i}\right)-\ln \left(1+e^{\theta \cdot x_{i}}\right)\right] \end{aligned} L(w)=[yilnp(xi)+(1yi)ln(1p(xi))]=[yiln1p(xi)p(xi)+ln(1p(xi))]=[yi(θxi)ln(1+eθxi)]
在机器学习中我们有损失函数的概念,其衡量的是模型预测错误的程度。如果取整个数据集上的平 均对数似然损失,我们可以得到:
J ( w ) = − 1 N ln ⁡ L ( w ) J(w)=-\frac{1}{N} \ln L(w) J(w)=N1lnL(w)
即在逻辑回归模型中,我们最大化似然函数和最小化损失函数实际上是等价的。

5.3 模型求解

LR的损失函数完整表达为:
J ( w ) = − 1 n ( ∑ i = 1 n ( y i ln ⁡ p ( x i ) + ( 1 − y i ) ln ⁡ ( 1 − p ( x i ) ) ) J(w)=-\frac{1}{n}\left(\sum_{i=1}^{n}\left(y_{i} \ln p\left(x_{i}\right)+\left(1-y_{i}\right) \ln \left(1-p\left(x_{i}\right)\right)\right)\right. J(w)=n1(i=1n(yilnp(xi)+(1yi)ln(1p(xi)))

1.梯度下降法
通过 J ( w ) J(w) J(w) w w w 的一阶导数来找下降方向,并且以迭代的方式来更新参数,更新方式为 g i = ∂ J ( w ) ∂ w i = ( p ( x i ) − y i ) x i w i k + 1 = w i k − α g i \begin{aligned}g_{i}=\frac{\partial J(w)}{\partial w_{i}} &=\left(p\left(x_{i}\right)-y_{i}\right) x_{i} \\w_{i}^{k+1} &=w_{i}^{k}-\alpha g_{i}\end{aligned} gi=wiJ(w)wik+1=(p(xi)yi)xi=wikαgi其中 k \mathrm{k} k 为迭代次数。每次更新参数后,可以通过比较 ∥ J ( w k + 1 ) − J ( w k ) ∥ \left\|J\left(w^{k+1}\right)-J\left(w^{k}\right)\right\| J(wk+1)J(wk) 小于阈值或者到达 最大迭代次数来停止迭代.

2.牛顿法

牛顿法基本思路是,在现有极小点估计值的附近对 f ( x ) f(x) f(x) 做二阶泰勒展开,进而找到极小点的下 一个估计值。假设 w k w^{k} wk 为当前的极小值估计值,那么有: φ ( w ) = J ( w k ) + J ′ ( w k ) ( w − w k ) + 1 2 J ′ ′ ( w k ) ( w − w k ) 2 \varphi(w)=J\left(w^{k}\right)+J^{\prime}\left(w^{k}\right)\left(w-w^{k}\right)+\frac{1}{2} J^{\prime \prime}\left(w^{k}\right)\left(w-w^{k}\right)^{2} φ(w)=J(wk)+J(wk)(wwk)+21J(wk)(wwk)2然后令 φ ′ ( w ) = 0 \varphi^{\prime}(w)=0 φ(w)=0 ,得到了 w k + 1 = w k − J ′ ( w k ) J ′ ′ ( w k ) w^{k+1}=w^{k}-\frac{J^{\prime}\left(w^{k}\right)}{J^{\prime \prime}\left(w^{k}\right)} wk+1=wkJ(wk)J(wk) 。因此有迭代更新式: w k + 1 = w k − J ′ ( w k ) J ′ ′ ( w k ) = w k − H k − 1 ⋅ g k w^{k+1}=w^{k}-\frac{J^{\prime}\left(w^{k}\right)}{J^{\prime \prime}\left(w^{k}\right)}=w^{k}-H_{k}^{-1} \cdot g_{k} wk+1=wkJ(wk)J(wk)=wkHk1gk其中 H k − 1 H_{k}^{-1} Hk1 为海森矩阵: H m n = ∂ 2 J ( w ) ∂ w m ∂ w n = h w ( x ( i ) ) ( 1 − p w ( x ( i ) ) ) x m ( i ) x n ( i ) H_{m n}=\frac{\partial^{2} J(w)}{\partial w_{m} \partial w_{n}}=h_{w}\left(x^{(i)}\right)\left(1-p_{w}\left(x^{(i)}\right)\right) x_{m}^{(i)} x_{n}^{(i)} Hmn=wmwn2J(w)=hw(x(i))(1pw(x(i)))xm(i)xn(i)
此外,这个方法需要目标函数是二阶连续可微的,本文中的 J ( w ) J(\mathrm{w}) J(w) 是符合要求的。

6 逻辑回归和线性回归的比较

  1. 逻辑回归本质上就是在线性回归的基础上,加了Sigmoid函数进行非线性映射,使其成为一个分类模型。
  2. 本质上说,二者都是一个广义线性模型。

其中,由于sigmoid函数的作用:

  • 线性回归是在实数域范围内进行预测,而分类范围则需要在 [0,1],逻辑回归减少了预测范围;
  • 线性回归在实数域上敏感度一致,而逻辑回归在 0 附近敏感,在远离 0 点位置不敏感,这个的好处就是模型更加关注分类边界,可以增加模型的鲁棒性
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Weiyaner

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值