1.特征缩放概念
我们想做一个房价与房子本身大小和卧室数量的影响的预测。那么套入到线性回归模型中来看看:
假设w1=50,w2=0.1,b=50,那么计算出来的价格非常大,一个亿了。这是因为本身x1
的值就很大,x2的值很小。
如果调换一下w1和w2,就会发现数值看起来合理多了。刚好5万美元。
通过绘图我们发现,w1对于代价函数的影响很大,而w2想要对代价函数有影响, 要有很多的幅度才行。
所以有了这样的一个方法,我们把w1和w2的数据同时进行缩放到0到1,这样数据看起来更加均匀,等高线也看起来更加圆润。这样就使得使用梯度下降算法的时候不会反复横跳很多次到达局部最低点。
2.特征缩放实现
我们可以将取值范围除以范围最大值,这样每个特征的数值将都在0和1之间。
除了可以除以最大值这样来缩放特征值之外,我们也可以对于数据做均值归一化处理。
2.1 均值归一化处理
使用x减去x的均值然后除以x的最大值和最小值之差。 这就是均值归一化处理。
2.2 Z-score 归一化/规范化
我们需要计算每个特征值的标准差。
使用δ代表标准差,然后代入Z-score公式计算即可。
这是几种缩放的方法,最主要的目的其实就是把数据降到比较小的范围内,使得这些特征都在一个区间,不至于某个数据占比权重过大。
所以我们的目的是控制数据在某个较小的区间,-1到1之间是合适的,-3到3或者-0.3到0.3都是合适的,过大或者过小就需要缩放一下最合适了。
有了这个技巧我们就可以让梯度下降运行的更快了。
网友评论