无论线性回归,还是逻辑回归,都需要对假设函数进行设定。而假设函数的设定,将影响到预测结果的准确性。因此,如何判断假设函数是否合适,以及如何修改假设函数将变得十分重要。本文,我们将记录假设函数的正则化。在记录的过程当中,将涉及以下概念。
(1)过度拟合,overfitting
(2)欠拟合,underfitting
(3)正则化,regularization
(4)惩罚项(或正则化项),penalize item
以下为正文。
拟合曲线
假设函数,为N元M次方程式(,)。不同的方程式,代表不同的图形。
例如,
,为直线;
,为抛物线;
,为曲线;
在线性回归中,正是通过设定的方程式(假设函数),画出特定形状的曲线,将尽量多的样本点串联起来。而逻辑回归,则是使用设定的方程式(假设函数),尽量分隔不同样本。但不论串联还是分隔,我们将画出的曲线,称为拟合曲线。
我们仍以房价预估为例,来看一下线性回归中的拟合曲线。
从左至右,图(1)(2)(3)(4)中,蓝色的点为样本集合。横坐标为面积,纵坐标为价格。
分别选取三个的方程式作为假设函数,通过参数推算,可以获得三条不同的曲线。
其中图(4)中的曲线,完美的连接所有样本点。
但经验告诉我们,
(a)在同一地段,面积越大,房价通常越高。
(b)在同一地段,面积越大,单价越低,价格不会呈现以固定比例增长。
因此,图(4)(2)对应的假设函数不合常理。
当有新样本(绿色)加入时,更能进一步证实我们的推测。
相对而言,图(3)中的假设函数较为适中。
我们将图(4)中,对前期样本完美拟合,但对后期样本存在较大偏差的情况,称为过度拟合。
对于图(2)中,无论前期样本,还是后期样本,偏差都较大的情况,称为欠拟合。
当然,逻辑回归中也会存在同样的问题,如图。
通过简单的示例,我们可以了解到,设定合适假设函数的重要性。那么如何设定假设函数呢?
正则化
对比上节例子中的三个假设函数,我们会发现,变量的阶数越高,曲线越扭曲。换一个角度,若将高阶变量看做一个新变量,也可以理解为,变量越多,曲线越扭曲。那么,如何降低高阶变量对结论的影响呢?最简单的方式,就是移除高阶变量,或多余变量。但移除过于简单粗暴,因为变量数量或者高阶变量的减少,将会或多或少的影响结论的准确度。另一方面,移除哪个变量也是一个让人纠结的问题。因此,我们引入正则化(regularization)的概念
正则化的核心思想是,通过在代价函数中添加惩罚项(penalize item,或正则化项),降低某一变量对预估结论的影响。
正则化后的代价函数如下
(1)线性回归代价函数
(2)逻辑回归代价函数
其中为A中的元素,为正则化参数,
而即为惩罚项。
惩罚项的加入,可以防止假设函数的过度拟合问题。
有利也有弊。加入惩罚项,需要初始化正则参数。如果过大,将是的。对于线性回归而言,其假设函数的对应图形将变成一条平行于X轴的直线。对于房价预估问题,这样的假设函数肯定欠拟合。同样,对于其他回归问题,也并非是最好的预估模型。所以,的取值对于正则化是十分重要的。
线性回归的正则化
在线性回归章节中,我们提到过,使用梯度下降和正规方程的两种方式来推算。加入正则参数后,原有方法仍然有效。
梯度下降算法
对于梯度下降算法而言,由于
那么,
与不加正则化项的相比,只是在前多了一个参数项。
通常来说,该参数项是一个趋近于1的值,例如0.99。原因在于,作为样本数量的m通常都是非常巨大,学习率又非常小(学习率太大将影响收敛)。从效果上来看,在正则化后,梯度下降算法变得更加精细了。
正规方程式算法
正规方程的核心思路是,通过使计算出。
那么,加入正则项后,须使得
那么,