课程简单介绍:

接上一节课,这一节课的主题是怎样利用 Regularization 避免 Overfitting。通过给如果集设定一些限制条件从而避免  Overfitting,可是如果限制条件设置的不恰当就会造成 Underfitting。

最后讲述了选择 Regularization 的一些启示式方法。



课程大纲:

1、Regularization

2、Weight decay
3、Choosing a regularizer

1、Regularization

R 有两种方法:
1) Mathematical 
函数近似过程的病态问题。
2) Heuristic
妨碍 Ein 的最小化过程。

本节主要介绍另外一种方法。

模型(如果集):Legendre Polynomials + Linear Regression 
之所以选择该模型进行解说。是由于该模型可以简化我们的推导。利用其它的模型也可以,可是将会添加推导的难度。对于解说问题。这毫无益处。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpdGlhbmh1MjEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="500" alt="">

通过 Legendre 函数。我们把 x 空间下的数据映射到 Z 空间。

然后就能够利用之前学习过的 Linear Regression 知识进行计算、推导。

以下的思路主要就是在 Hq 的前提下添加一些限制条件。(详细是什么限制条件。详细问题详细分析,然而也有一些指导性原则,因此该限制条件是的设定是 heuristic (启示式)的。比方之前讲过的 H2 和 H10 就是在 H10的模型下添加一些限制条件,从而变成 H2,这叫硬性限制)然后在满足该限制条件的前提下求出最小的 Ein。一般都是用求导 = 0 的方法求得。
首先先看看在没有设置限定条件的时候,求得的 W 值(Wlin)


在添加限制条件下:为了表述方便。令此时计算得到的 W 为 Wreg

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpdGlhbmh1MjEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


如今的所有问题就是求出 Wreg,在学习其他的方法(如支持向量机,KKT 等)前,以下利用的方法是不严谨的,是基于对图形的分析而得出来的。
红色的圈表示的是限制条件,我们的目的就是在该圈内找到一个W 使得 Ein 最小。

图中的线都是等高线,箭头表示的是最大梯度方向。Wlin表示在没有限制条件的情况下得到的最小的Ein相应的W值。为了得到最小的 Ein,能够不断缩小蓝色圈。使得图中两个圈相切,此时有 Ein 最小。切点就是相应的 W (如果Wlin不包括在红色圈中,否则限制条件也就没有意义了),此时有蓝色箭头和红色箭头在同一条直线上并且方向相反,即 ▽Ein(Wreg) 正比于 -Wreg。

为了方便,我们如果比例系数是:-2λ/N,之所以要加上
常系数是由于这样有利于推导过程的顺利进行,λ 的取值将直接对结果产生影响。

最后一步的最小化结果就是解。(求导 = 0得到的等式跟倒数第二个等式形式一致,这也是为什么要加上那两个常系数的原因),为了方便,令最后一个等式为 Eaug(W),表示添加限制条件下的 Ein。


watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpdGlhbmh1MjEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="500" alt="">


有了上面的分析,如今问题的求解就非常easy了,例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpdGlhbmh1MjEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="500" alt="">


当 λ 取不同的值得时候会有不同的表现,当 λ 无限大,则 Wreg = λI,因此无法进行学习。当 λ 变为 0 的时候就退化为没有限制条件下的学习问题。以下看看当 λ 取不同的值对于结果的影响:

可以看到,假设我们可以找到一个好的 λ 将会对学习结果产生很积极的影响。反之。则会使得学习陷入还有一个极端:Underfitting,根本就把数据给无视了,好人坏人一起干掉!。

因此选取的时候须要小心。

上面对 Eaug的最小化过程叫做 Weight decay。why?

2、Weight decay

在神经网络中有类似以下的公式:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpdGlhbmh1MjEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="500" alt="">


当 λ 非常小的时候,其效果相当于降低 W(t)。因此叫做 decay。但是。为什么一定要降低?假设添加会如何?依照经验,假设添加 W(t) 会使得结果变得糟糕,例如以下图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpdGlhbmh1MjEz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

在这样的情况下,仅仅有当 λ 等于 0 的时候才干最小化 Eout,此时相当于没有限制条件。当然,这些仅仅是一些指导性的规则,并没有严格的数学限制。事实上机器学习非常多时候都是这样,基于一个如果,然后进行学习。学习的效果跟如果有非常大的关系。或者说如果的好坏直接影响到机器学习的效果。


其实,我们的限制条件能够是多样的,比方。我们能够在上述的限制条件下添加一些參数,使得对于不同项的系数拥有不同的限制条件:
  

一般化:
令 Ω =
Ω(h),当中 Ω 表示Regularizer。通过
Ω 对如果集添加限制条件。
如今就是要最小化:Eaug(h)  = Ein(h) + λ/N*Ω(h)
上面的公式跟:
Eout(h) <= Ein(h) + Ω(H)
非常相似。

曾经我们把 Ein 作为 Eout 的一个代理。如今Eaug将更好的完毕这项工作。

如今问题是该怎样得到
Ω

3、Choosing a regularizer

Ω 的选取是一个启示性的问题。通过对实际的观察,我们得到例如以下实践的规则:
1) 随机噪声一般都是高频的,尖锐的。
2) 确定性噪声一般也不是平滑的。
因此我们限制的一般化原则是使得学习的结果想着平滑、简洁的方向进行。

最后,我们看看 λ  对结果的影响:


加州理工学院公开课:机器学习与数据挖掘_Regularization(第十二课)的更多相关文章

  1. 100天搞定机器学习|Day19-20 加州理工学院公开课:机器学习与数据挖掘

    前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机 ...

  2. 斯坦福大学公开课机器学习:advice for applying machine learning | diagnosing bias vs. variance(机器学习:诊断偏差和方差问题)

    当我们运行一个学习算法时,如果这个算法的表现不理想,那么有两种原因导致:要么偏差比较大.要么方差比较大.换句话说,要么是欠拟合.要么是过拟合.那么这两种情况,哪个和偏差有关.哪个和方差有关,或者是不是 ...

  3. 第19月第8天 斯坦福大学公开课机器学习 (吴恩达 Andrew Ng)

    1.斯坦福大学公开课机器学习 (吴恩达 Andrew Ng) http://open.163.com/special/opencourse/machinelearning.html 笔记 http:/ ...

  4. 加州理工大学公开课:机器学习与数据挖掘_线性模型 II(第IX类)

    课程简要: 主要内容包括线性分类和回归分析简单的回忆.除了Logistic回归分析,具体解说误差测量和算法三方面,同时归纳法的非线性变换的分析. 课程大纲: 1.Review 2.Nonlinear ...

  5. 斯坦福大学公开课机器学习:machine learning system design | error metrics for skewed classes(偏斜类问题的定义以及针对偏斜类问题的评估度量值:查准率(precision)和召回率(recall))

    上篇文章提到了误差分析以及设定误差度量值的重要性.那就是设定某个实数来评估学习算法并衡量它的表现.有了算法的评估和误差度量值,有一件重要的事情要注意,就是使用一个合适的误差度量值,有时会对学习算法造成 ...

  6. 斯坦福大学公开课机器学习: machine learning system design | error analysis(误差分析:检验算法是否有高偏差和高方差)

    误差分析可以更系统地做出决定.如果你准备研究机器学习的东西或者构造机器学习应用程序,最好的实践方法不是建立一个非常复杂的系统.拥有多么复杂的变量,而是构建一个简单的算法.这样你可以很快地实现它.研究机 ...

  7. 斯坦福大学公开课机器学习: machine learning system design | prioritizing what to work on : spam classification example(设计复杂机器学习系统的主要问题及构建复杂的机器学习系统的建议)

    当我们在进行机器学习时着重要考虑什么问题.以垃圾邮件分类为例子.假如你想建立一个垃圾邮件分类器,看这些垃圾邮件与非垃圾邮件的例子.左边这封邮件想向你推销东西.注意这封垃圾邮件有意的拼错一些单词,就像M ...

  8. 斯坦福大学公开课机器学习:advice for applying machine learning | model selection and training/validation/test sets(模型选择以及训练集、交叉验证集和测试集的概念)

    怎样选用正确的特征构造学习算法或者如何选择学习算法中的正则化参数lambda?这些问题我们称之为模型选择问题. 在对于这一问题的讨论中,我们不仅将数据分为:训练集和测试集,而是将数据分为三个数据组:也 ...

  9. 斯坦福大学公开课机器学习:advice for applying machine learning - deciding what to try next(设计机器学习系统时,怎样确定最适合、最正确的方法)

    假如我们在开发一个机器学习系统,想试着改进一个机器学习系统的性能,我们应该如何决定接下来应该选择哪条道路? 为了解释这一问题,以预测房价的学习例子.假如我们已经得到学习参数以后,要将我们的假设函数放到 ...

随机推荐

  1. 【转】linux read 用法

    转自:http://www.cnblogs.com/iloveyoucc/archive/2012/04/16/2451328.html 1.基本读取 read命令接收标准输入(键盘)的输入,或其他文 ...

  2. Html基础学习(基于W3school网络教程)

    //防止乱码 head中加入 <meta http-equiv="Content-Type" content="text/html; charset=utf-8&q ...

  3. UDP网络程序实例

    根据前面所讲的网络编程的基础知识,以及UDP网络编程的特点,下面创建一个广播数据报程序.广播数据报是一种较新的技术,类似于电台广播,广播电台需要在指定的波段和频率上广播信息,收听者也要将收音机调到指定 ...

  4. Android进入一个新页面,EditText失去焦点并禁止弹出键盘

    android在进入一个新页面后,edittext会自动获取焦点并弹出软键盘,这样并不符合用户操作习惯. 在其父控件下,添加如下的属性,就可以完美解决,使其进入页面后不主动获取焦点,并且不弹出软键盘: ...

  5. Cuder - 用C++11封装的CUDA类

    以前写cuda:初始化环境,申请显存,初始化显存,launch kernel,拷贝数据,释放显存.一个页面大部分都是这些繁杂但又必须的操作,有时还会忘掉释放部分显存. 今天用C++11封装了这些CUD ...

  6. CAD绘制一个对齐标注(com接口VB语言)

    主要用到函数说明: _DMxDrawX::DrawDimAligned 绘制一个对齐标注.详细说明如下: 参数 说明 DOUBLE dExtLine1PointX 第一条界线开始点X值 DOUBLE ...

  7. vue移动端地址三级联动组件(一)

    vue移动端地区三级联动 省,市,县.用的vue+mintUi 因为多级联动以及地区的规则比较多.正好有时间自己写了一个.有问题以及建议欢迎指出.涉及到dom移动,所以依赖vue+jquery.这边数 ...

  8. 基于supervisor秒级Laravel定时任务

    背景介绍 公司需要实现X分钟内每隔Y秒轮训某个接口,Linux自带的crontab貌似只精确到分钟,虽然可以到精确到秒,但是并不满足需求. 选型 公司项目都是 基于 Laravel 框架,所以这个没得 ...

  9. Dajngo——10 请求与响应 文件上传 GET和POST请求 类视图

    Dajngo——10 HttpRequest对象 HttpResponse对象及子类 form标签中的GET和POST GET提交方式 POST提交方式 request得GET和POST属性 文件上传 ...

  10. 【Codeforces 349B】Color the Fence

    [链接] 我是链接,点我呀:) [题意] 让你组成一个只由1~9组成的数字 每个数字需要的paint数字给定. 让你组成一个最大的数字,且所有数字的paint的总和不超过v. [题解] 先求出a中的最 ...