归一化&标准化

1、归一化是将数值放缩到[0, 1]或者[-1, 1]

 [公式]

  常用于机器学习计算多个不同量纲的特征映射到[0, 1]或者[-1, 1],所以该值受有最大值和最小值决定

2、z-score

    由于Z-score的数据分布满足“正态分布”(N(0,1)),而“正态分布”又被称为“Z-分布”,所以该方法被称为“Z-score”

  Z-score是用于做数据规范化处理的一种方法

   

    Z-score物理意义
    Z-score表示原始数据偏离均值的距离长短,而该距离度量的标准是标准方差。
    Z-score大于零表示该数据大于均值。
    Z-score小于零表示该数据小于均值。
    Z-score等于零表示该数据等于均值。
    Z-score等于“1”表示该数据比均值大一个标准方差。
    Z-score等于“-1”表示该数据比均值小一个标准方差

3、标准化是通过求z-score方法,将列特征转化为标准正太分布,和整体样本分布相关,每个样本点都能对标准化产生影响。

 

归一化和标准化共同点:都能取消由于量纲不同引起的误差;都是一种线性变换,都是对向量X按照比例压缩再进行平移。

除了归一化和标准化之外,还有中心化,也就是将数据的mean变成0.

一般来说,工程上优先使用标准化,然后再归一化。

 

4、什么时候用归一化,标准化(参考:https://www.cnblogs.com/shine-lee/p/11779514.html)

 涉及或隐含距离计算的算法,比如K-means、KNN、PCA、SVM等,一般需要feature scaling

  1、zero-mean一般可以增加样本间余弦距离或者内积结果的差异,区分力更强,假设数据集集中分布在第一象限遥远的右上角,将其平移到原点处,可以想象样本间余弦距离的差异被放大了。在模版匹配中,zero-mean可以明显提高响应结果的区分度。

  2、就欧式距离而言,增大某个特征的尺度,相当于增加了其在距离计算中的权重,如果有明确的先验知识表明某个特征很重要,那么适当增加其权重可能有正向效果,但如果没有这样的先验,或者目的就是想知道哪些特征更重要,那么就需要先feature scaling,对各维特征等而视之

  3、增大尺度的同时也增大了该特征维度上的方差,PCA算法倾向于关注方差较大的特征所在的坐标轴方向,其他特征可能会被忽视,因此,在PCA前做Standardization效果可能更好,如下图所示,图片来自scikit learn-Importance of Feature Scaling

等等

5、什么时候不用归一化,标准化

  • 与距离计算无关的概率模型,不需要feature scaling,比如Naive Bayes;
  • 与距离计算无关的基于树的模型,不需要feature scaling,比如决策树、随机森林等,树中节点的选择只关注当前特征在哪里切分对分类更好,即只在意特征内部的相对大小,而与特征间的相对大小无关。
posted @ 2020-12-22 20:24  哈哈哈喽喽喽  阅读(570)  评论(0编辑  收藏  举报