论文阅读-OpenFE 自动特征生成技术

发布时间 2023-12-21 10:55:54作者: Frank23

论文链接:https://arxiv.org/abs/2211.12507

摘要

  1. 提出了一种新的feature boost方法来鉴别候选特征在准确率上对模型的提升效果
  2. 双阶段剪枝算法,从粗筛到精筛从候选特征池中挑选出top k个生成特征
  3. 在简单但有代表性的设置下,证明了特征生成是有益的

引言

Expand-and-reduce是自动特征生成领域当前最流行的框架,基本思想是先通过原始特征创建一个候选特征池,然后消除无效的候选特征。

传统方法的两个问题

  1. 如何有效且准确地评价一个新特征的增量性能(incremental performance):即一个新的候选特征加入原始的特征集合后能够带来多少的性能提升。传统的评价流程是重新训练模型,然后观察验证集上的损失函数。这是一个耗时操作,使得在大型数据集上难以进行。
  2. 如何计算和评价庞大数量的候选特征,尤其是对于具有上百个特征的数据集,即使对于有效的评价算法,在数据集上计算所有的候选特征也是计算代价巨大并且不可行的。

针对两个问题的解决方法

  1. 受梯度提升的启发,提出了FeatureBoost,一种有效的评价新特征总量性能的算法。不用像传统方法一样重新训练模型。FeatureBoost在基础特征集合的预测结果之上进行增量训练(incremental training)
  2. 鉴于有效特征一般都是比较稀疏的,采用有粗筛到精筛的剪枝算法。

额外的两个成果:

  1. 复现了一些原先没有开源的方法,使得之后研究的比较更好开展
  2. 在经验层面和论证层面,验证了使用生成特征,而不是只用原始特征,能够提升state-of-the-art的深度学习神经网络模型的性能。

算法

OpenFE总算法

算法思路:用指定的操作生成候选特征池,然后采用两个阶段的剪枝筛选特征,最后将Top_k添加回数据集

扩张阶段(Expansion)

通过操作符将基础特征转化为候选特征,构成特征池。

操作符分为一元操作符和二元操作符。特征分为数值特征和分类特征(numerical and categorical)。通过枚举的方法,利用基础特征生成所有的一阶候选特征(first-order candidate features)。

下面用f表示数值类型的特征,c表示分类特征,Operation如下:

化简阶段(Reduction)

FeatureBoost

传统的方法将新特征加入数据集,重新训练模型,计算新旧模型的损失函数之差,这个操作的时间代价太大。

FeatureBoost,只用新特征集合T’重新训练模型来拟合原先预测结果和真实结果之间的残差(the residual between y-hat and target y)。用数学语言表达,即最小化。然后将作为增量性能的估计。

在剪枝的第一阶段(粗筛)中,FeatureBoost这种只在新特征上训练模型的方法,使得算法很快。

在剪枝的第二阶段(精筛)中,需要考虑新特征和原始特征之间的交互关系,此时需要在整个特征集合(包括基础特征和新特征)上使用FeatureBoost。但即使是这样,FeatureBoost的效率也是优于标准的评价方式,因为它收敛得更快。

Successive Featurewise Pruning 逐特征剪枝

q是超参数,将数据集划分为2q个数据块,第i次循环随机挑选2i个数据块。然后对每个新的候选特征τ,使用FeatureBoost计算Δ,。在每次循环结束后,根据Δ保留前半部分的候选特征,消除剩下的候选特征。特殊的,如果两个候选特征有相同的Δ值,我们会消除其中的一个,作为去重(deduplicate)。

Feature Importance Attribution 特征重要性归因

Successive Featurewise Pruning只考虑了单个特征,而Feature Importance Attribution将考虑生成特征和原始特征之间的交互关系(interaction)。

经过Successive Feature wise Pruning之后候选特征池为A′(T),将候选特征A′(T)和原始特征T,一并作为输入,交给FeatureBoost,用来考虑候选特征和原始特征之间的交互关系。

我们对每个候选特征对于Δ的贡献程度感兴趣。特征重要性归因可以完成这个要求。常见的特征重要性归因方法有MDI,PFI,SHAP等。根据特征的重要性,我们挑选排名靠前的候选特征(top-ranked)。

论文实现 Implementation

论文选用GBDT模型,因为

  1. GBDT在表格数据上的表现通常是最佳的
  2. GBDT可以自动处理缺失值和分类特征,对于便于自动化。

选用了LightGBM模型,用MDI作为特征重要性归因方法。

特征生成的理论优势

结论1:假设数据集是根据两个阶段生成的。令训练集和测试集中的组数分别位k1和k2,每组中的数据点的数量为h。设特征生成函数为H,你们经验风险的检验损失的最小化函数f-hat可以限制在下式的范围内(概率至少为1-δ):

特殊地,当k1→∞时,Rademacher 复杂度Radk1(F) → 0。因此当k1,h→∞时,检验损失(test loss)→0.

结论2:没有使用特征生成时,无论k1,k2,h多大,对于任何预测函数f’, 检验损失(test loss) 都大于一个常数值: