梯度下降法之特征缩放(Feature Scaling)

1.为什么要进行特征缩放?

特征缩放的目的是为了让代价函数J(θ)尽快收敛,如果各特征的取值范围相差很大,代价函数的轮廓图会是一个个瘦长的椭圆形,如下图所示:
梯度下降法之特征缩放(Feature Scaling)
这样造成的结果很可能就是,代价函数在梯度下降的过程中来回震荡,收敛速度很慢,所以需要进行特征缩放。

2.特征缩放的意义?

各特征之间的大小范围一致,才能使用距离度量等算法
加速梯度下降算法的收敛
在SVM算法中,一致化的特征能加速寻找支持向量的时间
不同的机器学习算法,能接受的输入数值范围不一样

3.如何进行特征缩放?

一般进行特征缩放的方法是,均值归一化。
进行特征缩放的公式为
梯度下降法之特征缩放(Feature Scaling)
其中μi为第i个特征的平均值,Si为第i个特征的最大值和最小值之差(max-min)