您的位置:首页 > Web前端

梯度下降实用技巧I之特征缩放 Gradient Descent in practice I - feature scaling

2016-03-31 22:06 375 查看

梯度下降实用技巧I之特征缩放 Gradient Descent in practice I - feature scaling

当多个特征的范围差距过大时,代价函数的轮廓图会非常的偏斜,如下图左所示,这会导致梯度下降函数收敛的非常慢。因此需要特征缩放(feature scaling)来解决这个问题,特征缩放的目的是把特征的范围缩放到接近的范围。当把特征的范围缩放到接近的范围,就会使偏斜的不那么严重。通过代价函数执行梯度下降算法时速度回加快,更快的收敛。如下图右所示。



特征缩放的范围:一般把特征的范围缩放到-1到1,和这接近就行,没必要同一范围。梯度下降就能很好的工作。如下图所示,x1 的范围为0到3,x2的范围为-2到0.5都是可以的。但不能相差的很大,-100到100则是不可以的。



特征缩放的方法:直接先看图再解释,主要是均值归一化



一般的均值归一化公式为: 

,其中

为均值,s为特征的范围,即max-min。也可以用标准差。

其实归一化主要有两种方法:

第一种是min-max标准化(Min-Max Normalization)
它把原始数据映射到[0-1]之间,公式为:



第二种是0均值标准化(z-score标准化)
公式为:



其中,

为均值,

标准差。标准差是方差的开方,把标注差公式也贴上来吧:



这两种归一化方法的适用场景为:

在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用第一种方法或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围
在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,第二种方法(Z-score standardization)表现更好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: