正则化

82 阅读2分钟

正则化

机器学习中的正则化是一种为了减小测试误差的行为。我们在搭建机器学习模型时,最终目的是让模型在面对新数据的时候,可以有很好的表现。当用比较复杂的模型(比如神经网络)去拟合数据时,很容易出现过拟合现象,这会导致模型的泛化能力下降,这时候我们就需要使用正则化技术去降低模型的复杂度,从而改变模型的拟合度。

1.过拟合问题

正则化可以改善或者减少过度拟合的问题。
过拟合的问题就是指我们有非常多的特征,通过学习得到的模型能够非常好地适应训练集(代价函数可能几乎为0),但是推广到新的数据集上效果会非常的差。

如果我们发现了过拟合问题,应该如何解决?

1.丢弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法来帮忙(例如PCA);
2.正则化。 保留所有的特征,但是减少参数的大小。

2. 代价函数

发生过拟合时,我们通过在代价函数中增加惩罚项来防止过拟合:
在这里插入图片描述

其中 λ \lambdaλ 又称为正则化参数 。根据惯例,我们不对 θ 0 \theta_{0}θ0​ 项进行惩罚。

3. 线性回归的正则化

正则化线性回归的代价函数为:
在这里插入图片描述

4. Logistic回归 的正则化

正则化Logistic回归的代价函数为
在这里插入图片描述

对于Logistic回归在代价函数最小时参数 θ θθ的求解,我们之前学习过两种优化算法:首先学习了使用梯度下降法来优化代价函数 J ( θ ) J(\theta)J(θ) ,然后学习了更高级的优化算法,这些高级优化算法需要我们自己设计代价函数J ( θ ) J(\theta)J(θ)。