课程简单介绍:

接上一节课,这一节课的主题是怎样利用 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. [转]Android | Simple SQLite Database Tutorial

    本文转自:http://hmkcode.com/android-simple-sqlite-database-tutorial/ Android SQLite database is an integ ...

  2. LAMP配置课程基础知识详解

    听了一天的课程,我本人对这个还是很感兴趣的. [root@localhost~]#     root 用户名 localhost 本地 ~  家目录 不同用户不同 #当前用户是管理员 $当前用户是普通 ...

  3. VC++ 遍历文件夹

    }; strcpy_s(szFind, MAX_PATH, m_szDir); strcat_s(szFind, "\\*.*"); WIN32_FIND_DATA wfd; HA ...

  4. CStatic设置位图

    CStatic 用于显示位图 如果要显示图标,则必须要设置窗口属性为 SS_BITMAP 和 SS_CENTERIMAGE,实例代码如下: //获得指向静态控件的指针 CStatic *pStatic ...

  5. 让Android的WebView支持html里面的文件上传

    默认情况下,Android的webview是不支持<input type=file>的,点击没有任何反应,如果希望点击上传,弹出选择文件.图片的窗口,那就需要自定义一个WebChromeC ...

  6. CentOS6.9下NFS配置说明(转载)

    NFS是Network File System的缩写,即网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端可以通过挂载(mount)的方式将NFS ...

  7. ImageMagick的下载和配置

    2. 新建一个VC++的工程,项目->属性 VC++目录中 包含目录中加入4项,ImageMagick安装路径下的include文件夹,和include里边的三个文件夹. 库目录中加入1项,Im ...

  8. 新手入门学习angular.js的心得体会

    看了一天的angular.js,只要记住这是关于双向数据绑定 和单向数据绑定就可以,看看开发文档,短时间内还是可以直接入手的,看个人理解能力(我是小白). 这几天开始着手学习angularjs的有关知 ...

  9. Aizu - 1379 Parallel Lines

    平行直线 题意:给出一些点,这些点两两相连成一条直线,问最多能连成多少条直线. 思路:暴力出奇迹!!记得当时比赛做这道题的时候一直依赖于板子,结果却限制了自己的思路,这得改.dfs直接暴力,但是需要将 ...

  10. PostgreSQL使用总结

    最近项目用到了PostgreSQL数据库,网上一堆教程,这里自己整理一下做个笔记: 1,下载安装,我这边安装在Windows7,在这里找到大象一样的标志: 2,双击打开,这里的话按流程直接走: 3,这 ...