逻辑回归(Logistic Regression)

发布于:2025-08-28 ⋅ 阅读:(17) ⋅ 点赞:(0)

逻辑回归=线性回归+sigmoid函数

逻辑回归简介

逻辑回归(Logistic Regression)是一种用于解决二分类问题的统计学习方法,通过将线性回归的输出映射到[0,1]区间,表示概率。尽管名称中包含“回归”,但逻辑回归实际用于分类任务

核心公式(Sigmoid函数)

逻辑回归使用Sigmoid函数(或称Logistic函数)将线性组合映射为概率
$ P(y=1 \mid \mathbf{x}) = \sigma(\mathbf{w}^T \mathbf{x} + b) = \frac{1}{1 + e^{-(\mathbf{w}^T \mathbf{x} + b)}} $
其中:

  • $\mathbf{x}$为输入特征向量,$\mathbf{w}$为权重参数,$b$为偏置项。
  • $\sigma(\cdot)$为Sigmoid函数,输出范围(0,1)

极大似然估计

极大似然估计的基本概念

极大似然估计(Maximum Likelihood Estimation, MLE)是一种统计方法,用于从观测数据中估计参数。其核心思想是找到一组参数,使得观测数据在该参数下出现的概率最大

似然函数 $L(\theta \mid x)$ 是参数$\theta$的函数,表示在给定观测数据 $x$ 时参数 $\theta$的可能性。

MLE 的目标是最大化似然函数:\hat{\theta}{\text{MLE}} = \arg\max{\theta} L(\theta \mid x)

极大似然估计的步骤

构建似然函数 假设观测数据 $x_1, x_2, \dots, x_n$ 独立同分布(i.i.d.),

似然函数为:L(\theta \mid x) = \prod_{i=1}^n f(x_i \mid \theta)

其中 $f(x_i \mid \theta)$ 是概率密度函数(连续变量)或概率质量函数(离散变量)。

取对数似然函数 

由于连乘计算复杂,通常取对数似然函数: \ell(\theta \mid x) = \log L(\theta \mid x) = \sum_{i=1}^n \log f(x_i \mid \theta)

求导并解方程 对 $\ell(\theta \mid x)$ 关于 $\theta$ 求导,并令导数为零:\frac{\partial \ell(\theta \mid x)}{\partial \theta} = 0(使得原函数取到最值)

解此方程得到 $\hat{\theta}_{\text{MLE}}$


举个例子就是:

假设我有一个硬币,正常来说投到正反的概率相同,假设投出正面的概率是i,那么投出反面的概率是1-i,那么我可以很轻松算出投出4个正面和6个反面的概率是P=(i)^4(1-i)^6

如果投出正面的概率是0.5,那么投出反面的概率也是0.5,投出4个正面和6个反面的概率是P=(0.5)^4(1-0.5)^6

但是现在投出正面的概率不知道,可能也不是0.5,需要我去计算,而我在投出10枚硬币后,发现出现了四次正面和六次反面,其概率是P=(i)^4(1-i)^6

既然事情已经发生,为了计算概率,当然要使这件事情发生的概率尽可能大,

比如抽奖10抽中了6抽,我不会认为抽中一次的概率是1%,而是认为在60%左右

这里使P=(i)^4(1-i)^6发生概率尽可能大才会使得结果更准确,

这个函数由两部分组成,当i趋近于1时(i-1)会接近0导致结果变小,

同样当i趋近于0时i会接近0,也导致结果变小,

所以求解办法一般是求导,当导数为0取到极大值


正常来说回归函数是用来算一个估计值,逻辑回归会把这个值限制在0-1之间

这里的转化会造成一部分损失

逻辑回归的损失函数

逻辑回归通常使用对数似然损失函数(Log-Likelihood Loss),也称为交叉熵损失(Cross-Entropy Loss)。其核心思想是通过最大化似然函数来优化模型参数。

二元逻辑回归的损失函数

对于二元分类问题(标签为0或1),损失函数定义如下:

L(y, \hat{y}) = - \frac{1}{N} \sum_{i=1}^{N} \left[ y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i) \right]

其中:

  • y_i是第 i 个样本的真实标签(0或1)。
  • \hat{y}_i 是模型预测的概率值(即\hat{y}_i = \sigma(w^T x_i + b),其中 \sigma 是sigmoid函数)。
  • N是样本数量。

损失函数的推导

逻辑回归假设数据服从伯努利分布,通过极大似然估计推导损失函数:

解释:

  • 定义sigmoid函数将线性输出映射到概率: \hat{y}_i = \sigma(z_i) = \frac{1}{1 + e^{-z_i}}, \quad z_i = w^T x_i + b
  • 似然函数为:\mathcal{L}(w, b) = \prod_{i=1}^{N} \hat{y}_i^{y_i} (1 - \hat{y}_i)^{1 - y_i}
  • 取负对数似然(转换为最小化问题): -\log \mathcal{L}(w, b) = -\sum_{i=1}^{N} \left[ y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i) \right]

损失函数的作用

损失函数计算出的结果用于衡量模型预测值与真实值之间的差异。这个差异值在机器学习和深度学习中扮演着关键角色,直接影响模型的训练和优化过程。