用人话讲明白逻辑回归Logistic regression

本文以浅显易懂的语言介绍了逻辑回归,重点解释了从线性回归到sigmoid函数的转变,以及如何用逻辑回归解决分类问题。逻辑回归通过sigmoid函数将连续值转换为概率,适合用于预测事件发生的可能性。文章还探讨了多元场景下的逻辑回归、似然函数、最大似然估计、损失函数和梯度下降法在求解逻辑回归模型中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


今天梳理一下逻辑回归,这个算法由于简单、实用、高效,在业界应用十分广泛。注意咯,这里的“逻辑”是音译“逻辑斯蒂(logistic)”的缩写,并不是说这个算法具有怎样的逻辑性。

前面说过,机器学习算法中的监督式学习可以分为2大类:

  • 分类模型:目标变量是分类变量(离散值);
  • 回归模型:目标变量是连续性数值变量。

逻辑回归通常用于解决分类问题,例如,业界经常用它来预测:客户是否会购买某个商品,借款人是否会违约等等。

实际上,“分类”是应用逻辑回归的目的和结果,但中间过程依旧是“回归”

为什么这么说?

因为通过逻辑回归模型,我们得到的计算结果是0-1之间的连续数字,可以把它称为“可能性”(概率)。对于上述问题,就是:客户购买某个商品的可能性,借款人违约的可能性。

然后,给这个可能性加一个阈值,就成了分类。例如,算出贷款违约的可能性>0.5,将借款人预判为坏客户。

1.从线性回归说起

考虑最简单的情况,即只有一个自变量的情况。比方说广告投入金额x和销售量y的关系,散点图如下,这种情况适用一元线性回归。
在这里插入图片描述
线性回归的介绍文章戳这里:用人话讲明白线性回归LinearRegression

但在许多实际问题中,因变量y是分类型,只取0、1两个值,和x的关系不是上面那样。假设我们有这样一组数据:给不同的用户投放不同金额的广告,记录他们购买广告商品的行为,1代表购买,0代表未购买。
在这里插入图片描述
假如此时依旧考虑线性回归模型,得到如下拟合曲线:
在这里插入图片描述

线性回归拟合的曲线,看起来和散点毫无关系,似乎没有意义。但我们可以在计算出 y ^ \hat{y} y^的结果后,加一个限制,即 y ^ > 0.5 \hat{y}>0.5 y^>0.5,就认为其属于1这一类,购买了商品,否则认为其不会购买,即:
y ^ = { 1 , f ( x ) > 0.5 0 , f ( x ) ≤ 0.5 \hat{y}=\left\{\begin{array}{l}1, f(x)>0.5 \\ 0, f(x) \leq 0.5\end{array}\right. y^={ 1,f(x)>0.50,f(x)0.5

由于拟合方程为 y ^ = 0.34 ∗ x \hat{y}=0.34*x y^=0.34x,那么上面的限制就等价于:
y ^ = { 1 , x > 1.47 0 , x ≤ 1.47 \hat{y}=\left\{\begin{array}{l}1, x>1.47 \\ 0, x \leq 1.47\end{array}\right. y^={ 1,x>1.470,x1.47

这种形式,非常像单位阶跃函数:
y = { 0 , z < 0 0.5 , z = 0 1 , z > 0 y=\left\{\begin{array}{l} 0, z<0 \\ 0.5, z=0 \\ 1, z>0 \end{array}\right. y=0,z<00.5,z=01,z>0

图像如下:
在这里插入图片描述
我们发现,把阶跃函数向右平移一下,就可以比较好地拟合上面的散点图呀!但是阶跃函数有个问题,它不是连续函数。

理想的情况,是像线性回归的函数一样,X和Y之间的关系,是用一个单调可导的函数来描述的

2.sigmond函数

实际上,逻辑回归算法的拟合函数,叫做sigmond函数:
f ( z ) = 1 1 + e − z f(z)=\frac{1}{1+e^{-z}} f(z)=1+ez1

函数图像如下(百度图片搜到的图):
在这里插入图片描述
sigmoid函数是一个s形曲线,就像是阶跃函数的温和版,阶跃函数在0和1之间是突然的起跳,而sigmoid有个平滑的过渡。

从图形上看,sigmoid曲线就像是被掰弯捋平后的线性回归直线,将取值范围(−∞,+∞)映射到(0,1) 之间,更适宜表示预测的概率,即事件发生的“可能性”


3.推广至多元场景

用人话讲明白梯度下降Gradient Descent一文中,我们讲了多元线性回归方程的一般形式为:

y = β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β p x p y={\beta}_{0}+{\beta}_{1} {x}_{\mathbf{1} }+{\beta}_{2} {x}_{2 }+\cdots+{\beta}_{p}{x}_{p} y=β0+β1x1+β2x2++βpxp

可以简写为矩阵形式:
Y = X β \boldsymbol{Y}=\boldsymbol{X}\boldsymbol{\beta} Y=Xβ

其中, Y = [ y 1 y 2 ⋮ y n ] , X = [ 1 x 11 ⋯ x 1 p 1 x 21 ⋯ x 2 p ⋮ ⋮ ⋮ 1 x n 1 ⋯ x n p ] , β = [ β 0 β 1 ⋮ β p ] \boldsymbol{Y}=\left[\begin{array}{c}y_{1} \\ y_{2} \\ \vdots \\ y_{n}\end{array}\right], \boldsymbol{X}=\left[\begin{array}{cccc}1 & x_{11} & \cdots & x_{1 p} \\ 1 & x_{21} & \cdots & x_{2 p} \\ \vdots & \vdots & & \vdots \\ 1 & x_{n 1} & \cdots & x_{n p}\end{array}\right], \boldsymbol{\beta}=\left[\begin{array}{c}\beta_{0} \\ \beta_{1} \\ \vdots \\ \beta_{p}\end{array}\right] Y=y1y2yn,X=111x11x21xn1x1px2pxnp,β=β0β1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值