Deep Learning Specialization on Coursera

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)

欠拟合-我爱公开课-52opencourse.com

b) 合适的拟合:

拟合问题-我爱公开课-52opencourse.com

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

过拟合-我爱公开课-52opencourse.com

什么是过拟合(Overfitting):

如果我们有非常多的特征,那么所学的Hypothesis有可能对训练集拟合的非常好(\(J(\theta) = \frac{1}{m}\sum_{i=1}^m{\frac{1}{2}(h_\theta(x^{(i)}) - y^{(i)})^2} \approx 0\)),但是对于新数据预测的很差。

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

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

a) 欠拟合

逻辑回归欠拟合-我爱公开课-52opencourse.com

b) 合适的拟合

逻辑回归合适的拟合-我爱公开课-52opencourse.com

c) 过拟合

逻辑回归过拟合-我爱公开课-52opencourse.com

如何解决过拟合问题:

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

特征选择-我爱公开课-52opencourse.com

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

房价问题过拟合-我爱公开课-52opencourse.com

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

a) 减少特征的数量:

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

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

b) 正则化

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

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

 

2)  Cost Function(成本函数)

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

a) 合适的拟合:

多项式回归正则化-我爱公开课-52opencourse.com

b) 过拟合

多项式回归过拟合-我爱公开课-52opencourse.com

直观来看,如果我们想解决这个例子中的过拟合问题,最好能将\(x^3, x^4\)的影响消除,也就是让\(\theta_3 \approx 0, \theta_4 \approx 0\).

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

成本函数-我爱公开课-52opencourse.com

这样在最小化Cost function的时候,\(\theta_3 \approx 0, \theta_4 \approx 0\).

正则化:

参数\(\theta_0, \theta_1, ..., \theta_n\)取小一点的值,这样的优点:

-“简化”的hypothesis;

-不容易过拟合;

对于房价问题:

-特征包括:\(x_1, x_2, ... , x_{100}\)

-参数包括:\(\theta_0, \theta_1, ..., \theta_n\)

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

对cost function进行正则化-我爱公开课-52opencourse.com

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

正则化正式的定义-我爱公开课-52opencourse.com

其中\(\lambda\)称为正则化参数,我们的目标依然是最小化\(J(\theta)\): \(min_{\theta} J(\theta)\)

例如,对于正则化的线性回归模型来说,我们选择\(\theta\)来最小化如下的正则化成本函数:
正则化的线性回归模型—我爱公开课-52opencourse.com

如果将 \(\lambda\) 设置为一个极大的值(例如对于我们的问题,设 \(\lambda = 10^{10}\))? 那么

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

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

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

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

这样的话,除了\(\theta_0\),其他的参数都约等于0, \(h_{\theta}(x) = \theta_0\), 将得到类似如下的欠拟合图形:

欠拟合线性回归-我爱公开课——52opencourse.com

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

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

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

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

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

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

线性回归正则化Cost function-我爱公开课-52opencourse.com

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

正则化线性回归梯度下降算法-我爱公开课-52opencourse.com

注意,对于参数\(\theta\),梯度下降算法需要区分\(\theta_0\)和\(\theta_1, \theta_2, ... ,\theta_n\)。

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

X 是m * (n+1)矩阵

正规方程-我爱公开课——52opencourse.com

y是m维向量:

正规方程表达式-我爱公开课-52opencourse.com

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

线性回归正则化Normal Equation-我爱公开课-52opencourse.com

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

\[\theta = (X^T X)^{-1}X^T y\]

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

不可逆后的正规方程-我爱公开课-52opencourse.com

其中括号中的矩阵可逆。

 

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

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

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

逻辑回归过拟合-我爱公开课-52opencourse.com

其中Hypothesis是这样的:

逻辑回归假设空间-我爱公开课-52opencourse.com

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

正则化逻辑回归Cost Function-我爱公开课-52opencourse.com

梯度下降算法如下:

正则化逻辑回归梯度下降算法-我爱公开课-52opencourse.com

其中\(h_\theta(x) = \frac{1}{1+e^{-\theta^Tx}}\).

 

image

参考资料:

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

李航博士《统计学习方法

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

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

 

如转载52opencourse上的任何原创文章,请务必注明出处,谢谢!欢迎大家在这里讨论和学习!

时间: 2012年 5月 22日 分类:机器学习 作者: 52nlp (3,230 基本)
编辑 2012年 6月 5日 作者:52nlp
我也来顶一个,怒赞!
谢谢 !欢迎常来看看!

请教问题:

1 对于正则化,优点是使模型“简单”--》这"简单"怎么理解

2  正则化防止过拟合,但引入正则化还会引起什么缺点?怎么理解“too much regularization” ?

 Introducing regularization to the model always results in equal or better performance on the training set.

If we introduce too much regularization, we can underfit the training set and this can lead to worse performance even for examples not in the training set.

Incorrect 0.00

If we introduce too much regularization, we can underfit the training set and have worse performance on the training set.

 

penalizes

 

“1 对于正则化,优点是使模型“简单”--》这"简单"怎么理解

不知道这句话是在哪里看到的?我好像没有写啊,呵呵。如果认为它使模型简单,还是引用李航老师书中的那段话:

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

2  正则化防止过拟合,但引入正则化还会引起什么缺点?怎么理解“too much regularization” ?

这个主要是是\(\lambda\)过大时会造成underfit.

总结的实在是太好了!
能不能解释一下 逻辑回归正则化 里面的 梯度下降过程时的偏导公式?

为何会和线性回归的公式一样?  J(theta) 里面 不是还带着log么,按求导法则应该会有很复杂的展开吧
请问正则化系数lamda如何确定??

1个回答

+2 投票
不错不错,学习了! 从这些学习笔记中不仅仅能够复习ang的内容,还有很多扩展的知识,赞!!
已回复 2012年 5月 29日 作者: brianli (210 基本)
彪哥过奖了!

感谢楼主的无私分享!怒赞!!!yes

NLPJob

Keyword Extraction

TensorFlow Tutorial

Sentiment Analysis

Free Article Spinner

Text Analysis Online

Text Processing

Word Similarity

本站架设在 DigitalOcean 上, 采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.