正则化- logistics回归

正则化是一种常见的机器学习技术,它是在模型训练过程中为了防止过拟合而引入的一种约束方法,它通过在模型的损失函数中增加正则项来实现。正则项通常是模型参数的范数(L1 或 L2 范数),通过限制参数的大小来使得模型更加简单,从而减少过拟合的风险。

在 logistic 回归中,正则化可以通过在损失函数中增加一个正则项来实现。L1 正则化通过在损失函数中增加参数向量的 L1 范数,使得许多参数被压缩到 0,从而实现特征选择。L2 正则化通过在损失函数中增加参数向量的 L2 范数,使得每个参数都被惩罚,但不会被压缩到 0。

在实际应用中,可以使用交叉验证等技术来选择最佳的正则化参数。可以使用 Scikit-learn 等 Python 库来实现正则化,例如:

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 定义模型,并指定 L1 正则化
model = LogisticRegression(penalty='l1', solver='liblinear')

# 分割数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练模型
model.fit(X_train, y_train)

# 预测测试集,并计算准确率
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")
`


L1 正则化和 L2正则化的区别

在这个例子中,penalty 参数指定使用 L1 正则化,solver 参数指定使用 liblinear 算法来求解模型参数。在训练过程中,模型会自动对参数进行正则化,并使用交叉验证来选择最佳的正则化参数。最终,可以通过计算准确率来评估模型的性能。

L1 正则化和 L2 正则化都是常用的正则化方法,它们的主要区别在于正则化项的形式不同。

L1 正则化使用 L1 范数作为正则化项,它的形式为: λ ∑ i = 1 n ∣ w i ∣ \lambda\sum_{i=1}^{n}|w_i| λi=1nwi,其中 w i w_i wi 是模型的第 i i i 个参数, λ \lambda λ 是正则化强度。L1 正则化的特点是可以使得某些参数变为 0,从而实现特征选择的效果。

L2 正则化使用 L2 范数作为正则化项,它的形式为: λ ∑ i = 1 n w i 2 \lambda\sum_{i=1}^{n}w_i^2 λi=1nwi2,其中 w i w_i wi 是模型的第 i i i 个参数, λ \lambda λ 是正则化强度。L2 正则化的特点是会让所有参数都变小,但不会变为 0。

因此,L1 正则化主要用于特征选择,可以通过减少参数数量来降低模型的复杂度,避免过拟合。而 L2 正则化则可以使得所有参数都变小,从而对训练数据的噪声更具有鲁棒性,避免过拟合。

在实际应用中,可以使用交叉验证等技术来选择最佳的正则化参数。L1 正则化通常会产生稀疏的权重向量,而 L2 正则化通常会产生更平滑的权重向量。选择使用哪种正则化方法取决于具体的问题和数据。

注:**鲁棒性(robustness)**指的是模型对于异常值和噪声的健壮性,即在数据中存在噪声或异常值的情况下,模型能够仍然保持较好的性能,不容易被这些噪声或异常值所影响。

在现实应用中,数据往往包含噪声或异常值,这些异常值或噪声可能来自于传感器错误、数据收集错误、数据处理错误等因素。如果模型对这些异常值或噪声非常敏感,那么模型的性能会受到很大的影响,导致预测结果不可靠。

因此,在机器学习和统计学中,鲁棒性是一个很重要的概念。模型的鲁棒性越好,表示模型对于异常值和噪声的适应能力越强,预测结果也越可靠。为了提高模型的鲁棒性,可以采用一些方法,如正则化、集成学习、异常值检测和处理等。

评估模型的鲁棒性

  • 均方误差(Mean Square
    Error,MSE):均方误差是衡量模型预测结果与实际观测值之间误差的常用指标。当模型具有较好的鲁棒性时,MSE较小。
  • 平均绝对误差(Mean Absolute
    Error,MAE):平均绝对误差是另一种衡量模型预测结果误差的指标。与均方误差不同,平均绝对误差对于大误差的惩罚更重,因此对于鲁棒性的评估更加敏感。
  • R平方(R-squared,R2):R平方是衡量模型对于观测值变异性解释程度的指标。当模型具有较好的鲁棒性时,R平方较高。
  • 对偶曲率(duality
    gap):对偶曲率是衡量优化算法鲁棒性的指标之一。当对偶曲率很小或趋近于零时,表示优化算法能够找到全局最优解的可能性更大,模型的鲁棒性也更好。
  • 离群点检测指标(Outlier Detection Metrics):如LOF、Isolation Forest、One-class
    SVM等指标,可以用来检测和处理数据集中的离群点,从而提高模型的鲁棒性。

需要注意的是,不同的指标适用于不同的应用场景和数据集,应该综合考虑来评估模型的鲁棒性。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值