正则化的引入
解线性方程组:
这项工作有很多种做法,下面介绍两种,如下图所示,有一些数据点需要拟合,拟合的方法有很多。
1) 构造线性函数①,这种函数比较简单,此时
2) 构造函数②,通过插值,实现对已有数据的完美拟合,模型比较复杂,得到一个多项式:
下面考虑模型选择(Model Selection)问题: 现在数据已经得到,但对它们有两种看法:
- 构造一个简单的模型:比如一条直线,只有两个参数,在这个模型下存在误差,由于N>n ,所以方程个数比未知数个数多,只能使用最小二乘法。
- 构造一个复杂的模型:非线性的多项式模型,且次数不低于N,将X从一个长矩阵变成一个方阵(N=n ),此时,对已有数据完美拟合,没有误差。
关于这里的误差,通常分为两类:训练误差(Training Error)和测试误差(Test Error),其中训练误差就是统计上的均方误差,测试误差就是预测误差。
训练误差:存在于现在已有的数据中,即用现有数据进行训练或学习时引入的误差。
测试误差:存在于新的数据中,当新的数据到来时,对其拟合时引入的误差。
上面的两个模型相比,第一个模型比较简单,而且保持了一种"弹性",使得新数据到来时,模型有较好的适应能力,那么我们选择哪个模型更好呢?这种模型选择问题,在统计上又叫做Bais-Variance Tradeoff:均方误差包括偏差和方差,其中偏差是指数据的期望和真值的偏差,方差是指估计的抖动和误差,那么估计一定要无偏吗?答案是不一定,因为在总体均方误差一定的条件下,由于偏差是系统误差,容易纠正,而均方误差是随机的,难以控制,所以适当牺牲一些无偏性,可以得到估计起伏的减小。
现有很多数据以及与其相配合的系数:
Tikhonov正则化
对于一个模型,试图做下面的优化:
希望得到的模型既满足约束条件,同时又是最简单的,这就是一个多(双)目标优化问题。这个优化问题可以等价为:
在优化过程中,不仅要减小误差,还要使模型尽可能简化,模型复杂度越高,惩罚项越大,目标函数就会自行降低复杂度。
正则,在数学上代表平滑,一个剧烈抖动的曲线于一条斜线相比,后者正则性更好,因此平滑后正则性变好。
拟合过程中不能过于相信数据,因为数据中不可避免地存在噪声,对每一个数据做毫无误差的拟合没有太大意义。
在模型中应避免剧烈起伏。模型复杂,意味着模型的多项式阶数高。多项式的系数大,意味着系统稍微有一点扰动,模型就会发生很大的变化,模型的稳定性就低。正则化能够惩罚模型的复杂度,进而提高其稳定性。
Tikhonov正则化用2-范数惩罚模型的复杂性,达到一边优化,一边选择模型的效果,而之前在做优化的时候,模型已经确定了。下面进行简单分析:
因为文档中公式较多,不方便编辑,所以本文使用截图的方式展现。如需电子版文档,可以通过下面的链接进行下载。