正则化的理解

正则化是防止过拟合、增强模型泛化能力的重要手段。它通过添加规则(限制)来约束模型参数,减少模型复杂度。本文详细介绍了正则化的概念、一般正则项和深入理解,探讨了L1和L2正则化的区别,以及它们在不同场景下的适用性。正则化不仅有助于模型简化,还能提高模型的解释性。

目录

一、Why & What 正则化

1 概念

2、先讨论几个问题:

二、一般正则项

三、深入理解


一、Why & What 正则化


我们总会在各种地方遇到正则化这个看起来很难理解的名词,其实它并没有那么高冷,是很好理解的

首先,从使用正则化解决了一个什么问题的角度来看:正则化是为了防止过拟合, 进而增强泛化能力。用白话文转义,泛化误差(generalization error)= 测试误差(test error),其实就是使用训练数据训练的模型在测试集上的表现(或说性能 performance)好不好

如上图,红色这条“想象力”过于丰富上下横跳的曲线就是过拟合情形。结合上图和正则化的英文 Regularizaiton-Regular-Regularize,直译应该是:规则化(加个“化”字变动词,自豪一下中文还是强)。什么是规则?你妈喊你6点前回家吃饭,这就是规则,一个限制。同理,在这里,规则化就是说给需要训练的目标函数加上一些规则(限制),让他们不要自我膨胀。正则化,看起来,挺不好理解的,追其根源,还是“正则”这两字在中文中实在没有一个直观的对应,如果能翻译成规则化,更好理解。但我们一

### 什么是正则化 在机器学习领域,正则化是一种通过向损失函数添加额外约束来减少模型复杂性的方法[^1]。其主要目的是为了防止模型过拟合训练数据,从而提高泛化能力。 正则化的核心思想是在原有的损失函数基础上增加一个正则化项,该正则化项通常是对模型参数大小的一种惩罚机制[^2]。这种惩罚可以抑制某些权重过大或不必要的特征对预测的影响,从而使模型更加简单和平滑。 ### 正则化的实现方式 具体来说,在优化过程中,除了最小化原始的目标函数外,还会考虑附加的正则化项。对于线性回归或其他类似的监督学习算法而言,目标是最小化如下形式的总成本: \[ J(\theta) = \text{Loss} + \lambda R(\theta) \] 其中: - \( J(\theta) \) 是最终的成本函数; - Loss 表示实际误差(如均方差),衡量的是模型输出与真实标签之间的差距; - \( R(\theta) \) 则代表正则化项,用来控制参数规模; - 超参 λ 控制着两者之间权衡的比例关系。 #### L1 和 L2 的区别 L1 正则化会使得部分系数变为零,因此具有稀疏特性;而 L2 不会使任何单一维度完全消失,但它倾向于让所有权重都较小一些。这两种不同的行为源于各自采用的不同范数计算方式——绝对值之和 vs 平方根平方和的形式。 ```python import numpy as np def lasso_regression(X, y, alpha=0.1): from sklearn.linear_model import Lasso model = Lasso(alpha=alpha) model.fit(X, y) return model.coef_ def ridge_regression(X, y, alpha=0.1): from sklearn.linear_model import Ridge model = Ridge(alpha=alpha) model.fit(X, y) return model.coef_ ``` 上述代码展示了如何利用 Python 中 `sklearn` 库分别实现基于 L1 (Lasso) 及 L2 (Ridge) 方法的线性回归分析过程。 ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

且行且安~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值