正则化
代价函数的正则化是为了防止训练模型过拟合,我们训练模型是为了寻找一个相对接近于真实规则的规则,但是不能为了使接近程度为0,就使训练模型可以拟合每一个样本,从而失去了模型的泛化能力,其实这样的模型对我们预测新样本来说是没有意义的。
代价函数的代价值符合我们可以接受的范围时,有两种情况,第一种就是找到了一个相对不错的模型,对于训练样本的大部分情况都可以拟合的很好,所以代价很低;第二种情况就是过拟合,模型为了迎合代价值的这一种情况,将自身的曲线变得很扭曲,以至于可以拟合所以的点,达到代价值很低的这种情况。
我们知道,第一种情况是我们想要的,但是第二种绝对不是我们想要的。在模型训练中,其实很容易出现过拟合的情况,所以为了缓解这种情况轻易的发生,我们需要对代价函数做一些改变。
在模型的训练过程中,没一次训练,都会有一组权重参数产生,我们给所有组的权重参数同时加上一个相对相同的值,其实并不影响谁最后是最小值,同加同减,最后最小的还是最小的。所以我们决定为代价函数加上一点点惩罚,就是当模型出现过拟合而导致代价很低时,我们要加上一个很大的数,将代价值提起来,来告诉模型,这并不是我们想要的。这就是正则化项的功能。
对于恰好拟合的参数来说,加入正则化项,其值对代价整体并没有很大的影响。
正则化分为l1正则化,和l2正则化
这里介绍的是l2正则化
l2正则化是为原来的代价函数加上所有参数theta的均方和,因为在发生过拟合的时候,曲线过于弯曲会导致某一项的theta值很大,所以加上theta的均方和,会使即使过拟合的代价不大ÿ