天天看点

吴恩达机器学习笔记21-多元梯度下降实践之特征缩放

本文是吴恩达《机器学习》视频笔记第21篇,对应第2周第3个视频。

“Linear Regression with multiple variables——Gradient descent in practice I: Feature Scaling”

01

笔记

接下来的两个视频介绍多元梯度下降运算中的实用技巧。而本次视频讲解特征缩放的算法。

在多元线性模型中,非常让人恼火的一点是,不同的变量它的单位是不一样的,这样会导致它们的取值差别会非常大。

还是以卖房子为例,好比我们一个变量是面积(单位:平方英尺)它的取值范围可能是从0-2000;而相对应的另一个变量卧室数量可能取值只在1-5之间,它们的差距非常大。怎么办呢?

自然而然想到的办法,就是将这些分量的取值想办法给进行一些缩放,让它们的取值都在一个相同的可比较的区间内。这样做的好处,就是梯度下降法能够更好地收敛。

那具体怎么做呢?我们就以卖房子这个事为例来看看。

如果不做特征缩放的话,误差函数的等高线是下图这样的:

吴恩达机器学习笔记21-多元梯度下降实践之特征缩放

上图这样的一个误差函数,我们要耗费好多时间才能收敛到最小值。

如果,我们把房子的面积和卧室数量都给归一化一下,让两个变量的取值都在[0,1]区间内。

吴恩达机器学习笔记21-多元梯度下降实践之特征缩放

那相对应的误差曲线的等高线就会变得非常漂亮,而梯度下降的路径也会很顺畅,不咋震荡,很容易找到一条直接的路径。

吴恩达机器学习笔记21-多元梯度下降实践之特征缩放

综上,我们就是要想办法让不同的分量的取值空间进行一些缩放,让它们的取值区间相差不大。如下图,太大的缩小一点,太小的放大一点。

吴恩达机器学习笔记21-多元梯度下降实践之特征缩放

如果取值都是正值,我们也可以想办法让它在[-1,+1]区间上,例如:

吴恩达机器学习笔记21-多元梯度下降实践之特征缩放

我们进行特征缩放的一般公式,可以表示成下图的样子

吴恩达机器学习笔记21-多元梯度下降实践之特征缩放

用这个值减去平均值然后再除以取值范围,即可得到缩放后的特征值。

以上就是本次视频的内容,我们知道如何进行特征缩放,以及特征缩放之后可以带来梯度下降速度加快的好处。更多内容且听下回。