机器学习第二十一讲:正则化 → 给模型带定位手环防走极端路线
资料取自《零基础学机器学习》。
查看总目录:学习大纲
关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南
正则化是模型的减肥教练,通过控制参数大小防止过拟合(类似于防止暴饮暴食)[^8-4]。通过健身房训练案例详解:
一、核心原理(健身阻力带限制训练)
健身对比实验:
- 自由深蹲:过度追求大重量 → 姿势变形受伤(过拟合)
- 带阻力带训练:限制重量范围 → 稳定提高核心力量(正则化)
- 比赛成绩:有约束小组平均提升15% [参考材料5]
类比说明:就像父母给青少年设置门禁时间,防止过度放纵[^8-4]
二、技术原理(房价预测案例)
问题描述:线性回归模型过度拟合噪声数据
# 无正则化模型
model = LinearRegression()
model.fit(X_train, y_train) # 测试集R2=0.72
# 加入L2正则化(岭回归)
from sklearn.linear_model import Ridge
ridge = Ridge(alpha=0.5) # 调节力度的阀门[^8-4]
ridge.fit(X_train, y_train) # 测试集R2提升至0.85
数学原理:
原始损失函数 = 预测误差平方和
L2正则化损失 = 原始损失 + α*(w1² + w2² + ... + wn²) # 给参数带上紧箍咒
效果对比:参数值压缩30%-50%,模型泛化能力提升 [参考材料4]
三、类型对比(不同减肥方案)
| 正则化类型 | 作用方式 | 适用场景 | [参考材料5] |
|------------|-----------------------|------------------|
| L1(Lasso)| 让部分参数归零 → 特征选择 | 高维度稀疏数据 |
| L2(岭回归)| 均匀压缩参数值 → 稳定输出 | 中小规模数据集 |
| ElasticNet | L1+L2组合拳 → 平衡效果 | 复杂特征关系 |
案例对比:
- 无正则化:模型参数最大达152.3 → 测试误差0.28
- L2正则化:参数压缩至23.5 → 测试误差0.15
- L1正则化:10个特征参数归零 → 模型更简洁 [参考材料3]
四、实践要点(健身房使用指南)
- 力量调节(α参数):
- 配合策略:
- 先做特征标准化(保证各参数惩罚力度一致)[^4-1]
- 结合交叉验证选择最佳α值(自动找最佳阻力)[8-2][8-3]
- 可视化监控:
import matplotlib.pyplot as plt alphas = [0.001, 0.01, 0.1, 1, 10] scores = [0.72, 0.81, 0.85, 0.83, 0.75] plt.plot(alphas, scores) # 呈现倒U型曲线
典型错误:
目录:总目录
上篇文章:机器学习第二十讲:网格搜索 → 像尝试所有密码组合找最佳解锁方式
下篇文章:机器学习第二十二讲:感知机 → 模仿大脑神经元的开关系统
[3][4][^5]《零基础学机器学习》第八章第五节正则化
[^8-4]《零基础学机器学习》第八章第五节正则化