内容来自Andrew老师课程Machine Learning的第三章内容的Solving the Problem of Overfitting部分。
1、下面是线性回归的例子,图一、图二、图三反映了三种情况,下见图注释。
2、下面是logistic回归的例子,同样,图一、图二、图三反映了三种情况:
3、过拟合问题产生的原因便是数据量太少,而变量过多,导致虽然能够拟合所有的数据,但是曲线比较曲折。
第一种方案是直接减少特征数,手动保留那些比较重要的特征。但是有时候舍弃特征也舍弃了有用的信息。比如,所有的特征对预测房价都有重要作用,这时候若舍弃特征,舍弃的便是有用的信息。因此,在很多情况下,第一种解决方案并不是很好,那么我们考虑正则化。
正则化保留所有的特征,但是减小参数 θ θ 的大小,当有很多特征,而且每一个特征都对预测结果有影响时,这种方法比较有效。
1、若 θ3 θ 3 、 θ4 θ 4 很小,则拟合函数和二次函数很接近,此时代价函数也会减小很多。
2、虽然将 θj θ j 的参数值减小能够使得函数变得简单,但是我们不知道该将哪些特征的参数减小,不知道哪些特征不重要,因此我们采取了下面的方案,即引入变量 λ λ ,这样就缩小每一个参数 θ1,θ2,θ3,... θ 1 , θ 2 , θ 3 , . . . ,但是注意,我们并没有惩罚 θ0 θ 0 ,因此 θ0 θ 0 的值是最大的(这是约定)
4、 λ λ 的值是人为设定的,如果 λ λ 的值非常大,会出现什么问题呢?
如果 λ λ 的值非常大,我们将会非常大的惩罚 θ1,θ2,...,θn θ 1 , θ 2 , . . . , θ n ,使得 θ1≈0,θ2≈0,θ3≈0 θ 1 ≈ 0 , θ 2 ≈ 0 , θ 3 ≈ 0 ,是一条直线,会发生欠拟合现象。因此,为了使正则化效果较好,我们应该选择比较合适的 λ λ 值。
我们将梯度下降和正规方程应用到线性回归中。
1、在上面内容推导出来的正规化方程的优化目标如下图所示:
2、我们将梯度下降对应的 θ0 θ 0 和 θ1,θ2,...,θn θ 1 , θ 2 , . . . , θ n 分离出来(这样做的原因是我们利用 λ λ 在减小参数的时候惩罚了 θ1,θ2,...,θn θ 1 , θ 2 , . . . , θ n ,而没有惩罚
θ0 θ 0 )。
下面是正则化之后的J(Θ)对应的梯度下降的算法,其中, θ0 θ 0 的梯度下降算法保持不变, θ1,θ2,...,θn θ 1 , θ 2 , . . . , θ n 的发生了一些变化。
因为α、λ和m都是正数,因此 1−αλm<1 1 − α λ m < 1 。又因为,通常情况下,若学习速率α较小,而m较大,此时 1−αλm 1 − α λ m 就只会比1小一点点,相当于把 θj θ j 压缩了一点点之后,再执行原来的更新。
3、下图是正则化线性回归的正规方程,下面的公式算出来的Θ值,能够使得J(Θ)达到全局最小值。
因此,正则化线性回归不仅解决了过拟合的问题,也解决了矩阵不可逆的问题。
本部分内容是将梯度下降和更多的优化技术应用到正则化logistic回归中。
1、下图是正则化logistic回归的代价函数,通过选取合适的λ值,来适当压缩Θ1、Θ2、Θ3……的值,因此能够把拟合函数从一个非常扭曲的图形变成一个相对圆滑的图形。
2、下面对应的是logistic回归的梯度下降算法。
注意:虽然形式上来说,logistic回归的梯度下降算法和线性回归的梯度下降算法是一样的,但是由于在线性回归中, hθ(x)=θTx h θ ( x ) = θ T x ,而在logistic回归中, hθ(x)=11+θ−θTx h θ ( x ) = 1 1 + θ − θ T x ,因此二者是有很大不同的。
3、优化算法如下(之前的一篇文章http://blog.csdn.net/quiet_girl/article/details/70185041上有一个实例,可以参考):