Standardization
标准化的前提假设
数据的权重相同
某些算法默认数据的 std=1 mean=0
不适合情况
类型不合适,类别变量
压缩的数据,稀疏矩阵
什么数据适合标准化?
SVM RBF
L1 L2 规则化的线性模型
标准化后损失什么信息?
原来的均值和标准差信息
含有极端异常点的删u
z-score 规范化
将数值范围缩放到0附近, 但没有改变数据分布。
$$z=\frac{x-\mu}{\sigma}$$
对数据的分布的进行转换,使其符合某种分布(比如正态分布)的一种非线性特征变换
消除数量级对于模型的影响。
线性模型中,需要学习一条直线区分数据,将原始数据分布中心移动后,只是移动直线。不加正则的情况下。
什么时候需要标准化
主要看模型是否具有伸缩不变性。
有些模型在各个维度进行不均匀伸缩后,最优解与原来不等价,例如SVM。对于这样的模型,除非本来各维数据的分布范围就比较接近,否则必须进行标准化,以免模型参数被分布范围较大或较小的数据dominate。
有些模型在各个维度进行不均匀伸缩后,最优解与原来等价,例如logistic regression。对于这样的模型,是否标准化理论上不会改变最优解。但是,由于实际求解往往使用迭代算法,如果目标函数的形状太“扁”,迭代算法可能收敛得很慢甚至不收敛。所以对于具有伸缩不变性的模型,最好也进行数据标准化。
Standardization