特征工程:归一化、特征组合、高维特征降解

2023-10-12 09:33:18 浏览数 (3)

特征工程

归一化 (Normalization)

归一化的目的是为了消除特征之间的量纲(scale)影响,比如一个特征值在1000左右的特征在参与计算时起的作用,肯定比特征值在10左右的特征大,特征值小产生的影响的会被淹没,因而将他们放缩到同一个量级才能正确分析结果。

常用方法有两种:

  1. 线性函数归一化(Min-Max Scaling):对原始数据进行线性变换,将结果映射到[0, 1]的范围,实现对原始数据的等比缩放。归一化公式为:
X_{norm}=frac{X-X_{min}}{X_{max}-X_{min}}
  1. 零均值归一化(Z-Score Normalization):将原始数据映射到均值为0,标准差为1的分布上。具体来说,假设原始特征的均值为
mu

标准差为

sigma

,那么归一化公式为:

z=frac{x-mu}{sigma}

当然这是针对单个特征而言的,采用batch训练的归一化还有Batch Normalization、Layer Normalization、Weight Normalization等。

为什么需要归一化?

在使用梯度下降算法的场景下,归一化将可以加速收敛。

如图所示,如果不做归一化,求解过程可能需要多次震荡才能达到最优值区域,而如果进行了归一化,则需要相对较少的迭代次数就能够收敛。

这仅仅对使用梯度下降的优化算法适用,决策树等模型则不适用。因为决策树进行节点分裂时主要依据数据集D关于特征x的信息增益比,信息增益比跟是否归一化无关。

特征组合

可以将一阶特征两两组合,构成高维特征。

进一步扩展这一概念,可以将高维特征缩放到较低维度,来降低对高维参数的需求(高维参数一般很难学习,甚至学习不到)。

如何找到有效的组合特征?

利用决策树。决策树怎么来,可以采用梯度提升决策树,核心思想是每次在之前构建的决策树的残差上构建下一颗决策树。

0 人点赞