例子:多项式曲线拟合
机器学习的目标是:假设我们观察到一个实值输入变量x,我们想使用这个观察来预测实值目标变量t的值。那么我们怎么得到目标变量的值呢?
现在假设给定一个训练集。这个训练集由
x⃗ 的N次观测组成,写作x⃗ ≡(x1,...,xN)T ,对应的t⃗ 的观测值,记作t⃗ ≡(t1,...,tN)T 。怎么理解这个训练集(x⃗ ,t⃗ ),可以举一个例子来说明,假设房子的价格与面积是成正比关系的,简单的假设它们之间的关系为t=kx (这只是为了说明简单举的一个例子请不要当真)那么我们现在就可以采集一系列已知的房子的面积和价格从而利用这些数据来求解k,那么这里的房子的面积就是上面的输入变量x,价格就是上面的t值。图1.2展示了由N = 10个数据点组成的图像。
图 1.2: 由N = 10个数据点组成的训练集的图像,用蓝色圆圈标记。每个数据点由输入变量x的观测以及 对应的目标变量t组成。绿色曲线给出了用来生成数据的sin(2πx)函数(之所以生成的点不全在绿色的曲线上面,是因为生成数据的时候本身就存在一定的噪音的干扰)。我们的目标是对于某些新的x值, 预测t的值,而无需知道绿色曲线。
由于我们并不知道图中的绿色的曲线,而仅仅有图中的蓝色的一些离散的点,那么我们的目标是尽可能的找出一条曲线来拟合这些蓝色的点,观察这些点我们可以猜测曲线具有下面的多项式曲线一些关系(当然你也可以猜测具有一些其它的关系,这里只是为了说明的简单)
其中M是多项式的阶数,
xj 表示x的j次幂。多项式系数w0,...,wM 整体记作向量w⃗ 。 注意,虽然多项式函数y(x,w⃗ )是x的一个非线性函数,但是它是系数w⃗ 的一个线性函数。多项式函数的这种关于未知参数满足线性关系的函数被叫做线性模型。
那么现在的问题就是如何求解适当的
其中,因子
12 是为了后续运算方便而加入的。当且仅当函数y(x, w)对所有的训练数据点均做出正确预测时,误差函数为零。平方和误差函数的几何表示见图1.3。
图 1.3: 误差函数E(w⃗ )对应于每个数据点与函数y(x,w⃗ )之间位移(绿色垂直线)的平方和(的一半)。
我们剩下来需要做的就是优化目标函数min E(
为了方便计算我们设
其中
令导数为0,得到
为了求解上面的
t⃗ ∗ 现在我们还需要做的一步工作是确定M也就是阶数的取值,很明显不同的阶数取得的结果是不同的,结果可以看下图
图 1.4: 用红色曲线表示,不同阶数的多项式曲线拟合图1.2中的数据集。
图中可以看到上边的两幅图拟合的效果并不好,而当M=9的时候拟合的情况又太好了(这里要说明一下,我们最多也就能取到M=9,因为我们只有10个数据,最多也就可以求10个未知数),你可能会说这难道不好吗?这样确实不好,这样会出现一种情况叫做过拟合,什么是过拟合?过拟合时指在训练集上表现的比较好,而在测试集上面表现的效果很差。什么又是测试集?测试集是指训练的时候没有使用的那部分数据集,一般我们会把的到的已知的数据分为两个部分,一个是训练集,一个测试集,训练集用来训练我们的到的模型,训练集来观察我们训练的模型到底好不好。下图是M取不同的值对应的测试误差与训练误差的图形。
图中我们可以看到当M<3的时候训练集的测试误差与训练误差都很大,M=3-8的时候,训练误差与测试误差相对来说都比较小,当M=9的时候训练误差为0,而测试误差非常大。
现在这里给了我们一个选择比较合适的M的一个方法,就是作出测试误差与训练误差的折线图,然后根据折线图选择一个比较合适的M值,从而求出对应的
图 1.6: 使用M = 9的多项式对M = 15个数据点(左图)和N = 100个数据点(右图)通过最小化平方和误差函数的方法得到的解。我们看到增大输入数据集的规模会减小过拟合问题。
但是现实生活中我们可能得不到许多的数据,同时使用比较小的M的时候限制了模型的灵活性。为了解决上面两个限制带来的约束,我们可以采用正则化的方法。这种技术涉及到给误差函数
这里面的
图 1.7: 使用正则化的误差函数
E⎯⎯⎯(w⃗ ) ,用M = 9的多项式拟合图1.2中的数据集。其中正则化参数λ选择 了两个值,分别对应于ln λ = −18和ln λ = 0。
从图中可以看到即使没有增加数据,也没有使用较小的M有图我们依然得到了一个比较不错的模型来拟合原始的曲线。为什么正则化会有这样的效果这设计到了一个权重衰减的概念。什么意思呢?请看下图在没有添加正则化化以及数据的情况下当M取不同值的时候的权重的取值
表 1.1: 不同阶数的多项式的系数
w⃗ ∗ 的值。观察随着多项式阶数的增加,系数的大小是如何剧烈增大的。
当加入了正则化项以后的权重系数取值如下:
表 1.2: 不同的正则化参数λ下,M = 9的多项式的系数
w⃗ ∗ 的值。注意,ln λ = −∞对应于没有正则化的模 型,即图1.4右下角的模型。我们看到,随着λ的增大,系数的大小逐渐变小
为什么
现在来说明一下为什么加入正则化项以后会有权重的衰减。可以看下边的图
图 3.4: 未正则化的误差函数的轮廓线(蓝色)以及黄色的正则化限制区域。左图是使用L2范数惩罚项限制区域,右图是使用L1范数惩罚项的套索正则化项的限制区域。
首先解释一下图中的蓝色一圈圈的东西是什么,其实它是一个三维图的俯视图形,比如看下面的图形
其实就是我们从右边的图形从上向下看就得到了左边的图形。圈与圈之间的间隔代表陡峭的程度,间隔越小越陡峭,反之越平缓。中心点代表的是取极大值或极小值。让我们回到图3.4可以看到当不加正则化项的时候图形就是一圈圈蓝色的园,而最优的解就是园的中心。当加了正则化项的时候有就是图中的黄色的圆,那么解就必须同时满足这两个限制,也就是解的取值必须在这两个图形相交的地方,可以看到最优的解就为图中的
最后说明一点,我们上面的基向量的取值为