无量纲化使不同规格的数据转换到同一规格。常用的无量纲化方法有标准化和区间缩放法。标准化的前提是特征值服从正态分布,标准化后,其转换成标准正态分布;区间缩放法利用了边界值信息,将特征的取值区间缩放到某个特点的范围,例如[0,1]等。
一、标准化(Standardization)标准化的前提是特征值服从正态分布,标准化后,其转换成标准正态分布
1.1、Z-score
标准化
z = x − μ σ z = \frac{x-\mu}{\sigma} z=σx−μ
二、归一化(Normalization or scaling) 区间缩放法利用了边界值信息,将特征的取值区间缩放到某个特点的范围,例如[0,1]
等。 对基于gradient descent算法友好,可能可以让算法最终收敛并且提高训练速度和精度。现在Deep Learning大都基于这算法训练。
[0,1]
的范围内。
X n o r m = X − X m i n X m a x − X m i n X_{norm} = \frac{X-X_{min}}{X_{max}-X_{min}} Xnorm=Xmax−XminX−Xmin
三、正则化(Regularization)防止训练过拟合的手段
一般形式,应该是 min R是regularization term。一般方法有
- L1 regularization: 对整个绝对值只和进行惩罚。
- L2 regularization:对系数平方和进行惩罚。
- Elastic-net 混合regularization。
如果模型用梯度下降来进行求解,数据归一化主要对收敛速度产生影响。将各个特征映射到同一个区间内,可以使得各个特征的更新速度变得更一致,容易更快地通过梯度下降找到最优解。 通过梯度下降求解的模型通常需要归一化,包括线性回归、逻辑回归、支持向量机、神经网络等。但对于决策树并不适用。例如C4.5节点分裂主要依据信息增益比,而归一化并不会改变信息增益比。
注:经过实践,确实是这样,有可能归一化之后反而使决策树性能下降。
Reference:About Feature Scaling and Normalization