梯度下降法-特征缩放

特征缩放

       如果你有一个机器学习的问题,这个问题有多个特征,如果你能保证不同特征的取值范围在一个相近的范围内,这样你的梯度下降法就能更快的收敛。

具体地说,还是拿房价预测的例子,假设有两个特征x1是房屋的面积大小,它的取值范围在0-2000之间,x2是卧室的数量,取值范围在1-5之间,如果画出它的代价函数,应该是像这样:

       这种数据范围差别很大的情况,画出的图像是一种非常歪斜并且椭圆的形状,其实2000:5的比例会更加的瘦长的椭圆形等值线,如果在这种代价函数上做梯度下降,你的梯度会花费很长的时间,并且会如上图所画来回波动,最终才能到达全局最小值。

       在这种情况下,有一种有效的方法就是进行特征缩放,将房屋面积除以2000,数量除以5,那么它的代价函数就会是下面这种比较圆的等值线图,这样就会比较快的达到收敛,找到全局最小值。

就是因为这些特征的缩放使得他们的值比较接近,在这个例子中,x1、x2的取值范围都在0-1之间,梯度下降收敛的更快。

特征缩放的取值

       通常来说,让特征的取值在-1<=xi<=1,我们之前定义的x0=1符合这个要求,对于不同的特征可能取值也不同,需要去除以不同的数字,而且1和-1这两个数值也不是死的,只要不是偏离这个范围太大的就可以,比如:0<=x1<=3,,2<=x2<=0.5都是可以的,但是如果是-100<=x3<=100范围偏离太大不可取,-0.001<=x4<=0.001,取值范围又太小也是不可取的,所以,总的来说不用特别在意你的特征取值范围是不是在这个范围里面,但是只要他们足够接近的话,梯度下降就会正常的工作。

特征缩放-均值归一化:

特征的均值归一化就是将特征xi用x_i-\mu _i代替,让特征值具有为0的平均值(这句话不太理解),当然不用应用到x0,它的值一直都是1

eg:

x_i=\frac{size-1000}{2000}    ,      x_2=\frac{bedrooms-2}{5}     -0.5\leq x_1\leq0.5,-0.5\leq x_2\leq0.5

解释:

       假设房子的大小是2000平方,并且假设平均的大小是1000,就可以用size-1000再除以2000,这里的2000是最大值-最小值,同理x2也是一样。算出的新的特征大概在-0.5\leq x_1\leq0.5,-0.5\leq x_2\leq0.5范围内,取值很接近。

一般的可以用它来算:

x_i=\frac{x_i-\mu_i}{s_i}          xi为特征值,\mu_i该特征的均值,s_i是该特征的范围(max-min)或者标准差(这个类似于非正态分布转化为正态分布的公式z=\frac{X-\mu}{\sigma }

通过特征缩放可以让你的梯度下降所迭代的次数更少,收敛的更快一点。

注:\mu_is_i的取值都没有那么精确,只要将特征转换为比较接近的范围都是可以的。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值