特征缩放(feature scaling)
在数据处理中,归一化 / 规范化(normalization)和标准化(standardization / z-score normalization)是对数据集(dataset)进行特征缩放(feature scaling)的两种常见技术,这通常是数据处理非常重要的一环,一般在数据预处理(data preprocessing)阶段执行。
可从一个例子来体会这种处理的重要性,假设有一个数据集,其有多个特征值,而每个特征值的原始取值范围差异很大,且量纲(dimension)也可能不同,如果不对这些特征进行处理的话,算法可能会偏向于某一个特征,从而影响算法结果的精度和准确度。
归一化和标准化都可看作是对数据集的重新映射,使特征的取值范围更为集中,收敛(converge)到同一数量级上,从而加快算法的收敛速度(rate of convergence)、提升结果精确度和可靠性、甚至带来性能的提升。此外,这还可消除不同特征中的量纲影响,使特征无量纲化(nondimensionalization),进而使算法可更方便地一起处理具有不同量纲的特征,这在处理多维度、多类型数据集时尤为关键。归一化或校准化的数据集甚至可以兼容不同的算法、模型、环境参数、应用情景。
在不同的数据集情景和需求下,归一化和标准化的实现方式、含义和应用情景可能不相同,而是否需要对数据集进行归一化或标准化也得视具体的情况而定,不是所有的数据、模型或算法都需要执行这种处理。
归一化(normalization)
归一化一般也称为最小-最大值规范化(min-max normalization),即根据取值范围的极值(最小值和最大值)将特征收敛到
- 存在多种不同尺度(取值范围或量纲)的特征,且各特征的极值明确
- 数据较为稳定
- 对输出结果的取值范围有明确要求
标准化(standardization)
标准化的处理方式是,先得到整个数据集的平均值(mean)和标准差(SD,standard deviation),然后把每个特征值减去均值再除以标准差从而得到该特征值处理后的值,映射完成后,会得到一个均值为
- 数据集符合正态分布(或近似),不过就算不符合正态分布也同样可以使用
- 数据不稳定或可能存在噪点
- 特征极值不明确
- 对输出结果取值范围无限制
正则化(regularization)
在机器学习(ML,machine learning)领域中,模型(model)在已知的训练集(training dataset)样本上所表现出来的误差被称为训练误差(training error),这体现了模型与训练集之间的拟合程度(fitness),泛化(generalization)指的是模型对未知数据的预测(prediction)能力,那么模型在未知数据上的误差被称为泛化误差(generalization error)。
拟合程度、训练误差和泛化误差三者相关,提升拟合程度,可减少训练误差,但过于拟合的话,模型会过于依赖训练集,而训练集的众多样本中也可能存在着噪音(noise),因此可能会导致泛化误差变大,这种情况被称为过拟合(overfitting)。
可用一个与模型相关且“可优化”的目标函数(objective function)来对拟合进行量化,这可以是一个损失函数(loss function),其可量化目标的真实值(基准真相)与预测值之间的差距,那么通过学习,找到最佳参数来求解,使目标函数最小化或最大化,就可以据此用来对模型进行优化(optimize),即减少训练误差。
正则化(regularization)是防止过拟合、进而减少泛化误差的一种方式。基本做法是以人为设定的超参数(hyperparameter)的形式,往目标函数中添加一些正则化项(regularization term),从而对目标函数施加约束(constraints)或惩罚(penalties)等参数,进而避免过拟合。可理解为将问题的答案转换为更简单的答案的过程,这符合奥卡姆剃刀原理(Occam's razor),除了正则化外,还有其它一些做法可防止过拟合,比如提前停止(early stopping)、剪枝(pruning)等。
假设绿色小球代表小狗、紫色星星代表小猫
from: What is underfitting?
绿色线为过拟合、黑色线为较优拟合状态
from: Overfitting - Wiki
存在很多实现正则化的方式,不过这里仅了解下有哪些常见的方法,而并不关心它们具体是怎么实现的,如:
- L1 正则化(L1 regularization)和 L2 正则化(L2 regularization),这是被广泛应用的两种基本正则化方法,它们都是在目标函数中添加惩罚项来阻止复杂,它们又可各自称为 Lasso(Least absolute shrinkage and selection operator,最小绝对收缩和选择算子)和岭回归(ridge regression),即各自施加了 L1 和 L2 正则化项的线性回归
- 弹性网络正则化(elastic net regularization)
- dropout
- max-norm regularization
- 谱正则化(spectral norm regularization)
- 自正交性正则化(self-orthogonality regularization)
- etc.