机器学习中的正则化技术
在机器学习中,正则化技术(如 Ridge 和 Lasso)主要用于解决过拟合问题,通过限制模型复杂度提高泛化能力。以下是详细说明及实例代码:
一、正则化解决的问题
- 过拟合:模型在训练集表现过好,但测试集表现差。
- 高维数据:当特征数量多或存在多重共线性时,模型易受噪声影响。
- 特征选择:自动识别重要特征(尤其是 Lasso)。
二、Ridge 回归 (L2 正则化)
原理
损失函数中加入 L2 范数惩罚项(系数平方和),使系数趋向于接近零但不为零。
适用场景
- 特征间高度相关(多重共线性)。
- 需要保留所有特征但限制其影响。
Scikit-learn 实例
from sklearn.linear_model import Ridge
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error
# 加载数据并划分训练集和测试集
data = load_diabetes()
X, y = data.data, data.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 标准化数据
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



