线性模型

Linear Regression · Logistic Regression · Regularization

问题定义

线性模型假设输入特征与输出之间存在线性关系,通过学习权重参数来建模这种关系。核心问题包括:连续值预测(回归)、二分类问题、多分类问题,以及如何处理过拟合问题。

核心算法

线性回归

基本原理

通过最小化均方误差来学习线性模型参数,假设输出是输入特征的线性组合。

y = w₀ + w₁x₁ + w₂x₂ + ... + wₙxₙ + ε

求解方法

最小二乘法:直接求解正规方程;梯度下降:通过迭代优化损失函数。

逻辑回归

基本原理

通过 sigmoid 函数将线性组合映射到 [0,1] 区间,用于二分类问题。

P(y=1|x) = 1 / (1 + e^(-(w₀ + w₁x₁ + ... + wₙxₙ)))

损失函数

对数似然损失(交叉熵损失),通过梯度下降或牛顿法优化。

正则化方法

岭回归 (Ridge)

添加 L2 正则化项,防止过拟合,适用于特征高度相关的情况。

Loss = MSE + λ||w||²

LASSO

添加 L1 正则化项,不仅防止过拟合,还能实现特征选择(将不重要特征的权重置为0)。

Loss = MSE + λ||w||₁

Elastic Net

结合 L1 和 L2 正则化,平衡特征选择和稳定性。

Loss = MSE + λ₁||w||₁ + λ₂||w||²

开源实现

scikit-learn Linear Models

提供 LinearRegression、LogisticRegression、Ridge、Lasso、ElasticNet 等实现,支持多分类的 One-vs-Rest 和 Multinomial 策略。

statsmodels

提供更详细的统计信息和检验,适合需要统计推断的场景。

PyTorch nn.Linear

深度学习框架中的线性层,可用于构建更复杂的神经网络模型。

应用场景

参考文献