正则化(Regularization) 线性回归

假设我们的模型是:

image.png

我们可以从之前的事例中看出,正是那些高次项导致了过拟合的产生,所以如果我们能让这些高次项的系数接近于0的话,我们就能很好的拟合了。 所以我们要做的就是在一定程度上减小这些参数 θ 的值,这就是正则化的基本方法。我们决定要减少θ3和θ4的大小,我们要做的便是修改代价函数,在其中θ3和θ4 设置一点惩罚。这样做的话,我们在尝试最小化代价时也需要将这个惩罚纳入考虑中,并最终导致选择较小一些的和。 修改后的代价函数如下:
image.png

但是,假如我们有非常多的特征,我们并不知道其中哪些特征我们要惩罚,我们将对所有的特征进行惩罚,并且让代价函数最优化的软件来选择这些惩罚的程度。这样的结果是得到了一个较为简单的能防止过拟合问题的假设:
image.png

其中 λ 又称为正则化参数(Regularization Parameter
注:根据惯例,我们不对 θ0 进行惩罚。经过正则化处理的模型与原模型的可能对比如下图所示:
image.png

如果选择的正则化参数 λ 过大,则会把所有的参数都最小化了,导致模型变成
h _ { 0 }(x) =θ_0
,也就是上图中红色直线所示的情况,造成欠拟合。
那为什么增加的一项
λ = \sum_{j=1}^{n}θ^2
可以使的值减小呢?
因为如果我们令 λ 的值很大的话,为了使Cost Function 尽可能的小,所有的 θ 的值(不包括
θ_0
)都会在一定程度上减小。 但若 λ 的值太大了,那么 θ(不包括
θ_0
)都会趋近于0,这样我们所得到的只能是一条平行于 x 轴的直线。 所以对于正则化,我们要取一个合理的 λ 的值,这样才能更好的应用正则化。


对于线性回归的求解,我们之前推导了两种学习算法:一种基于梯度下降,一种基于正规方程。

正则化线性回归的代价函数为:

image.png

{\theta_0}:={\theta_0}-a\frac{1}{m}\sum\limits_{i=1}^{m}{(({h_\theta}({{x}^{(i)}})-{{y}^{(i)}})x_{0}^{(i)}})


{\theta_j}:={\theta_j}-a[\frac{1}{m}\sum\limits_{i=1}^{m}{(({h_\theta}({{x}^{(i)}})-{{y}^{(i)}})x_{j}^{\left( i \right)}}+\frac{\lambda }{m}{\theta_j}]


for
j=1,2,...n

对上面的算法中j=1,2,...,n 时的更新式子进行调整可得:

{\theta_j}:={\theta_j}(1-a\frac{\lambda }{m})-a\frac{1}{m}\sum\limits_{i=1}^{m}{({h_\theta}({{x}^{(i)}})-{{y}^{(i)}})x_{j}^{\left( i \right)}}​
可以看出,正则化线性回归的梯度下降算法的变化在于,每次都在原有算法更新规则的基础上令\theta值减少了一个额外的值。

我们同样也可以利用正规方程来求解正则化线性回归模型,方法如下所示:

image.png

图中的矩阵尺寸为
(n+1)*(n+1)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容