我对于特征缩放中的归一化、标准化的一点理解

参考链接:

在学习ML或者查找论文、资料的时候经常能够看到文章中会提到“某某需要归一化/标准化”,然而却不提供具体的公式,只好自己去查,貌似作者也不怎么重视的样子,好像在说:“就是大家经常做的那样,随便标准化一下就好了”。****,讲真,这种不明不白似是而非的东西有时候让我对ML有些厌烦,总是在说“你看,我又发明了一个算法(其实不过是个新名词)”、“我也不知道为什么,他就是有用”、“调参数还是换算法,你自己看着办”。

说多了,总之,归一化、标准化到底是什么,到底什么时候该用,什么时候不能用,我认为这是一个必须弄清楚的问题,而不是看别人用了就用。

一查之下,果然这两个中文名词没有那么简单,不但不能代表两个特定的算法,甚至各种文献、博客、源码中都没有统一的叫法,英文更是没有能够完全对应的算法。下面的截图中说这两个词代指了四种算法,其实还是不太清楚,因为还有一种说法指出“归一化只是一种标准化的算法”,那这样说来标准化这个词会包含十几种特征缩放的处理方法。

我强烈建议各位在写文章的时候,把文字不能完全指明的算法的公式列出来。

image.png

快速理解,不一定正确,先记下来:

  • Rescaling:将特征映射到(0,1),均值不为0,不改变分布。
  • Mean normallization:将特征映射到(-1,1),均值为0,不改变分布。
  • Standardization(z-score):映射到(-1,1), 经过处理的数据符合标准正态分布,即均值为0,标准差为1, σ为所有样本数据的标准差。 z-score标准化方法适用于属性A的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况。该种标准化方式要求原始数据的分布可以近似为高斯分布,否则效果会变得很糟糕。
  • Scaling to unit length:分母可以为任意p范数(我认为),则, 对每个样本计算其p-范数,然后对该样本中每个元素除以该范数,这样处理的结果是使得每个处理后样本的p-范数(l1-norm,l2-norm)等于1。 该方法主要应用于文本分类和聚类中。例如,对于两个TF-IDF向量的l2-norm进行点积,就可以得到这两个向量的余弦相似性。