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