正则化
正则化
L1正则化和L2正则化是机器学习中用于防止模型过拟合的技术,它们通过向损失函数添加额外的项来实现对模型复杂度的惩罚。
L1 正则化 (Lasso Regularization)
L1正则化通过在损失函数中添加一个与权重系数的绝对值成比例的项来实现。这个额外的项迫使某些权重系数降为零,从而实现特征选择的目的。数学上,如果有一个线性回归模型,其损失函数为:
\[[ L(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)})^2 ]
其中 ( h_{\theta}(x^{(i)}) ) 是模型对第 ( i ) 个样本的预测,( y^{(i)} ) 是真实标签,( \theta ) 是权重参数。
\]
- m代表的是整个训练数据集中的样本数量(注意不是一个Batch的数量)。
- n表示特征的数量或者是输入变量的数量。在特征向量的语境中,n指的是向量中元素的数量,即每个样本有多少个特征。例如,在一个包含3个特征(如身高、体重、年龄)的数据集中,n = 3。
加入L1正则化后,损失函数变为:
\[[ L(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)})^2 + \lambda \sum_{j=1}^{n} |\theta_j| ]
这里的 ( \lambda ) 是正则化参数,控制着正则化项与损失函数之间的平衡。
\]
\[( \sum_{j=1}^{n} |\theta_j| ) 是权重系数的L1范数。
\]
L2 正则化 (Ridge Regularization)
L2正则化通过在损失函数中添加一个与权重系数的平方成比例的项来实现。这个额外的项使得权重系数倾向于接近但不完全等于零,而不是完全消除。数学上,加入L2正则化后的损失函数为:
\[[ L(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)})^2 + \lambda \sum_{j=1}^{n} \theta_j^2 ]
\]
\[( \lambda ) 是正则化参数,而 ( \sum_{j=1}^{n} \theta_j^2 ) 是权重系数的L2范数。
\]
权重衰减 (Weight Decay)
权重衰减是L2正则化的另一种说法,特别是在神经网络中。权重衰减的效果是通过在每次迭代时从权重中减去一个小比例(即乘以一个小于1的因子)来实现的,这实际上等同于在损失函数中添加一个与权重平方成比例的项。数学上,如果原始的更新规则是:
\[[ \theta = \theta - \alpha \cdot \nabla_{\theta} L(\theta) ]
\]
那么带有权重衰减的更新规则变为:
\[[ \theta = (1 - \alpha \lambda) \theta - \alpha \cdot
abla_{\theta} L(\theta) ]
\]
这与L2正则化的效果是相同的。因此,权重衰减和L2正则化在数学上是等价的。
这两种正则化技术都有助于防止模型过拟合,提高模型在未见数据上的泛化能力。L1正则化倾向于产生稀疏解,而L2正则化倾向于产生较小的权重值。

浙公网安备 33010602011771号