Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”
Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”
斯坦福大学机器学习第七课"正则化“学习笔记,本次课程主要包括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如下:
梯度下降算法如下:
其中.
参考资料:
李航博士《统计学习方法》
http://en.wikipedia.org/wiki/Regularization_%28mathematics%29
http://en.wikipedia.org/wiki/Overfitting
Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”相关推荐
- Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”
Coursera公开课笔记: 斯坦福大学机器学习第十一课"机器学习系统设计(Machine learning system design)" 斯坦福大学机器学习斯坦福大学机器学习第 ...
- Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)”
Coursera公开课笔记: 斯坦福大学机器学习第六课"逻辑回归(Logistic Regression)" 斯坦福大学机器学习第六课"逻辑回归"学习笔记,本次 ...
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
Coursera公开课笔记: 斯坦福大学机器学习第四课"多变量线性回归(Linear Regression with Multiple Variables)" 斯坦福大学机器学习第 ...
- Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”
Coursera公开课笔记: 斯坦福大学机器学习第二课"单变量线性回归(Linear regression with one variable)" 发表于 2012年05月6号 由 ...
- Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”
Coursera公开课笔记: 斯坦福大学机器学习第一课"引言(Introduction)" 注:这是我在"我爱公开课"上做的学习笔记,会在52opencours ...
- 斯坦福大学机器学习第五课正则化“
斯坦福大学机器学习第五课"正则化" 本次课程主要包括4部分: 1) The Problem of Overfitting(过拟合问题) 2) Cost Function(成本函 ...
- 斯坦福大学机器学习第八课“神经网络的表示(Neural Networks: Representation)”
斯坦福大学机器学习第八课"神经网络的表示(Neural Networks: Representation)" 斯坦福大学机器学习第八课"神经网络的表示(Neural Ne ...
- 斯坦福大学机器学习第六课“神经网络的表示(Neural Networks: Representation)”
斯坦福大学机器学习第六课"神经网络的表示(Neural Networks: Representation)" 本次课程主要包括7部分: 1) Non-linear hypothe ...
- 斯坦福大学机器学习第十课“应用机器学习的建议(Advice for applying machine learning)”
斯坦福大学机器学习第十课"应用机器学习的建议(Advice for applying machine learning)" 斯坦福大学机器学习斯坦福大学机器学习第十课"应 ...
最新文章
- 玩远程 可视对讲系统几大新兴应用分析
- 兰大计算机学院保研,兰州大学的保研情况怎么样?保研率高吗?
- Windows远程命令执行0day漏洞安全预警
- jquery实现抽奖系统
- leetcode 168. Excel表列名称
- uni.$emit和uni.$on用法;uni-app微信小程序页面通讯;微信小程序页面通讯
- [读书笔记] 设计模式与游戏完美开发
- (转)计算机视觉CV 圈子
- 第二课 每天努力一点点【Linux培训实录】
- C++重载运算符的规则详解
- sql 怎么查一个账号连续登录失败的次数_黑客到底是怎么入侵的,我展示给你看...
- MySQL 分区表——《高性能MySQL》
- GJB 软件质量保证计划(模板)
- HanLP自然语言处理包开源
- ICH1/ICH2/ICH3/ICH4/ICH5/ICH6/ICH7/ICH8/ICH9的区别和联系
- C# 根据身份证号码获取人员性别和出生年月
- Homography estimation(旋转估计)
- .net精美书籍大检阅
- 数据结构学习笔记——栈和队列
- LinkCloud引领云主机免申请免费试用潮流
热门文章
- php企业站数据表,php – 创建一个站点来查询表的数据库
- c语言课设学生管理程序,c语言程序课程设计学生成绩管理程序.doc
- DataFrame 删除与增减行列
- 104. Leetcode 337. 打家劫舍 III (动态规划-打家劫舍)
- 语音预处理:服务器平台“部署”
- LeetCode上稀缺的四道shell编程题解析
- 非负矩阵分解中基于L1和L2范式的稀疏性约束
- Python中时间戳与时间字符串相互转换
- 巴塞尔新资本协议_《巴塞尔公约》修订!进口再生颗粒或对中国产生巨大冲击...
- HJ10 字符个数统计