逻辑回归(Logistic Regression)详解

逻辑回归(Logistic Regression)是一种常见的分类算法,尽管名字中带有“回归”,但它主要用于二分类问题,也可以扩展到多分类任务。

1. 逻辑回归的基本原理

逻辑回归的核心思想是使用**逻辑函数(Sigmoid)**将线性回归的输出转换为概率值:

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

其中,( z ) 是线性回归的结果:

[
z = w_1x_1 + w_2x_2 + … + w_nx_n + b
]

通过 Sigmoid 函数,逻辑回归可以输出一个介于 0 和 1 之间的概率值,并根据设定的阈值(通常为 0.5)将样本分类为 0 或 1。

2. 逻辑回归的决策边界

逻辑回归的决策边界是由权重和偏置确定的超平面。例如:

  • 二维数据中,决策边界是一条直线
  • 三维数据中,决策边界是一个平面
  • 在更高维数据中,决策边界是一个超平面

3. 逻辑回归的损失函数

为了优化逻辑回归模型,我们使用对数损失函数(Log Loss),即交叉熵损失(Cross-Entropy Loss)

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

其中:

  • ( y_i ) 是真实标签(0 或 1)。
  • ( \hat{y}_i ) 是预测的概率值。
  • ( m ) 是样本总数。

4. 逻辑回归的优化方法

逻辑回归使用**梯度下降(Gradient Descent)**来最小化损失函数,更新权重 ( w ) 和偏置 ( b ):

[
w = w - \alpha \frac{\partial L}{\partial w}, \quad b = b - \alpha \frac{\partial L}{\partial b}
]

其中 ( \alpha ) 是学习率。

常见优化方法:

  • 批量梯度下降(BGD)
  • 随机梯度下降(SGD)
  • 小批量梯度下降(Mini-batch SGD)

5. 逻辑回归的 Python 实现

使用 scikit-learn 进行逻辑回归建模:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
from sklearn.metrics import accuracy_score

# 生成数据集
X, y = make_classification(n_samples=1000, n_features=2, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练逻辑回归模型
model = LogisticRegression()
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"模型准确率: {accuracy:.2f}")

6. 逻辑回归的优缺点

优点

  • 计算简单,易于实现。
  • 训练速度快,适用于大规模数据。
  • 结果可解释性强,能提供特征权重。

缺点

  • 只能处理线性可分问题,无法解决复杂非线性关系。
  • 对异常值较敏感。
  • 不能自动进行特征选择,可能需要手动筛选。

7. 逻辑回归的扩展

  • 多分类逻辑回归(Softmax 回归):用于多类别分类任务。
  • 正则化逻辑回归(L1/L2 正则化):防止过拟合。
  • 带核的逻辑回归(Kernel Logistic Regression):适用于非线性数据。
Contents
  1. 1. 1. 逻辑回归的基本原理
  2. 2. 2. 逻辑回归的决策边界
  3. 3. 3. 逻辑回归的损失函数
  4. 4. 4. 逻辑回归的优化方法
  5. 5. 5. 逻辑回归的 Python 实现
  6. 6. 6. 逻辑回归的优缺点
  7. 7. 7. 逻辑回归的扩展
|