[林轩田]14-规范化

news/2025/2/12 19:23:51

[TOC]

监督机器学习问题无非就是“minimizeyour error while regularizing your parameters”,也就是在规则化参数的同时最小化误差。最小化误差是为了让我们的模型拟合我们的训练数据,而规则化参数是防止我们的模型过分拟合我们的训练数据。

我们需要保证模型“简单”的基础上最小化训练误差,这样得到的参数才具有好的泛化性能(也就是测试误差也小),而模型“简单”就是通过规则函数来实现的。

另外,规则项的使用还可以约束我们的模型的特性。这样就可以将人对这个模型的先验知识融入到模型的学习当中,强行地让学习到的模型具有人想要的特性,例如稀疏、低秩、平滑等等。

要知道,有时候人的先验是非常重要的。前人的经验会让你少走很多弯路,这就是为什么我们平时学习最好找个大牛带带的原因。一句点拨可以为我们拨开眼前乌云,还我们一片晴空万里,醍醐灌顶。对机器学习也是一样,如果被我们人稍微点拨一下,它肯定能更快的学习相应的任务。只是由于人和机器的交流目前还没有那么直接的方法,目前这个媒介只能由规则项来担当了。

——引用自 大神 邹博

规范化多项式集合

regularition : 是解决overfitting的一种方法 。

低次方的多项式集合会包在高次方的多项式集合里面 。

回归约束

规范化的过程就是,从高次多项式走回到低次多项式。就是在问题里面加上一些条件,约束:高次的系数都为0;

Paste_Image.png

也就是我想找一个二次多项式,实际上它也是个十次多项式,只不过他的3次以上的系数都是0;

宽松的回归约束 looser constraint 稀疏规则化

只限制等于0的参数的个数,而不限制究竟哪个参数是0;这个其实是L0范数,规则化的结果是使得W稀疏
Paste_Image.png

当我们看到 式子中出现的布尔表达式时,像PLA一样它的最优化是NP-hard的问题。

规则化的Wreg

这里我们只要求这个参数向量W的模要有限制。不关心它到底有几个参数,这样的多项式集合我们叫做Hc

Paste_Image.png

H2与Hc是有重合部分的。overlaps。 包含结构也是有的。这样我们就跳脱了NP-hard的困境。
Paste_Image.png

我们把这样的多项式集合得出的参数叫做规则化的w(在我们规则的条件下找出来的w)

Paste_Image.png

weight decay regularization

是L2范数: ||W||2。它也不逊于L1范数,它有两个美称,在回归里面,有人把有它的回归叫“岭回归”(Ridge Regression),有人也叫它“权值衰减weight decay”。这用的很多吧,因为它的强大功效是改善机器学习里面一个非常重要的问题:过拟合。过拟合通俗的讲法就是应试能力很强,实际应用能力很差。擅长背诵知识,却不懂得灵活利用知识。
那么为什么L2范数能防止过拟合呢。 L2范数是指向量各元素的平方和然后求平方根。我们让L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0,而是接近于0,这里是有很大的区别的哦。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。为什么越小的参数说明模型越简单?我也不懂,我的理解是:限制了参数很小,实际上就限制了多项式某些分量的影响很小(看上面线性回归的模型的那个拟合的图),这样就相当于减少参数个数。
L2范数可以防止过拟合,提升模型的泛化能力。

矩阵形式表示规则化回归问题

Paste_Image.png
上面是我们要优化的带上约束的表达式。对于式子里面每一子项的平方和的形式可以变换成求一个向量的L2范数平方的形式。

Paste_Image.png
转化为这个样子 ,这个条件是我们的W需要在半径为根号C的圆里面。
Paste_Image.png

在优化的过程中,如果没有条件,梯度的反方向就是我们的目标函数要减小的方向。但是我们现在有了约束条件,我们不能走出圆的范围,如果下降的方向有个分量与圆的法向量的方向垂直。如果梯度的反方向与圆的法向量平行,那么我们就不能继续优化了。

Paste_Image.png

所以我们优化的结果是梯度的反方向与圆的法向量平行。
在下面的推导中,我们可以看出求Wreg就是一个线性的运算,这个过程在统计学中叫做岭回归"ridge regression"
Paste_Image.png
其实我们求上面那个式子等于零,就相当于找它的积分的最小值咯,这样我们的最优化的目标函数其实稍微有了一点改变。我们叫它augmented Error 加上去的错误。
Paste_Image.png
民间还有个说法就是,规则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或惩罚项(penalty term)。

一般来说,监督学习可以看做最小化下面的目标函数:


其中,第一项L(yi,f(xi;w)) 衡量我们的模型(分类或者回归)对第i个样本的预测值f(xi;w)和真实的标签yi之前的误差。因为我们的模型是要拟合我们的训练样本的嘛,所以我们要求这一项最小,也就是要求我们的模型尽量的拟合我们的训练数据。但正如上面说言,我们不仅要保证训练误差最小,我们更希望我们的模型测试误差小,所以我们需要加上第二项,也就是对参数w的规则化函数Ω(w)去约束我们的模型尽量的简单。
——引用自 大神 邹博

从下面的图片可以看出,加上一点点的λ,效果就会很好了。
Paste_Image.png

Paste_Image.png叫做权值递减规则化,过大的λ会使得对W的限制变得大,W就会去得很小。

当数据都处于[-1,1]之间时,对于高次幂 $$ X^Q_n $$ 的数据,就会比其他次幂小的多。如果我们模型需要高次幂,但是$$ X^Q_n $$很小,那么就必须增大权重来提高其影响力,但是惩罚函数又会限制权重的增大,这就照成了问题。方法就是让Φ(x)内的向量是互相正交的,即Legendre polynomials 勒让德多项式。

这里写图片描述

q+1次方的多项式进行了一些坐标准换,但是因为各个次数多项式之间不是垂直的,这导致在次数较低的地方效果还不错,但是次数高的地方,惩罚过重。在多项式空间里面找到垂直的多项式。

Paste_Image.png

选择最好的惩罚函数

  1. 根据我们想要的target function f来选 
    比如,我知道我的f(x)是偶函数,那么我就希望我的g内偶次幂的权重大。即我要尽可能降低我奇次幂的权重。即把惩罚函数设为

    这里写图片描述

  2. 如果我希望我们模型光滑,简单,那就用L1规范 
    这里写图片描述

  3. 如果我希望我的模型任意达到最优,就是效果好,那就用L2规范 
    这里写图片描述 

L1要求低,精度低,但计算量小

L1,L2 规范

这里写图片描述 
L1要求低,精度低,但计算量小,是凸函数的,但w=0时是不可微分的。它的解常常是稀疏的。
L2规范化比较平滑是凸函数。

从下图我们可以看出,不同的noise需要不同的λ。
Paste_Image.png

我们选择规则项(惩罚项)应该看它惩罚谁比较重,就知道它倾向于选择什么样的hypothesis.

Paste_Image.png

参考资料

[机器学习中的范数规则化之(一)L0、L1与L2范数

regularization 规范化(L1,L2等等):加惩罚函数降低过拟合


https://dhexx.cn/news/show-3396756.html

相关文章

消息中间件大全

在当今互联网的世界里,互联网行业的“三高”问题已经是常态,也因此我们必须要掌握一些可以应对三高问题的技术。 鉴于很多传统行业的小伙伴,对“三高”不是特别清楚,这里咱么先来解释下三高的概念。 首先,这个三高绝对…

leetcode--79--单词搜索

题目描述: 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示…

剪掉狗尾巴会略好 简评《窃听风云》

隐约能看到戏骨,画面和音效有几分大片姿色。可惜后头一个主旋律的结尾,断绝了让人回味的残念。刘青云是个好演员,古天乐未脱离《门徒》里摇尾乞怜的烂崽神色(挺纳闷一个月薪两万多块的警察咋生了那么多不同年龄段的娃)…

Mysql执行计划(Explain)说明

原 Mysql 执行计划(Explain) 说明https://blog.csdn.net/tianlesoftware/article/details/7043794版权声明: https://blog.csdn.net/tianlesoftware/article/details/7043794 Depending on thedetails of your tables, columns, indexes, a…

终于搞懂分布式锁是什么了!

当下在互联网技术架构中,最流行的莫过于分布式架构了。为什么大家纷纷都采用分布式架构呢? 1、高效低廉,将部署在高性能机的程序分散在多个小型机中部署; 2、扩展性强,可随着业务的扩展而横向扩展系统的性能&#xff…

Windows Mobile 搭建OpenGL ES开发环境

VS2005 Windows Mobile 5 SDK多普达T3238 Windows Mobile 6.1 Professional 1、到http://sourceforge.net/projects/ogl-es/files/下载ogles-bin-1.0.0.zip。2、解压缩ogles-bin-1.0.0.zip,把GLES文件夹复制到D:\Program Files\Windows CE Tools\wce500\Windows Mo…

876. 链表的中间结点

题目描述: 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]…

Linux运维学习历程-第十二天-bash脚本与程序包管理

概述:本章主要介绍bash编程中的函数和数组以及字符串处理和程序包管理工具等,来帮助小伙伴们更进一步的了解bash编程的内容和软件的安装、更新、卸载、查询等操作。一、函数介绍函数function是由若干条shell命令组成的语句块,实现代码重用和模…

Windows下搭建MinGW+GTK开发环境

Windows下搭建MinGWGTK开发环境1、到http://sourceforge.net/projects/mingw/下载MinGW-5.1.6.exe,运行它,Next->Download and install->Next->I Agree->Current->Next,选择MinGW base tools、g compiler、MinGW Make&#xf…

淘宝抖音美团头条都在用的推荐系统到底是什么呢?

打开淘宝,首页内容会给你推荐很多商品,这些商品有的是你曾经浏览过、类似的物品,有些是你可能潜意识里有过的物品,于是你不断的刷着淘宝,不断的点进去看,不断的买买买。打开抖音,首页推荐了很多…