L1正则化 L2正则化
时间: 2024-11-18 07:13:44 浏览: 11
L1_L1正则化_
5星 · 资源好评率100%
L1和L2正则化都是在机器学习和统计学中用于防止过拟合的技术,它们通常与线性模型如逻辑回归或支持向量机的优化过程中引入。
**L1正则化(也称为Lasso正则化)[^4]**:
L1正则化通过添加到损失函数中的绝对值惩罚项来工作。其数学形式是`λ * ||w||_1`,其中`λ`是正则化强度,`w`是权重向量,`||·||_1`表示L1范数(即向量元素之和的绝对值)。这会使得一些权重变为零,因此它常用于特征选择,因为非零权重对应的特征被认为是最重要的。
**L2正则化(也称为Ridge正则化)[^4]**:
L2正则化使用的是平方和惩罚项,即`λ * ||w||_2^2`,其中`||·||_2^2`表示L2范数(即向量元素平方和的平方根)。L2正则化会让权重趋向于更小但不为零的值,不会完全消除某些特征,所以它更适合需要保留所有特征的情况。
在Python的Scikit-Learn库中,可以使用`L1Penalty`(对于L1)和`Ridge`(对于L2)类来实现这两种正则化:
```python
from sklearn.linear_model import Lasso, Ridge
# L1正则化示例
lasso = Lasso(alpha=λ_value)
lasso.fit(X_train, y_train)
# L2正则化示例
ridge = Ridge(alpha=λ_value)
ridge.fit(X_train, y_train)
```
在这里,`α`(lambda值)控制正则化的强度。
阅读全文