Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”

+13投票

斯坦福大学机器学习第七课"正则化“学习笔记,本次课程主要包括4部分:

1)  The Problem of Overfitting(过拟合问题)

2)  Cost Function(成本函数)

3)  Regularized Linear Regression(线性回归的正则化)

4)  Regularized Logistic Regression(逻辑回归的正则化)

以下是每一部分的详细解读。

1)  The Problem of Overfitting(过拟合问题)

拟合问题举例-线性回归之房价问题:

a) 欠拟合(underfit, 也称High-bias)

b) 合适的拟合:

c) 过拟合(overfit,也称High variance)

什么是过拟合(Overfitting):

如果我们有非常多的特征,那么所学的Hypothesis有可能对训练集拟合的非常好(),但是对于新数据预测的很差。

过拟合例子2-逻辑回归:

与上一个例子相似,依次是欠拟合,合适的拟合以及过拟合:

a) 欠拟合

b) 合适的拟合

c) 过拟合

如何解决过拟合问题:

首先,过拟合问题往往源自过多的特征,例如房价问题,如果我们定义了如下的特征:

那么对于训练集,拟合的会非常完美:

所以针对过拟合问题,通常会考虑两种途径来解决:

a) 减少特征的数量:

-人工的选择保留哪些特征;

-模型选择算法(之后的课程会介绍)

b) 正则化

-保留所有的特征,但是降低参数的量/值;

-正则化的好处是当特征很多时,每一个特征都会对预测y贡献一份合适的力量;

2)  Cost Function(成本函数)

依然从房价预测问题开始,这次采用的是多项式回归:

a) 合适的拟合:

b) 过拟合

直观来看,如果我们想解决这个例子中的过拟合问题,最好能将的影响消除,也就是让.

假设我们对进行惩罚,并且令其很小,一个简单的办法就是给原有的Cost function加上两个略大惩罚项,例如:

这样在最小化Cost function的时候,.

正则化:

参数取小一点的值,这样的优点:

-“简化”的hypothesis;

-不容易过拟合;

对于房价问题:

-特征包括:

-参数包括:

我们对除以为的参数进行惩罚,也就是正则化:

正式的定义-经过正则化的Cost Function有如下的形式:

其中称为正则化参数,我们的目标依然是最小化:

例如,对于正则化的线性回归模型来说,我们选择来最小化如下的正则化成本函数:

如果将 设置为一个极大的值(例如对于我们的问题,设 )? 那么

-算法依然会正常的工作, 将 设置的很大不会影响算法本身;

-算法在去除过拟合问题上会失败;

-算法的结构将是欠拟合(underfitting),即使训练数据非常好也会失败;

-梯度下降算法不一定会收敛;

这样的话,除了,其他的参数都约等于0, , 将得到类似如下的欠拟合图形:

关于正则化,以下引自李航博士《统计学习方法》1.5节关于正则化的一些描述:

模型选择的典型方法是正则化。正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penalty term)。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。比如,正则化项可以是模型参数向量的范数。

正则化符合奥卡姆剃刀(Occam's razor)原理。奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型,也就是应该选择的模型。从贝叶斯估计的角度来看,正则化项对应于模型的先验概率。可以假设复杂的模型有较大的先验概率,简单的模型有较小的先验概率。

3)  Regularized Linear Regression(线性回归的正则化)

线性回归包括成本函数,梯度下降算法及正规方程解法等几个部分,不清楚的读者可以回顾第二课及第四课的笔记,这里将分别介绍正则化后的线性回归的成本函数,梯度下降算法及正规方程等。

首先来看一下线性回归正则化后的Cost function:

我们的目标依然是最小化,从而得到相应的参数. 梯度下降算法是其中的一种优化算法,由于正则化后的线性回归Cost function有了改变,因此梯度下降算法也需要相应的改变:

注意,对于参数,梯度下降算法需要区分

同样的正规方程的表达式也需要改变,对于:

X 是m * (n+1)矩阵

y是m维向量:

正则化后的线性回归的Normal Equation的公式为:

假设样本数m小于等于特征数x, 如果没有正则化,线性回归Normal eqation如下:

如果不可逆怎么办?之前的办法是删掉一些冗余的特征,但是线性回归正则化后,如果,之前的公式依然有效:

其中括号中的矩阵可逆。

4)  Regularized Logistic Regression(逻辑回归的正则化)

和线性回归相似,逻辑回归的Cost Function也需要加上一个正则化项(惩罚项),梯度下降算法也需要区别对待参数\(\theta).

再次回顾一些逻辑回归过拟合的情况,形容下面这个例子:

其中Hypothesis是这样的:

逻辑回归正则化后的Cost Function如下:

梯度下降算法如下:

其中.

参考资料:

第七课“正则化”的课件资料下载链接,视频可以在Coursera机器学习课程上观看或下载: https://class.coursera.org/ml
PPT   PDF

李航博士《统计学习方法》

http://en.wikipedia.org/wiki/Regularization_%28mathematics%29

http://en.wikipedia.org/wiki/Overfitting

Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”相关推荐

  1. Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”

    Coursera公开课笔记: 斯坦福大学机器学习第十一课"机器学习系统设计(Machine learning system design)" 斯坦福大学机器学习斯坦福大学机器学习第 ...

  2. Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)”

    Coursera公开课笔记: 斯坦福大学机器学习第六课"逻辑回归(Logistic Regression)" 斯坦福大学机器学习第六课"逻辑回归"学习笔记,本次 ...

  3. Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”

    Coursera公开课笔记: 斯坦福大学机器学习第四课"多变量线性回归(Linear Regression with Multiple Variables)" 斯坦福大学机器学习第 ...

  4. Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”

    Coursera公开课笔记: 斯坦福大学机器学习第二课"单变量线性回归(Linear regression with one variable)" 发表于 2012年05月6号 由 ...

  5. Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”

    Coursera公开课笔记: 斯坦福大学机器学习第一课"引言(Introduction)" 注:这是我在"我爱公开课"上做的学习笔记,会在52opencours ...

  6. 斯坦福大学机器学习第五课正则化“

    斯坦福大学机器学习第五课"正则化" 本次课程主要包括4部分: 1)  The Problem of Overfitting(过拟合问题) 2)  Cost Function(成本函 ...

  7. 斯坦福大学机器学习第八课“神经网络的表示(Neural Networks: Representation)”

    斯坦福大学机器学习第八课"神经网络的表示(Neural Networks: Representation)" 斯坦福大学机器学习第八课"神经网络的表示(Neural Ne ...

  8. 斯坦福大学机器学习第六课“神经网络的表示(Neural Networks: Representation)”

    斯坦福大学机器学习第六课"神经网络的表示(Neural Networks: Representation)" 本次课程主要包括7部分: 1)  Non-linear hypothe ...

  9. 斯坦福大学机器学习第十课“应用机器学习的建议(Advice for applying machine learning)”

    斯坦福大学机器学习第十课"应用机器学习的建议(Advice for applying machine learning)" 斯坦福大学机器学习斯坦福大学机器学习第十课"应 ...

最新文章

  1. 玩远程 可视对讲系统几大新兴应用分析
  2. 兰大计算机学院保研,兰州大学的保研情况怎么样?保研率高吗?
  3. Windows远程命令执行0day漏洞安全预警
  4. jquery实现抽奖系统
  5. leetcode 168. Excel表列名称
  6. uni.$emit和uni.$on用法;uni-app微信小程序页面通讯;微信小程序页面通讯
  7. [读书笔记] 设计模式与游戏完美开发
  8. (转)计算机视觉CV 圈子
  9. 第二课 每天努力一点点【Linux培训实录】
  10. C++重载运算符的规则详解
  11. sql 怎么查一个账号连续登录失败的次数_黑客到底是怎么入侵的,我展示给你看...
  12. MySQL 分区表——《高性能MySQL》
  13. GJB 软件质量保证计划(模板)
  14. HanLP自然语言处理包开源
  15. ICH1/ICH2/ICH3/ICH4/ICH5/ICH6/ICH7/ICH8/ICH9的区别和联系
  16. C# 根据身份证号码获取人员性别和出生年月
  17. Homography estimation(旋转估计)
  18. .net精美书籍大检阅
  19. 数据结构学习笔记——栈和队列
  20. LinkCloud引领云主机免申请免费试用潮流

热门文章

  1. php企业站数据表,php – 创建一个站点来查询表的数据库
  2. c语言课设学生管理程序,c语言程序课程设计学生成绩管理程序.doc
  3. DataFrame 删除与增减行列
  4. 104. Leetcode 337. 打家劫舍 III (动态规划-打家劫舍)
  5. 语音预处理:服务器平台“部署”
  6. LeetCode上稀缺的四道shell编程题解析
  7. 非负矩阵分解中基于L1和L2范式的稀疏性约束
  8. Python中时间戳与时间字符串相互转换
  9. 巴塞尔新资本协议_《巴塞尔公约》修订!进口再生颗粒或对中国产生巨大冲击...
  10. HJ10 字符个数统计