【Regularization】林轩田机器学习基石
正则化的提出,是因为要解决overfitting的问题。
以Linear Regression为例:低次多项式拟合的效果可能会好于高次多项式拟合的效果。
这里回顾上上节nonlinear transform的课件:
上面的内容说的是,多项式拟合这种的假设空间,是nested hypothesis;因此,能否想到用step back的方法(即,加一些constraints的方法把模型给退化回去呢?)
事实上,是可以通过加入constraint使得模型退化回去的;但是,再优化的过程中涉及到了“判断每个wq等于0的”问题,这种问题有点儿类似PLA的求解过程。
类比一下,这是一个NP-hard的问题,即不好求解。那么能不能换一种方式,让求解变得容易些呢?
让求解变得容易的方法是,改变约束条件。假设空间变成了regularized hypothesis Wreg。
上述内容,是通过几何角度分析:满足约束条件的最优解,Wreg应该与梯度的负方向一样。
这样optimal solution就可以求出来了;有个别名叫岭回归。
上述的过程,主要请出了前人的智慧“拉格朗日乘子”,目的是把有约束的优化问题转化为无约束的优化问题。
上面是用几何意义想出来的最有的Wreg,下面还原到初始的目标优化函数:
这里引出来了augmented error的概念;因为Ein是square的,W'W也是正的,所以lambda也是设成是正的(由于lambda是正的,因此在优化求解的时候,可以保证W'W不能太大)。用这个方法可以对模型复杂度进行惩罚,并且把有约束的问题转化为无约束的问题。
这里的关键在于如何选取lambda
lambda越大,倾向于w越短;这种方式可以平移到很多线性模型中(只要是square error的);由于这种regularization的作用是缩短W的长度,因此也叫weight-decay regularization。
接下来,从更一般的角度讲解了regularization
正则化分三种类型
(1)特殊目标驱动正则化:比如,缩减偶次项Wq²
(2)为了平滑( 尽量少够到一些stochastic/deterministic noise ):例如 L1 regularizer
(3)易于优化:如L2 regularizer
感觉这里对L1 L2 regularizer讲解的比较弱,搜了一篇日志(http://blog.csdn.net/zouxy09/article/details/24971995),对L1和L2 regularizer讲解的不错。
【Regularization】林轩田机器学习基石的更多相关文章
- (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem
(转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...
- 【The VC Dimension】林轩田机器学习基石
首先回顾上节课末尾引出来的VC Bound概念,对于机器学习来说,VC dimension理论到底有啥用. 三点: 1. 如果有Break Point证明是一个好的假设集合 2. 如果N足够大,那么E ...
- 【Hazard of Overfitting】林轩田机器学习基石
首先明确了什么是Overfitting 随后,用开车的例子给出了Overfitting的出现原因 出现原因有三个: (1)dvc太高,模型过于复杂(开车开太快) (2)data中噪声太大(路面太颠簸) ...
- 【 Logistic Regression 】林轩田机器学习基石
这里提出Logistic Regression的角度是Soft Binary Classification.输出限定在0~1之间,用于表示可能发生positive的概率. 具体的做法是在Linear ...
- 【Linear Regression】林轩田机器学习基石
这一节开始讲基础的Linear Regression算法. (1)Linear Regression的假设空间变成了实数域 (2)Linear Regression的目标是找到使得残差更小的分割线(超 ...
- 【Theory of Generalization】林轩田机器学习基石
紧接上一讲的Break Point of H.有一个非常intuition的结论,如果break point在k取到了,那么k+1, k+2,... 都是break point. 那么除此之外,我们还 ...
- 【Training versus Testing】林轩田机器学习基石
接着上一讲留下的关子,机器学习是否可行与假设集合H的数量M的关系. 机器学习是否可行的两个关键点: 1. Ein(g)是否足够小(在训练集上的表现是否出色) 2. Eout(g)是否与Ein(g)足够 ...
- 【Feasibility of Learning】林轩田机器学习基石
这一节的核心内容在于如何由hoeffding不等式 关联到机器学习的可行性. 这个PAC很形象又准确,描述了“当前的可能性大概是正确的”,即某个概率的上届. hoeffding在机器学习上的关联就是: ...
- 【Perceptron Learning Algorithm】林轩田机器学习基石
直接跳过第一讲.从第二讲Perceptron开始,记录这一讲中几个印象深的点: 1. 之前自己的直觉一直对这种图理解的不好,老按照x.y去理解. a) 这种图的每个坐标代表的是features:fea ...
随机推荐
- 【转】批处理命令 For循环命令详解!
批处理for命令详解FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能!看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)FOR 参数 %%变量名 IN (相关文 ...
- Java从入门到放弃——02.常量、变量、数据类型、运算符
本文目标 理解什么是常量,什么是变量 认识八大基本数据类型 了解算数运算符.赋值运算符.关系运算符.逻辑运算符.位运算符.三元运算符 1.什么是常量与变量? 常量是相对静止的量,比如整数:1,2,3 ...
- Python——并发编程
开始说并发编程之前,最好有一定的底层知识积累,这里我把需要的知识总结了一下,如果看下面的有不理解的可以看一下:https://www.cnblogs.com/kuxingseng95/p/941820 ...
- jquery 表单事件
.blur() 当元素失去焦点的时候触发事件. .blur(handler(eventObject)) handler(eventObject) 每当事件触发时候执行的函数. .blur([event ...
- 常见的HTTP状态码有哪些?
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求.当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求. ...
- scoped,会使设置UI组件库的样式识别不出来
未设置 scoped 作用域:显示效果 设置作用域的效果:ui组件默认的值(你怎么设置都不管用)
- Dijkstra&&Floyd
文章来源:(http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html) (以下内容皆为转载) Dijkstra算法 1.定义 ...
- Logger日志配置级别说明及设置方法、说明
日志记录器(Logger)是日志处理的核心组件.log4j具有5种正常级别(Level).日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容就是摘自log4j ...
- struts2入门第一天----------配置环境
放假之后有空就开始走上了三大框架的学习.第一个选择的框架是struts2.首先第一步当然是环境的配置.去apache官网把struts2下载下来.然后在自己的开发工具下创建一个web项目.在lib文件 ...
- 【转载】C语言itoa()函数和atoi()函数详解(整数转字符C实现)
本文转自: C语言itoa()函数和atoi()函数详解(整数转字符C实现) 介绍 C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. int/float to ...