关于深度学习:特征工程基于梯度提升的模型的特征编码效果测试

13次阅读

共计 4338 个字符,预计需要花费 11 分钟才能阅读完成。

为梯度晋升学习抉择默认的特色编码策略须要思考的两个重要因素是训练工夫和与特色示意相干的预测性能。Automunge 库是解决表格数据罕用的库,它能够填充空值,也能够进行分类的编码和归一化等操作,默认的境况下 Automunge 对分类特色进行二值化解决,并对数值特色进行 z -score 归一化。本文将通过对一系列不同数据集进行基准测试来验证这些默认值是否是最优化的选项。

长期以来特色工程对深度学习利用的有用性始终被认为是一个已解决的否定问题,因为神经网络自身就是通用函数迫近器(Goodfellow et al., 2016)。然而即便在深度学习的背景下,表格特色也常常应用某种模式的编码进行预处理。Automunge (Teague, 2022a) 这个 python 库最后是为数字和分类特色的根本编码而构建的,例如 z-score 标准化和 one-hot 编码。在迭代开发过程中开始退出了残缺的编码选项库,包含一系列数字和分类特色选项,当初也包含主动的规范化、二值化、散列和缺失数据填充场景。只管这些编码选项可能对于深度学习来说是多余的,但这并不排除它们在其余模型中的效用,包含简略回归、反对向量机、决策树或本文的重点梯度晋升模型。

本文目标是展现梯度晋升模型下表格数据中的数字和分类特色的各种编码策略之间的基准测试钻研的后果。

梯度晋升

梯度晋升 (Friedman, 2001) 是一种相似于随机森林 (Briemen, 2001) 的决策树学习范式 (Quinlan, 1986),通过递归训练迭代的指标以纠正前一次迭代的性能来晋升优化模型。在实践中个别都会应用 XGBoost 库 (Chen & Guestrin, 2016) 和 LightGBM (Ke et al, 2017) 来进行建模。

到目前为止梯度晋升还是被认为是 Kaggle 平台上表格模态比赛的获胜解决方案,甚至在用于基于窗口的回归时,它的效率也在更简单的利用(如工夫序列程序学习)中失去证实(Elsayed,2022). 最近的表格基准测试论文中也阐明,梯度晋升可能依然在大多数状况下胜过简单的神经架构,如 transformers(Gorishniy,2021)。

传统观点认为,对于表格应用程序梯度晋升模型具备比随机森林更好的性能,但在没有超参数调整的状况下会减少适度拟合的概率(Howard & Gugger,2020)。与随机森林相比,梯度晋升对调整参数的敏感性更高,并且运行的参数数量更多,所以通常须要比简略的网格或随机搜寻更简单的调整。这样就呈现了各种不同的超参数搜寻的办法,例如一种可用的折衷办法是通过不同的参数子集进行程序网格搜寻(Jain,2016),Optuna 等黑盒优化库(Akiba,2019 年)能够应用更自动化甚至并行化的办法进行超参数的搜寻,这也是行业钻研的一个沉闷的方向。

特色编码

特色编码是指用于为机器学习筹备数据的特色集转换。特色编码筹备的常见模式包含数字特色标准化和分类特色的编码,只管一些学习库(catboost)可能承受字符串示意中的分类特色并进行外部编码,然而手动的进行分类特色的转换还是有必要的。在深度学习呈现之前,通常应用提取信息的代替示意来补充特色或以某种形式进行特色的组合来进行特色的裁减,这种特色工程对于梯度晋升学习来说还是能够持续应用的。所以本文的这些基准的目标之一是评估实际与间接对数据进行训练相比的益处。

特色编码的一个重要问题就是须要畛域常识,例如基于填充数值散布派生的 bin 与基于内部数据库查找提取 bin 来补充特色之间是否有很大的区别?在 Automunge 的状况下,外部编码库的编码基于固有的数字或字符串属性,并且不思考能够依据相干应用程序域推断出的相邻属性。(日期工夫格局的性能例外,它在自动化下主动提取工作日、营业时间、节假日等,并依据不同时间尺度的循环周期对条目进行冗余编码)

数字特色

数值标准化在实践中最常被应用的,例如 z -score。在实践中可能发现的其余变动包含 mean scaling 和 max scaling。更简单的约定能够转换除尺度之外的散布形态,例如 box-cox 幂律变换 (Box & Cox, 1964) 或 Scikit-Learn 的分位数转换器 qttf(Pedregosa ,2011), 都能够将特色转换成一个更像高斯分布的个性集。数字归一化更罕用于线性模型,而不是树的模型,例如在神经网络中,它们的目标是跨特色进行归一化梯度更新,利用于数值特色的标准化类型仿佛会影响性能。

分类特色

分类编码通常在实践中应用独热编码进行转换,这种热编码的做法在高基数状况下存在缺点(分类很多导致生成的特色多并且离散),梯度晋升模型中分类标签过多时甚至可能导致训练超过内存限度。Automunge 库试图以两种形式躲避这种高基数边缘状况,首先是默认应用二值化编码而不是独热编码,其次是通过辨别哈希编码的最高基数集(Teague,2020a),缩小惟一条目标数量。

分类二值化是能够了解为将模拟信号转换成数字信号过程中的量化,返回特色中每一个 byte 位代表是否属于该类

分类示意的第三种常见编码方式是标签编码,他将分类示意为一个间断的数值型变量。

基准基准

本文的基准测试是通过训练工夫和模型性能这两个要害性能指标来评估一系列数字和分类编码场景。在装备 AMD 3970X 处理器、128Gb RAM 和两个 Nvidia 3080 GPU 的 Lambda 工作站上进行了约 1.5 周的测试。训练是通过 Optuna 调整的 XGBoost 进行的,具备 5-fold 疾速穿插验证 (Swersky et al, 2013) 和 如果 33 次调整迭代没有改良则进行训练。性能指标是对 25% 验证集进行依据 f1 分数评估进行的。

以上是对分类工作的偏差和方差性能进行均衡评估的良好默认设置(Stevens,2020)。在来自 OpenML 基准测试库(Vanschoren,2013)的 31 个表格分类数据集上循环 5 次并取平均值。报告的指标是下面说提到的每种编码类型的 31 个数据集的 5 次反复的平均值,这些编码类型都应用了所有用于训练的数字或分类特色。

数字特色的后果如下:

最终模型体现:

default:Automunge 的默认值应用 z 分数规范化(库中的“nmbr”代码)从调整持续时间和模型性能的角度来看,默认编码已被验证为均匀体现最佳的场景。

qttf:具备正态输入散布的 Scikit-Learn QuantileTransformer,分位数散布转换的均匀体现不如简略的 z 分数归一化,只管它依然是体现最好的。

powertransform:依据散布属性在“bxcx”、“mmmx”或“MAD3”之间有条件地编码(通过 Automunge 库的 powertransform = True 设置),这是成果最差的场景。

mmmx:min max scaling ‘mnmx’ 将特色散布转移到 0-1 范畴内,这种状况的体现比 z-score 归一化差得多,这可能是因为异样值导致数据在编码空间中“挤在一起”的状况。

capped quantiles:min max scaling with capped outliers at 0.99 and 0.01 quantiles (‘mnm3’ code in library),这种状况最好间接与 mmmx 进行比拟,表明了默认设置异样值下限并不能进步均匀性能。

binstransform:z-score 归一化再加上以 5 个独热编码标准偏差箱(通过库的 binstransform = True 设置),这个配置除了减少了训练工夫以外,仿佛对模型性能没有益处。

分类特色的后果如下:

default:Automunge 的默认值是分类二值化(库中的“1010”代码),从调整持续时间和模型性能的角度来看,默认编码已被验证为最好的。

onht: 独热编码,这通常用作支流实际中的默认值,与二值化相比,模型性能影响出乎意料地不好。基于这个测试,倡议在非凡用例之外(例如,出于特色重要性剖析的目标)停止使用 one-hot 编码。

ord3:具备按分类频率“ord3”排序的整数的序数编码,按类别频率而不是字母程序对序数整数进行排序显着有益于模型性能,在大多数状况下,体现比独热编码好,然而依然不如二值化。

ordl:“ordl”按字母程序排序的整数的序数编码,字母排序的序数编码(Scikit-Learn 的 OrdinalEncoder 的默认值)体现不佳,倡议在利用序数时默认为频率排序的整数。

hsh2:散列序号编码(高基数类别“hsh2”的库默认值),该基准次要用于参考,因为某些类别可能会合并,因而会对低基数集产生性能影响。

or19:多层字符串解析“or19”(Teague,2020b),多层字符串解析胜利地超过了单热编码,并且是第二好的体现,但与一般二值化相比,它的性能不足以举荐默认值。如果应用程序可能具备与语法内容相干的某些扩大构造的状况下能够试试

总结

从训练工夫和模型性能的角度来看,Automunge 库的 z-score 归一化和分类二值化在测试中都体现了出了很好的成果,所以如果你在解决表格数据的时候能够优先应用 Automunge 的默认值进行特色的解决,如果你想本人解决特色,那么 z -score 归一化和分类二值化也是首先能够思考的办法。

基准测试包含以下表格数据集,此处显示了它们的 OpenML ID 号:

  • Click prediction / 233146
  • C.C.FraudD. / 233143
  • sylvine / 233135
  • jasmine / 233134
  • fabert / 233133
  • APSFailure / 233130
  • MiniBooNE / 233126
  • volkert / 233124
  • jannis / 233123
  • numerai28.6 / 233120
  • Jungle-Chess-2pcs / 233119
  • segment / 233117
  • car / 233116
  • Australian / 233115
  • higgs / 233114
  • shuttle / 233113
  • connect-4 / 233112
  • bank-marketing / 233110
  • blood-transfusion / 233109
  • nomao / 233107
  • ldpa / 233106
  • skin-segmentation / 233104
  • phoneme / 233103
  • walking-activity / 233102
  • adult / 233099
  • kc1 / 233096
  • vehicle / 233094
  • credit-g / 233088
  • mfeat-factors / 233093
  • arrhythmia / 233092
  • kr-vs-kp / 233091

https://www.overfit.cn/post/32b4d95e1c64425084a53f7ce522c188

作者:Nicholas Teague

正文完
 0