手把手带你推导“逻辑回归”核心公式

在机器学习中,逻辑回归是一种用于分类问题的模型,它的输出是一个概率值,表示某个样本属于某个类别的概率。

比如,在医疗诊断中,逻辑回归可以输出患者患病的概率。

逻辑回归不仅在医疗领域大显身手,还在金融、市场营销等众多领域发挥着重要作用。可以说,逻辑回归是数据分析的必备工具之一。


一、逻辑回归基础


在介绍逻辑回归之前,我们先回顾一下线性回归。

线性回归是一种用于回归问题的模型,它的目标是找到一条直线,让这条直线尽可能地“贴合”数据点。

图1. 线性回归

然而,线性回归在处理分类问题时会遇到一些问题。

比如,线性回归的输出是一个连续的数值,而分类问题需要的是一个离散的类别标签(如0或1)。

这就需要一种新的模型来解决分类问题,逻辑回归应运而生。


二、逻辑回归的核心公式


逻辑回归(Logistic Regression)是一种用于二分类问题的统计模型。

其核心公式是 Sigmoid 函数,也称为 Logistic 函数,它将线性回归的输出映射到 [0,1] 区间内,表示为概率。

逻辑回归的公式如下:

P(y=1∣x)=11+e−(β0+β1x1+⋯+βpxp) P(y = 1|x) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \cdots + \beta_p x_p)}} P(y=1∣x)=1+e(β0+β1x1++βpxp)1

其中:

  • P(y=1∣x)P(y = 1|x)P(y=1∣x) 是给定特征 xxx 的条件下,目标变量 yyy 等于 1 的概率。
  • β0,β1,…,βp\beta_0, \beta_1, \ldots, \beta_pβ0,β1,,βp 是模型的参数,其中 β0\beta_0β0 是截距项,β1,…,βp\beta_1, \ldots, \beta_pβ1,,βp 是特征系数。
  • x1,x2,…,xpx_1, x_2, \ldots, x_px1,x2,,xp 是特征变量。
图2. Sigmoid 函数图像

Sigmoid 函数 的图形是一个 S 形曲线,当线性组合 β0+β1x1+⋯+βpxp\beta_0 + \beta_1 x_1 + \cdots + \beta_p x_pβ0+β1x1++βpxp 趋向于正无穷时,P(y=1∣x)P(y = 1|x)P(y=1∣x) 趋向于 1;当线性组合趋向于负无穷时,P(y=1∣x)P(y = 1|x)P(y=1∣x) 趋向于 0。

逻辑回归的目标是找到参数 β0,β1,…,βp\beta_0, \beta_1, \ldots, \beta_pβ0,β1,,βp,使得模型的预测概率与实际观测值之间的差异最小。

这通常可以通过极大似然估计(Maximum Likelihood Estimation, MLE)来实现,即最大化似然函数或等价地最小化负对数似然函数(Negative Log-Likelihood, NLL)。

对于一个包含 nnn 个独立样本的数据集 {(xi,yi)}i=1n\{(x_i, y_i)\}_{i=1}^n{(xi,yi)}i=1n,其中 yi∈{0,1}y_i \in \{0, 1\}yi{0,1},似然函数为:

L(β)=∏i=1nP(yi∣xi)=∏i=1n[P(yi=1∣xi)]yi[1−P(yi=1∣xi)]1−yi L(\beta) = \prod_{i=1}^{n} P(y_i|x_i) = \prod_{i=1}^{n} \left[P(y_i = 1|x_i)\right]^{y_i} \left[1 - P(y_i = 1|x_i)\right]^{1-y_i} L(β)=i=1nP(yixi)=i=1n[P(yi=1∣xi)]yi[1P(yi=1∣xi)]1yi

负对数似然函数为:

NLL(β)=−∑i=1n[yilog⁡P(yi=1∣xi)+(1−yi)log⁡(1−P(yi=1∣xi))] NLL(\beta) = - \sum_{i=1}^{n} \left[ y_i \log P(y_i = 1|x_i) + (1 - y_i) \log (1 - P(y_i = 1|x_i)) \right] NLL(β)=i=1n[yilogP(yi=1∣xi)+(1yi)log(1P(yi=1∣xi))]

通过最小化负对数似然函数,可以得到模型参数的极大似然估计。这通常使用梯度下降或其他优化算法来实现。

综上所述,逻辑回归的核心公式是 Sigmoid 函数,它将线性组合的输出映射到概率值。通过极大似然估计,可以找到最适合数据的模型参数。


三、逻辑回归公式推导


好的!接下来我从零开始,一步步推导逻辑回归的核心公式,特别是利用极大似然估计来求解参数的过程。

图3. 逻辑回归原理示意图

这个过程会涉及大量的数学推导,我会尽量详细地解释每一步🤗🤗🤗。

3.1 模型定义

逻辑回归是一种用于二分类问题的模型。假设我们有一组数据点 (xi,yi)(\mathbf{x}_i, y_i)(xi,yi),其中 xi\mathbf{x}_ixi 是特征向量,yi∈{0,1}y_i \in \{0, 1\}yi{0,1} 是目标变量。

逻辑回归模型的目标是预测 y=1y = 1y=1 的概率,即:

P(y=1∣x)=σ(βTx) P(y = 1|\mathbf{x}) = \sigma(\beta^T \mathbf{x}) P(y=1∣x)=σ(βTx)

其中,σ(z)\sigma(z)σ(z) 是 Sigmoid 函数:

σ(z)=11+e−z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+ez1

βTx\beta^T \mathbf{x}βTx 是线性部分:

βTx=β0+β1x1+β2x2+⋯+βnxn \beta^T \mathbf{x} = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_n x_n βTx=β0+β1x1+β2x2++βnxn

3.2 参数求解

逻辑回归通过极大似然估计来求解模型参数。

极大似然估计的基本思想是:找到一组参数,使得观测到的数据出现的概率最大。对于二分类问题,每个样本 iii 的似然函数可以表示为:

P(yi∣xi,β)=σ(βTxi)yi⋅(1−σ(βTxi))1−yi P(y_i|\mathbf{x}_i, \beta) = \sigma(\beta^T \mathbf{x}_i)^{y_i} \cdot (1 - \sigma(\beta^T \mathbf{x}_i))^{1-y_i} P(yixi,β)=σ(βTxi)yi(1σ(βTxi))1yi

这个公式的意思是:

  • 如果 yi=1y_i = 1yi=1,则似然函数为 σ(βTxi)\sigma(\beta^T \mathbf{x}_i)σ(βTxi)
  • 如果 yi=0y_i = 0yi=0,则似然函数为 1−σ(βTxi)1 - \sigma(\beta^T \mathbf{x}_i)1σ(βTxi)

对于整个数据集,似然函数 L(β)L(\beta)L(β) 是所有样本似然函数的乘积:

L(β)=∏i=1nσ(βTxi)yi⋅(1−σ(βTxi))1−yi L(\beta) = \prod_{i=1}^{n} \sigma(\beta^T \mathbf{x}_i)^{y_i} \cdot (1 - \sigma(\beta^T \mathbf{x}_i))^{1-y_i} L(β)=i=1nσ(βTxi)yi(1σ(βTxi))1yi

为了简化计算,我们通常取对数似然函数 ℓ(β)\ell(\beta)(β)

ℓ(β)=log⁡L(β)=∑i=1n[yilog⁡σ(βTxi)+(1−yi)log⁡(1−σ(βTxi))] \ell(\beta) = \log L(\beta) = \sum_{i=1}^{n} \left[ y_i \log \sigma(\beta^T \mathbf{x}_i) + (1 - y_i) \log (1 - \sigma(\beta^T \mathbf{x}_i)) \right] (β)=logL(β)=i=1n[yilogσ(βTxi)+(1yi)log(1σ(βTxi))]

为了找到最优的参数 β\betaβ,我们需要最大化对数似然函数 ℓ(β)\ell(\beta)(β)

3.3 优化方法

由于对数似然函数是一个非线性凸函数,我们通常可以使用数值优化算法,如梯度上升法(或梯度下降法)来求解。

  1. 梯度计算

我们需要计算对数似然函数 ℓ(β)\ell(\beta)(β) 对每个参数 βj\beta_jβj 的梯度:

∂ℓ(β)∂βj=∑i=1n[yiσ(βTxi)−1−yi1−σ(βTxi)]⋅∂σ(βTxi)∂βj \frac{\partial \ell(\beta)}{\partial \beta_j} = \sum_{i=1}^{n} \left[ \frac{y_i}{\sigma(\beta^T \mathbf{x}_i)} - \frac{1 - y_i}{1 - \sigma(\beta^T \mathbf{x}_i)} \right] \cdot \frac{\partial \sigma(\beta^T \mathbf{x}_i)}{\partial \beta_j} βj(β)=i=1n[σ(βTxi)yi1σ(βTxi)1yi]βjσ(βTxi)

根据 Sigmoid 函数的导数:

∂σ(βTxi)∂βj=σ(βTxi)(1−σ(βTxi))⋅xij \frac{\partial \sigma(\beta^T \mathbf{x}_i)}{\partial \beta_j} = \sigma(\beta^T \mathbf{x}_i)(1 - \sigma(\beta^T \mathbf{x}_i)) \cdot x_{ij} βjσ(βTxi)=σ(βTxi)(1σ(βTxi))xij

因此

∂ℓ(β)∂βj=∑i=1n[yi−σ(βTxi)]⋅xij \frac{\partial \ell(\beta)}{\partial \beta_j} = \sum_{i=1}^{n} \left[ y_i - \sigma(\beta^T \mathbf{x}_i) \right] \cdot x_{ij} βj(β)=i=1n[yiσ(βTxi)]xij

  1. 梯度上升更新公式

根据梯度上升算法,参数的更新公式为:

βj=βj+α∂ℓ(β)∂βj \beta_j = \beta_j + \alpha \frac{\partial \ell(\beta)}{\partial \beta_j} βj=βj+αβj(β)

代入梯度:

βj=βj+α∑i=1n[yi−σ(βTxi)]⋅xij \beta_j = \beta_j + \alpha \sum_{i=1}^{n} \left[ y_i - \sigma(\beta^T \mathbf{x}_i) \right] \cdot x_{ij} βj=βj+αi=1n[yiσ(βTxi)]xij

其中,α\alphaα 是学习率,控制每次更新的步长。

通过上述步骤,我们可以找到最优的模型参数 β\betaβ,使得对数似然函数最大。最终的逻辑回归模型为:

P(y=1∣x)=σ(βTx) P(y = 1|\mathbf{x}) = \sigma(\beta^T \mathbf{x}) P(y=1∣x)=σ(βTx)



- 结语 -

今天,我们从零开始,一步步推导了逻辑回归模型的核心公式。我们了解了逻辑回归的基本概念、核心公式、Sigmoid函数,以及极大似然估计。

但逻辑回归也有它的局限性,比如它只能处理线性可分问题,对于复杂的非线性关系就无能为力了。不过别担心,还有其他更强大的模型等着我们去探索,比如支持向量机、决策树等。

最后,希望你能动手实践一下逻辑回归模型,用真实的数据去感受它的魅力。

注:本文中未声明的图片均来源于互联网

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值