机器学习基石(林轩田)第十四章 笔记与感悟总结
14.1 Regularization - Regularized Hypothesis Set
我们可以看出,右侧的数据拟合的并不好,因为我们用来拟合的方程维数太高!!!
我们想让右侧的overfit 变成左侧的看起来不错的 ‘regularized fit’。
我们想从高次的H慢慢回退到低次的Hypothesis、
命名的历史是:当有限的数据点可以用多个方程来进行拟合时,我们需要选择最合适的那个。
弹幕:穿过样本点的函数特别多,regularization就是从这些函数中找出比较好的
我们看出了将高次的w置为0,则变成了低维的
我们依旧可以从10次多项式中寻找w,但是最后要求高维的w满足限制条件(等于0)。
那么为什么我们不直接从(2+1)维的w中寻找,而偏偏要这么的麻烦呢?
答:我们希望能够拓宽自己的视野,让我们在推导后面的问题容易一些。
现在我们放松一点条件,变成只要至少有8个的wq=0便可以。
我们发现变成了介于H2与H10之间的一种选项。
我们称是稀疏的(sparse)假设集。
这让我们想到了PLA中的是非题,此类是非题是一个NP-hard难题。
我们为了避免NP-hard难题,于是我们再做一步转换。
我们将是非的多少项之和,转变成了系数平方之和小于某个常数的问题。
当C趋于无限大的时候,其实就跟没有限制条件一样,就和10个系数的时候一样了(H10)
我们把H(C)的这种形式,叫做规则化的hypothesis,即在规则和条件约束下的hypothesis,得到的权重叫做。
14.2 Regularization - Weight Decay Regularization
我们将新的问题表示成向量和矩阵的形式。
w的数学意义是一个球,球心在原点,而球的半径小于。我们只要这个球里面的w,而外面的都不要。这个“球”是高维空间上的“球”。
我们没有条件时,只要找到谷底的方向滚下去就好。
例如Wlin是谷底,我们会朝着这个方向滚下去。
然而我们现在有了条件显示,是一个“球”。只有在红色圈圈内的才是我们的最后解。
假如说,我们已经在了“球”的边边上,那么我们怎么判断是不是已经到最优点了?
球的法向量,告诉我们不能往外走。
而绿色的箭头,则表明是可以继续往下滚的方向。它满足我们的要求。
那么当我们到达了一个可能的解时(at optimal solution),它梯度的反方向和我们的方向是平行的。
我们就设平行为已知,得到一个方程。
的方法叫做Lagrange multiplier 拉格朗日乘子法。用来解有条件约束的问题。
感觉好像变得更复杂了,原本求一个,现在变成了既要求
,有要求
了。
假设有个很神的同学(oracle 先知)告诉你是多少,我们就很容易求
是多少了
很容易证明,只要>0,我们的
是存在的(正定的)。
我们对这个梯度+2/N *
的式子进行左右积分,等价于变成 最小化这个积分后的式子、
我们把这个式子叫做,其式子里面没有constraint
=0的时候就会发生Overfitting,而
很大的时候就无法描述了。
哲学:一小点regularization就能有很多的效果。
我们设置的越大,说明我们希望的w越小越好。因为我们是在求解最小化的问题。
很大,相当于是在惩罚w,就相当于是要较小的C。(小半径)
我们常常称之为weight-decay regularization,即把权重变小的一种方法。
我们使用了一点小技巧。polynomial transform有小缺点。即当x在[-1,1]之间的时候,当x的维数很高的时候,它就很小,我们如果仍想让这个高维x在最后具有影响力,那么对应的w就得非常非常大。
我们就好像是在过度惩罚了高维度的x。
我们使用了坐标转换,q+1个坐标,但是因为彼此之间不是垂直的,我们做regularization就除了一些问题。
我们的想法是在高维空间上找出一组垂直的基底。
这些基底叫做Legendre polynomials
我们列出了前五个legendre polynomials
14.3 Regularization - Regularization and VC Theory
我们原本是做个有限制的最小化的问题。
我们间接的把VC Bound做好
当我们最小化Eaug的时候,间接的使用VC Bound
回头来看Augmented Error 和 VC Bound其实有一些相似和不一样的地方。
表示w这条曲线本身到底有多么的复杂,单一的hypothesis有多么的复杂。
表示整个hypothesis set有多复杂。
如果前者与后者的复杂度十分相近的话,比如说,最高项的系数和Hypothesis集里的最高项有点联系的话。也许,我们做好的想法,可以通过做好
解决。即,做好
,能够做好
。
理论上,我们要用的代价,
但是实际上我们只考虑在C里面的那些谷底的人,即
我们prefer那些w比较短的方式。
regularization可能会使实际代价的小一些。但是这跟A(演算法)有关。
14.4 Regularization - General Regularization
最好告诉我们说好的hypothesis在哪一个方向。告诉我们一个比较小的范围。
比如,我们知道目标函数是偶数次方的,我们就可以想办法在regularization的过程中,将奇数次方前面的系数调小一些。
或者选择比较有说服力的,能够使函数变得平滑一些的函数。
或者是容易能够optimize的方式。
但是如果选择了坏的regularization,那么还有最后的保护,即=0,大不了不regularization了。
比如有个1126个维度的模型,用L1只需要算几个,因此会比较快。
其实是用来踩刹车的那种方法。因此,如果噪声很多的话,就需要更大的
。
因为路况越不好,我们就需要踩更多刹车。
因为我们拿到样本时,其实并不知道noise是多少。因此我们需要做一个合适的的估计。