特征工程

特征归一化(Normalization)

为什么需要对数值特征做归一化?

在随机梯度下降的过程中,学习率同等水平下,值域宽的特征更新速度会大于值域窄的特征,导致需要更多步迭代才能找到最优解。

image-20260507165428298

对数值类型做归一化可以将所有特征映射到相同的区间,常见的方法包括:

  • 线性函数归一化(Min-Max Scaling)
    $X_{\text{norm}} = \frac{X - X_{\text{min}}}{X_{\text{max}} - X_{\text{min}}}$
    利用最大值和最小值,将原始数据等比缩放,映射到[0,1]区间中。

  • 零均值归一化(Z-Score Normalization)
    $z=\frac{x-\mu}{\sigma}$
    利用均值 $\mu$ 、标准差 $\sigma$,将原始数据映射到均值0、标准差为1的分布上。

实际应用中,通过梯度下降法求解的模型一般都是需要归一化的,包括线性回归、逻辑回归、支持向量机、神经网络等。决策树模型不适用,因为它进行节点分裂主要依赖数据集D关于特征x的信息增益比。