什么是特征缩放
特征缩放是用来标准化数据特征的范围
机器学习为什么需要特征缩放
在处理多维特征问题的时候,需要保证特征具有相近的尺度,这有助于梯度下降算法更快的收敛。
以预测房屋价格为例,假设有两个特征,房屋的尺寸和房屋的数量,尺寸的值为 0-
2000 平方英尺,而房间数量的值则是 0-5,以两个参数分别为横纵坐标,绘制代价函数的等
高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。、
![](https://i-blog.csdnimg.cn/blog_migrate/428d5bed808ae8c7ab0a12bc711680d1.png)
image.png
特征缩放方法
1.最大值最小值归一化
![](https://i-blog.csdnimg.cn/blog_migrate/49bf15ae9ff279f04d4058a439c0274e.png)
image.png
优点:所有数据都能缩放到0~1之间
缺点:当min,max为离群值或异常值时,缩放后数据分布不均匀
2.方差归一化
![](https://i-blog.csdnimg.cn/blog_migrate/3eb08c5dc81dc1c376932045c2a03dd3.png)
image.png
优点:可减小异常值当影响
缺点:不一定所有数据都缩放到0~1之间
3.均值归一化
![](https://i-blog.csdnimg.cn/blog_migrate/b5db2c4a1a88bae4addd88488e1e31d6.png)
image.png
将所有数据缩放至0两边
4.标准归一化
![](https://i-blog.csdnimg.cn/blog_migrate/02dbc254ff9192e50b0214fdad6d2aef.png)
image.png
归一化和标准化的区别
归一化:缩放仅仅跟最大、最小值的差别有关。 输出范围在0-1之间
标准化:缩放和每个点都有关系,通过方差(variance)体现出来。与归一化对比,标准化中所有数据点都有贡献(通过均值和标准差造成影响)。输出范围是负无穷到正无穷
什么时候用归一化?什么时候用标准化?
1.如果对输出结果范围有要求,用归一化
2.如果数据较为稳定(图像或是视频的数据值处于固定区间),不存在极端的最大最小值,用归一化
3.如果数据存在异常值和较多噪音,用标准化,可以间接通过中心化避免异常值和极端值的影响
标准化方法
min-max标准化(Min-max normalization)
![](https://i-blog.csdnimg.cn/blog_migrate/70441ac3576d0983e1a8901f6ce9e0f5.png)
image
优点:是对原始数据的线性变换,使结果落到[0,1]区间
缺点:有新数据加入的时候可能导致max和min的变化,需要重新定义
log函数转换
![](https://i-blog.csdnimg.cn/blog_migrate/dbc7cdbc6e1cc502fa3bb12d68a9ba86.png)
image
优点:使结果落在[0,1]之间
缺点:所有数据都要大于等于1
atan函数转换
![](https://i-blog.csdnimg.cn/blog_migrate/2b5c6aa6dad6fe6e4726a3c8ef0d0408.png)
image
优点:大于0数据被映射到[0,1]小于0被映射到[-1,1]区间上。
缺点:不是所有数据都映射到[0,1]
z-score 标准化(zero-mean normalization)
![](https://i-blog.csdnimg.cn/blog_migrate/d7ae2837492a52296fb5907dc1a7db1e.png)
image
优点:经过处理符合标准正太分布,其中μ为所有样本数据的均值,σ为所有样本数据的标准差。