[TOC]机器学习
监督机器学习问题无非就是“minimizeyour error while regularizing your parameters”,也就是在规则化参数的同时最小化偏差。最小化偏差是为了让咱们的模型拟合咱们的训练数据,而规则化参数是防止咱们的模型过度拟合咱们的训练数据。函数
咱们须要保证模型“简单”的基础上最小化训练偏差,这样获得的参数才具备好的泛化性能(也就是测试偏差也小),而模型“简单”就是经过规则函数来实现的。性能
另外,规则项的使用还能够约束咱们的模型的特性。这样就能够将人对这个模型的先验知识融入到模型的学习当中,强行地让学习到的模型具备人想要的特性,例如稀疏、低秩、平滑等等。学习
要知道,有时候人的先验是很是重要的。前人的经验会让你少走不少弯路,这就是为何咱们平时学习最好找个大牛带带的缘由。一句点拨能够为咱们拨开眼前乌云,还咱们一片晴空万里,醍醐灌顶。对机器学习也是同样,若是被咱们人稍微点拨一下,它确定能更快的学习相应的任务。只是因为人和机器的交流目前尚未那么直接的方法,目前这个媒介只能由规则项来担当了。测试
——引用自 大神 邹博优化
regularition : 是解决overfitting的一种方法 。spa
低次方的多项式集合会包在高次方的多项式集合里面 。.net
规范化的过程就是,从高次多项式走回到低次多项式。就是在问题里面加上一些条件,约束:高次的系数都为0;blog
也就是我想找一个二次多项式,实际上它也是个十次多项式,只不过他的3次以上的系数都是0;图片
只限制等于0的参数的个数,而不限制究竟哪一个参数是0;这个实际上是L0范数,规则化的结果是使得W稀疏
当咱们看到 式子中出现的布尔表达式时,像PLA同样它的最优化是NP-hard的问题。
这里咱们只要求这个参数向量W的模要有限制。不关心它到底有几个参数,这样的多项式集合咱们叫作Hc
H2与Hc是有重合部分的。overlaps。 包含结构也是有的。这样咱们就跳脱了NP-hard的困境。
咱们把这样的多项式集合得出的参数叫作规则化的w(在咱们规则的条件下找出来的w)
是L2范数: ||W||2。它也不逊于L1范数,它有两个美称,在回归里面,有人把有它的回归叫“岭回归”(Ridge Regression),有人也叫它“权值衰减weight decay”。这用的不少吧,由于它的强大功效是改善机器学习里面一个很是重要的问题:过拟合。过拟合通俗的讲法就是应试能力很强,实际应用能力不好。擅长背诵知识,却不懂得灵活利用知识。
那么为何L2范数能防止过拟合呢。 L2范数是指向量各元素的平方和而后求平方根。咱们让L2范数的规则项||W||2最小,可使得W的每一个元素都很小,都接近于0,但与L1范数不一样,它不会让它等于0,而是接近于0,这里是有很大的区别的哦。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。为何越小的参数说明模型越简单?我也不懂,个人理解是:限制了参数很小,实际上就限制了多项式某些份量的影响很小(看上面线性回归的模型的那个拟合的图),这样就至关于减小参数个数。
L2范数能够防止过拟合,提高模型的泛化能力。
上面是咱们要优化的带上约束的表达式。对于式子里面每一子项的平方和的形式能够变换成求一个向量的L2范数平方的形式。
转化为这个样子 ,这个条件是咱们的W须要在半径为根号C的圆里面。
在优化的过程当中,若是没有条件,梯度的反方向就是咱们的目标函数要减少的方向。可是咱们如今有了约束条件,咱们不能走出圆的范围,若是降低的方向有个份量与圆的法向量的方向垂直。若是梯度的反方向与圆的法向量平行,那么咱们就不能继续优化了。
因此咱们优化的结果是梯度的反方向与圆的法向量平行。
在下面的推导中,咱们能够看出求Wreg就是一个线性的运算,这个过程在统计学中叫作岭回归"ridge regression"
其实咱们求上面那个式子等于零,就至关于找它的积分的最小值咯,这样咱们的最优化的目标函数其实稍微有了一点改变。咱们叫它augmented Error 加上去的错误。
民间还有个说法就是,规则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或惩罚项(penalty term)。
通常来讲,监督学习能够看作最小化下面的目标函数:
其中,第一项L(yi,f(xi;w)) 衡量咱们的模型(分类或者回归)对第i个样本的预测值f(xi;w)和真实的标签yi以前的偏差。由于咱们的模型是要拟合咱们的训练样本的嘛,因此咱们要求这一项最小,也就是要求咱们的模型尽可能的拟合咱们的训练数据。但正如上面说言,咱们不只要保证训练偏差最小,咱们更但愿咱们的模型测试偏差小,因此咱们须要加上第二项,也就是对参数w的规则化函数Ω(w)去约束咱们的模型尽可能的简单。
——引用自 大神 邹博
从下面的图片能够看出,加上一点点的λ,效果就会很好了。
把叫作权值递减规则化,过大的λ会使得对W的限制变得大,W就会去得很小。
当数据都处于[-1,1]之间时,对于高次幂 $$ X^Q_n $$ 的数据,就会比其余次幂小的多。若是咱们模型须要高次幂,可是$$ X^Q_n $$很小,那么就必须增大权重来提升其影响力,可是惩罚函数又会限制权重的增大,这就照成了问题。方法就是让Φ(x)内的向量是互相正交的,即Legendre polynomials 勒让德多项式。
q+1次方的多项式进行了一些坐标准换,可是由于各个次数多项式之间不是垂直的,这致使在次数较低的地方效果还不错,可是次数高的地方,惩罚太重。在多项式空间里面找到垂直的多项式。
根据咱们想要的target function f来选
好比,我知道个人f(x)是偶函数,那么我就但愿个人g内偶次幂的权重大。即我要尽量下降我奇次幂的权重。即把惩罚函数设为
若是我但愿咱们模型光滑,简单,那就用L1规范
若是我但愿个人模型任意达到最优,就是效果好,那就用L2规范
L1要求低,精度低,但计算量小
L1要求低,精度低,但计算量小,是凸函数的,但w=0时是不可微分的。它的解经常是稀疏的。
L2规范化比较平滑是凸函数。
从下图咱们能够看出,不一样的noise须要不一样的λ。
咱们选择规则项(惩罚项)应该看它惩罚谁比较重,就知道它倾向于选择什么样的hypothesis.