算法|7种不同的数据标准化(归一化)方法总结( 二 )


例如有一个由数字 [14 12 19 11 15 17 18 95
组成的数据集 。数字 95 是一个很大的异常值 。我们可以通过重新分配新的最大值将其从数据中剔除 。由于删除95后 , 数据集的范围是 11-19 , 因此可以将最大值重新分配为 19 。 最小值也同理
需要注意的是 , 裁剪不会从数据集中删除点 , 它只是重新计算数据中的统计值 。
Standard Deviation Normalization , 标准差归一化假设我们的数据有五行, 他们的ID 为 A、B、C、D 和 E , 每行包含 n 个不同的变量(列) 。我们在下面的计算中使用记录 E 作为示例 。其余行以相同方式进行标准化 。
第 i 列中 E 行的 ei 的归一化值计算如下:




如果E行的所有值都是相同的 , 那么E的标准差(std(E))等于0 , 那么E行的所有值都设为0 。
那些算法需要归一化1、涉及或隐含距离计算的算法 , 比如K-means、KNN、PCA、SVM等 , 一般需要进行归一化
2、梯度下降算法 , 梯度下降的收敛速度取决于:参数的初始位置到local minima的距离 , 以及学习率η的大小
3、采用sigmoid等有饱和区的激活函数 , 如果输入分布范围很广 , 参数初始化时没有适配好 , 很容易直接陷入饱和区 , 导致梯度消失 , 所以才会出现各种BN , LN等算法
那些算法不需要归一化与距离计算无关的概率模型 , 比如Naive Bayes , 不需要;
与距离计算无关的基于树的模型 , 比如决策树、随机森林等 , 树中节点的选择只关注当前特征在哪里切分对分类更好 , 即只在意特征内部的相对大小 , 而与特征间的相对大小无关 。 但是我们前几篇文章中说到了 , 使用Z-Score归一化会提高模型的准确率 。 其实归一化的作用就是由绝对变为了相对 , 所以可以说归一化对于树型模型不那么重要 , 是一个可选项或者说可以作为一个超参数在训练时进行选择 。
https://www.overfit.cn/post/767ff89fdb544dc1a20aad896d80859f
作者:Manish