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)

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

b) 合适的拟合:

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

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

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

什么是过拟合(Overfitting):

如果我们有非常多的特征,那么所学的Hypothesis有可能对训练集拟合的非常好(Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”),但是对于新数据预测的很差。

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

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

a) 欠拟合

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

b) 合适的拟合

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

c) 过拟合

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

如何解决过拟合问题:

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

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

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

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

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

a) 减少特征的数量:

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

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

b) 正则化

-保留所有的特征,但是降低参数Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”的量/值;

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

 

2)  Cost Function(成本函数)

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

a) 合适的拟合:

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

b) 过拟合

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

直观来看,如果我们想解决这个例子中的过拟合问题,最好能将Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”的影响消除,也就是让Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”.

假设我们对Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”进行惩罚,并且令其很小,一个简单的办法就是给原有的Cost function加上两个略大惩罚项,例如:

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

这样在最小化Cost function的时候,Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”.

正则化:

参数Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”取小一点的值,这样的优点:

-“简化”的hypothesis;

-不容易过拟合;

对于房价问题:

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

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

我们对除Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”以为的参数进行惩罚,也就是正则化:

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

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

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

其中Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”称为正则化参数,我们的目标依然是最小化Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”

例如,对于正则化的线性回归模型来说,我们选择Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”来最小化如下的正则化成本函数:
Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”

如果将 Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)” 设置为一个极大的值(例如对于我们的问题,设 Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”)? 那么

-算法依然会正常的工作, 将 Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”设置的很大不会影响算法本身;

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

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

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

这样的话,除了Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”,其他的参数都约等于0, Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”, 将得到类似如下的欠拟合图形:

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

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

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

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

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

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

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

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

我们的目标依然是最小化Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”,从而得到相应的参数Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”. 梯度下降算法是其中的一种优化算法,由于正则化后的线性回归Cost function有了改变,因此梯度下降算法也需要相应的改变:

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

注意,对于参数Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”,梯度下降算法需要区分Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”

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

X 是m * (n+1)矩阵

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

y是m维向量:

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

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

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

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

 

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

如果Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”不可逆怎么办?之前的办法是删掉一些冗余的特征,但是线性回归正则化后,如果Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”,之前的公式依然有效:

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

其中括号中的矩阵可逆。

 

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

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

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

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

其中Hypothesis是这样的:

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

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

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

梯度下降算法如下:

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

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

 

参考资料:

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

PPT   PDF

李航博士《统计学习方法

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

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