归一化和标准化的区别

归一化和标准化本质上都是一种线性变换
线性变换保持线性组合与线性关系式不变,这保证了特定模型不会失效

1. 归一化和标准化的区别

我们已经说明了它们的本质是缩放和平移,但区别是什么呢?在不涉及线性代数的前提下,我们给出一些直觉的解释:归一化的缩放是 “拍扁” 统一到区间(仅由极值决定),而标准化的缩放是更加 “弹性” 和 “动态” 的,和整体样本的分布有很大的关系。值得注意:

归一化:缩放仅仅跟最大、最小值的差别有关。
标准化:缩放和每个点都有关系,通过方差(variance)体现出来。与归一化对比,标准化中所有数据点都有贡献(通过均值和标准差造成影响)。
当数据较为集中时, 更小,于是数据在标准化后就会更加分散。如果数据本身分布很广,那么 较大,数据就会被集中到更小的范围内。

从输出范围角度来看, 必须在 0-1 间。对比来看,显然 ,甚至在极端情况下 ,所以标准化的输出范围一定比归一化更广。

归一化: 输出范围在 0-1 之间
标准化:输出范围是负无穷到正无穷

2. 什么时候用归一化?什么时候用标准化?

我们已经从第三部分得到了一些性质,因此可以得到以下结论:

如果对输出结果范围有要求,用归一化
如果数据较为稳定,不存在极端的最大最小值,用归一化
如果数据存在异常值和较多噪音,用标准化,可以间接通过中心化避免异常值和极端值的影响

一般来说,我个人建议优先使用标准化。在对输出有要求时再尝试别的方法,如归一化或者更加复杂的方法。很多方法都可以将输出调整到 0-1,如果我们对于数据的分布有假设的话,更加有效方法是使用相对应的概率密度函数来转换

你可能感兴趣的:(归一化和标准化的区别)