逻辑回归算法的原理与损失函数推导
字数 2059 2025-10-27 08:13:40

逻辑回归算法的原理与损失函数推导

题目描述
逻辑回归是一种用于解决二分类问题的经典机器学习算法。给定一个包含特征向量 \(x\) 和二元标签 \(y \in \{0, 1\}\) 的数据集,逻辑回归的目标是构建一个模型,预测 \(P(y=1 \mid x)\)(即样本属于类别1的概率)。需要推导逻辑回归的假设函数、损失函数(对数损失),并解释如何使用梯度下降法优化参数。


解题过程

1. 假设函数的设计
逻辑回归的核心是将线性回归的连续输出映射到概率值(0到1之间)。线性回归的假设函数为 \(h_\theta(x) = \theta^T x\),但其输出范围是全体实数,无法直接表示概率。因此引入 Sigmoid 函数(又称逻辑函数):

\[\sigma(z) = \frac{1}{1 + e^{-z}} \]

该函数将任意实数 \(z\) 映射到 \((0, 1)\) 区间。将线性部分代入 Sigmoid 函数,得到逻辑回归的假设函数:

\[h_\theta(x) = \sigma(\theta^T x) = \frac{1}{1 + e^{-\theta^T x}} \]

其中 \(\theta\) 为模型参数,\(h_\theta(x)\) 表示 \(P(y=1 \mid x)\)


2. 损失函数的推导
由于假设函数是非线性的,均方误差(MSE)会导致损失函数非凸,难以优化。逻辑回归使用 对数损失函数(Log Loss),其思想来源于最大似然估计。

  • 对于单个样本 \((x, y)\),其概率可表示为:

\[ P(y \mid x) = \begin{cases} h_\theta(x) & \text{if } y=1 \\ 1 - h_\theta(x) & \text{if } y=0 \end{cases} \]

  • 将两者合并为一个表达式:

\[ P(y \mid x) = [h_\theta(x)]^y [1 - h_\theta(x)]^{1-y} \]

  • 对于整个数据集,似然函数为所有样本概率的乘积:

\[ L(\theta) = \prod_{i=1}^m P(y^{(i)} \mid x^{(i)}) \]

  • 为方便计算,取对数似然函数:

\[ \ell(\theta) = \sum_{i=1}^m \left[ y^{(i)} \log h_\theta(x^{(i)}) + (1-y^{(i)}) \log (1 - h_\theta(x^{(i)})) \right] \]

  • 损失函数通常需要最小化,因此将对数似然取负号,得到 对数损失函数

\[ J(\theta) = -\frac{1}{m} \sum_{i=1}^m \left[ y^{(i)} \log h_\theta(x^{(i)}) + (1-y^{(i)}) \log (1 - h_\theta(x^{(i)})) \right] \]

其中 \(m\) 是样本数,除以 \(m\) 是为了归一化。


3. 梯度下降优化
要最小化 \(J(\theta)\),需计算其梯度(偏导数)。关键步骤包括:

  • 计算 Sigmoid 函数的导数:

\[ \sigma'(z) = \sigma(z)(1 - \sigma(z)) \]

  • 对损失函数求关于参数 \(\theta_j\) 的偏导(以单个样本为例):

\[ \frac{\partial J(\theta)}{\partial \theta_j} = -\left[ y \cdot \frac{1}{h_\theta(x)} - (1-y) \cdot \frac{1}{1-h_\theta(x)} \right] \cdot \frac{\partial h_\theta(x)}{\partial \theta_j} \]

代入 \(h_\theta(x) = \sigma(\theta^T x)\) 和 Sigmoid 的导数,化简后可得:

\[ \frac{\partial J(\theta)}{\partial \theta_j} = (h_\theta(x) - y) \cdot x_j \]

  • 对于所有样本,梯度下降的更新规则为:

\[ \theta_j := \theta_j - \alpha \cdot \frac{1}{m} \sum_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)}) x_j^{(i)} \]

其中 \(\alpha\) 是学习率。


4. 总结

  • 逻辑回归通过 Sigmoid 函数将线性输出映射为概率。
  • 损失函数基于最大似然估计推导,保证凸性便于优化。
  • 梯度下降更新规则与线性回归形式相似,但假设函数不同。
逻辑回归算法的原理与损失函数推导 题目描述 逻辑回归是一种用于解决二分类问题的经典机器学习算法。给定一个包含特征向量 \( x \) 和二元标签 \( y \in \{0, 1\} \) 的数据集,逻辑回归的目标是构建一个模型,预测 \( P(y=1 \mid x) \)(即样本属于类别1的概率)。需要推导逻辑回归的假设函数、损失函数(对数损失),并解释如何使用梯度下降法优化参数。 解题过程 1. 假设函数的设计 逻辑回归的核心是将线性回归的连续输出映射到概率值(0到1之间)。线性回归的假设函数为 \( h_ \theta(x) = \theta^T x \),但其输出范围是全体实数,无法直接表示概率。因此引入 Sigmoid 函数 (又称逻辑函数): \[ \sigma(z) = \frac{1}{1 + e^{-z}} \] 该函数将任意实数 \( z \) 映射到 \( (0, 1) \) 区间。将线性部分代入 Sigmoid 函数,得到逻辑回归的假设函数: \[ h_ \theta(x) = \sigma(\theta^T x) = \frac{1}{1 + e^{-\theta^T x}} \] 其中 \( \theta \) 为模型参数,\( h_ \theta(x) \) 表示 \( P(y=1 \mid x) \)。 2. 损失函数的推导 由于假设函数是非线性的,均方误差(MSE)会导致损失函数非凸,难以优化。逻辑回归使用 对数损失函数 (Log Loss),其思想来源于最大似然估计。 对于单个样本 \( (x, y) \),其概率可表示为: \[ P(y \mid x) = \begin{cases} h_ \theta(x) & \text{if } y=1 \\ 1 - h_ \theta(x) & \text{if } y=0 \end{cases} \] 将两者合并为一个表达式: \[ P(y \mid x) = [ h_ \theta(x)]^y [ 1 - h_ \theta(x) ]^{1-y} \] 对于整个数据集,似然函数为所有样本概率的乘积: \[ L(\theta) = \prod_ {i=1}^m P(y^{(i)} \mid x^{(i)}) \] 为方便计算,取对数似然函数: \[ \ell(\theta) = \sum_ {i=1}^m \left[ y^{(i)} \log h_ \theta(x^{(i)}) + (1-y^{(i)}) \log (1 - h_ \theta(x^{(i)})) \right ] \] 损失函数通常需要最小化,因此将对数似然取负号,得到 对数损失函数 : \[ J(\theta) = -\frac{1}{m} \sum_ {i=1}^m \left[ y^{(i)} \log h_ \theta(x^{(i)}) + (1-y^{(i)}) \log (1 - h_ \theta(x^{(i)})) \right ] \] 其中 \( m \) 是样本数,除以 \( m \) 是为了归一化。 3. 梯度下降优化 要最小化 \( J(\theta) \),需计算其梯度(偏导数)。关键步骤包括: 计算 Sigmoid 函数的导数: \[ \sigma'(z) = \sigma(z)(1 - \sigma(z)) \] 对损失函数求关于参数 \( \theta_ j \) 的偏导(以单个样本为例): \[ \frac{\partial J(\theta)}{\partial \theta_ j} = -\left[ y \cdot \frac{1}{h_ \theta(x)} - (1-y) \cdot \frac{1}{1-h_ \theta(x)} \right] \cdot \frac{\partial h_ \theta(x)}{\partial \theta_ j} \] 代入 \( h_ \theta(x) = \sigma(\theta^T x) \) 和 Sigmoid 的导数,化简后可得: \[ \frac{\partial J(\theta)}{\partial \theta_ j} = (h_ \theta(x) - y) \cdot x_ j \] 对于所有样本,梯度下降的更新规则为: \[ \theta_ j := \theta_ j - \alpha \cdot \frac{1}{m} \sum_ {i=1}^m (h_ \theta(x^{(i)}) - y^{(i)}) x_ j^{(i)} \] 其中 \( \alpha \) 是学习率。 4. 总结 逻辑回归通过 Sigmoid 函数将线性输出映射为概率。 损失函数基于最大似然估计推导,保证凸性便于优化。 梯度下降更新规则与线性回归形式相似,但假设函数不同。