正则化的提出,是因为要解决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. (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem

    (转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...

  2. 【The VC Dimension】林轩田机器学习基石

    首先回顾上节课末尾引出来的VC Bound概念,对于机器学习来说,VC dimension理论到底有啥用. 三点: 1. 如果有Break Point证明是一个好的假设集合 2. 如果N足够大,那么E ...

  3. 【Hazard of Overfitting】林轩田机器学习基石

    首先明确了什么是Overfitting 随后,用开车的例子给出了Overfitting的出现原因 出现原因有三个: (1)dvc太高,模型过于复杂(开车开太快) (2)data中噪声太大(路面太颠簸) ...

  4. 【 Logistic Regression 】林轩田机器学习基石

    这里提出Logistic Regression的角度是Soft Binary Classification.输出限定在0~1之间,用于表示可能发生positive的概率. 具体的做法是在Linear ...

  5. 【Linear Regression】林轩田机器学习基石

    这一节开始讲基础的Linear Regression算法. (1)Linear Regression的假设空间变成了实数域 (2)Linear Regression的目标是找到使得残差更小的分割线(超 ...

  6. 【Theory of Generalization】林轩田机器学习基石

    紧接上一讲的Break Point of H.有一个非常intuition的结论,如果break point在k取到了,那么k+1, k+2,... 都是break point. 那么除此之外,我们还 ...

  7. 【Training versus Testing】林轩田机器学习基石

    接着上一讲留下的关子,机器学习是否可行与假设集合H的数量M的关系. 机器学习是否可行的两个关键点: 1. Ein(g)是否足够小(在训练集上的表现是否出色) 2. Eout(g)是否与Ein(g)足够 ...

  8. 【Feasibility of Learning】林轩田机器学习基石

    这一节的核心内容在于如何由hoeffding不等式 关联到机器学习的可行性. 这个PAC很形象又准确,描述了“当前的可能性大概是正确的”,即某个概率的上届. hoeffding在机器学习上的关联就是: ...

  9. 【Perceptron Learning Algorithm】林轩田机器学习基石

    直接跳过第一讲.从第二讲Perceptron开始,记录这一讲中几个印象深的点: 1. 之前自己的直觉一直对这种图理解的不好,老按照x.y去理解. a) 这种图的每个坐标代表的是features:fea ...

随机推荐

  1. NutDao配置多数据源

    首先,我必须声明,这是一个非常简单的方法,很多小菜没做出来,是因为把nutz想得太复杂 数据源(或者是数据库连接池),在Nutz.Ioc看来,是一个普通的Bean,没任何特别之处. 再强调一点,除了$ ...

  2. 宝塔linux面板,修改root密码

    root,密码忘记了.但宝塔vps的密码没忘记... 翻完宝塔linux面板都没看到有修改系统root密码的选项,后来尝试定时任务shell,也没成功, 最终快绝望的时候,发现通过添加插件成功修改密码 ...

  3. io与Nio的区别及实用场景

    https://blog.csdn.net/wodeyuer125/article/details/39475207

  4. Spring框架进阶3

    Spring框架进阶3 测试spring_jdbc和spring对事务的管理 先配置相应的pom <?xml version="1.0" encoding="UTF ...

  5. django+xadmin在线教育平台(十二)

    6-4 用form实现登录-1 上面我们的用户登录的方法是基于函数来做的.本节我们做一个基于类方法的版本. 要求对类的继承有了解. 基础教程中基本上都是基于函数来做的,其实更推荐基于类来做.基于类可以 ...

  6. 《Redis设计与实现》- RDB持久化

    Redis RDB持久化功能可以将Redis内存中的数据库状态保存到磁盘里面,避免数据意外丢失. 1. 手动生成 RDB 文件 有两个Redis命令可以用于生成RDB文件: SAVE,该命令会阻塞Re ...

  7. IDEA 工具项目的配置及如何打war包

    1. Project Structure 1.1 首先点击File-ProjectStructure,进入项目配置: 2.Project Settings配置 2.1 Project  2.1.1 f ...

  8. Python的循环正确的操作使用方法详解

    要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+10000,直接写表达式就 ...

  9. strak组件(3):URL别名的优化

    将生成URL别名的功能进行解耦.效果和上一节的一样. 效果图: 新增函数 get_url_name(self, param) # 生成url别名,需要一个参数(list/add/edit/delete ...

  10. python 函数 闭包 (节省内存空间 html 获取网页的源码)

    #闭包:嵌套函数,内部函数调用外部函数的变量 # def outer(): # a = 1 # def inner(): # print(a) # inner() # outer() def oute ...