采集自动组合(第四范式新型特征组合方法AutoCross2019接收(组图))
优采云 发布时间: 2021-10-24 13:14采集自动组合(第四范式新型特征组合方法AutoCross2019接收(组图))
涂薇薇、陈宇强、杨强、戴文元
特征组合是提高模型效果的重要手段,但依靠专家手动探索和试错成本太高太繁琐。因此,第四范式提出了一种新的特征组合方法AutoCross,可以在实际应用中自动实现表格数据的特征组合,提高机器学习算法的预测能力,提高效率和效果。目前,该论文已被数据挖掘领域顶级会议KDD 2019接收。
介绍
论文:AutoCross:实际应用中表格数据的自动特征交叉
论文链接:
本文提出了一种在实际应用中自动实现表格数据特征组合的方法AutoCross。该方法可以获得特征之间有用的交互,提高机器学习算法的预测能力。该方法使用波束搜索策略构建有效的特征组合,其中收录现有工作未涵盖的高级(两个以上)特征组合,弥补了前人工作的不足。
此外,该研究提出了连续小批量梯度下降和多粒度离散化,以进一步提高效率和有效性,同时确保简单性,无需机器学习专业知识或冗长的超参数调整。这些算法旨在降低分布式计算中涉及的计算、传输和存储成本。在基准数据集和真实业务数据集上的实验结果表明,AutoCross 可以显着提高线性模型和深度模型对表数据的学习能力和性能,优于其他基于搜索和深度学习的特征生成方法,进一步证明其有效性和效率。
背景介绍
近年来,虽然机器学习在推荐系统、在线广告、金融市场分析等诸多领域取得了不小的成功,但在这些成功的应用中,人类专家参与了机器学习的各个阶段,包括:问题和数据采集、特征工程、模型超参数调整、模型评估等。
这些任务的复杂性往往超出了非机器学习专家的能力。机器学习技术使用门槛高、专家成本高成为制约人工智能普及的关键因素。因此,AutoML 的出现被认为是提高机器学习易用性的最有效方式之一,通过技术手段减少对人类专家的依赖,让更多人可以使用 AI 获得更大的社会和商业利益.
众所周知,机器学习的性能很大程度上取决于特征的质量。由于原创特征很少产生令人满意的结果,因此通常需要组合特征以更好地表示数据并提高学习性能。例如,在新闻推荐中,如果只有新闻类型和用户 ID 两种特征,则模型只能预测不同新闻类型或不同用户 ID 对点击率的影响。通过添加新闻类型 x 用户 ID 组合功能,该模型可以了解用户对不同新闻的偏好。通过加入时间等特征进行高层组合,该模型可以预测用户在不同时间对不同新闻的偏好,提高模型的个性化预测能力。
特征组合是提高模型效果的重要手段。过去,大多需要组建一个庞大的数据科学家团队,依靠他们的经验去探索和试错,但繁琐低效的过程给科学家带来了极大的痛苦,并不是所有的公司都能承受高昂的成本。的代价。
第四范式很早就关注和培育了AutoML领域。从解决客户业务核心增长的角度,构建了反欺诈、个性化推荐等业务场景下的AutoML,赋能企业中的普通开发者,取得接近甚至超越数据的业务成果科学家们。其中,AutoCross发挥了重要作用。
痛点
特征组合是对从数据中提取的海量原创特征进行组合,利用稀疏特征叉积得到组合特征的过程。在LR等线性模型只能描述特征之间的线性关系,表达能力有限,而GBDT等非线性模型不能应用于*敏*感*词*离散特征场景的情况下,特征组合可以增加特征之间的非线性数据,从而提高性能。
然而,理论上很难列举所有的组合特征,因为可能的组合特征的数量是指数级的。同时,猛烈地添加特征可能会导致学习性能下降,因为它们可能是不相关或冗余的特征,从而增加学习的难度。
虽然深度神经网络可以自动构建高阶特征(生成高阶特征),但面对大部分以表格形式呈现的业务数据,最先进的基于深度学习的方法无法有效覆盖所有高阶组合特征,并且存在可解释性差和计算成本高等缺点。论文提交时,最先进的深度学习方法是xDeepFM [1]。本文证明xDeepFM可以生成的特征是AutoCross可以生成的特征嵌入的子集。
AutoCross的优势
实施过程
给定训练数据
, 并将其划分为训练集
和验证集
. 我们可以用一个特征集 S 来表示
, 并使用学习算法 L 来训练模型
. 之后,使用验证集和相同的特征集S计算一个需要最大化的索引
. 特征组合搜索问题可以定义为搜索最优子特征集的问题:
F在哪里
原创特征集,
收录 F 的所有原创特征和所有可以基于 F 生成的组合特征。
但是,假设原创特征数为d,则上述问题中所有可能解的个数为
,搜索空间巨大。为了提高搜索效率,AutoCross 将搜索最优子特征集的问题转化为用贪心策略逐步构建更好解的问题。首先,AutoCross考虑一个树结构的搜索空间
(图3),其中每个节点代表一个子特征集。之后,在
寻找更好的解决方案。这样,AutoCross 只需要访问
一个候选解极大地提高了搜索效率。AutoCross 的整体算法如算法 1 所示。
算法 1 中的一个关键步骤是评估候选特征集。最直接的方法是用每个候选特征集训练模型并评估其性能,但这种方法计算量大且难以在搜索过程中重复执行。为了提高特征集评估的效率,AutoCross 提出了 field-wise 逻辑回归和连续小批量梯度下降方法。
为了提高特征集评估的效率,通过逐场对数概率回归进行了两种近似。首先,使用特征集在对数概率回归模型上的性能来近似最终将使用该特征集的模型的性能;其次,考虑
When a child node of a node is selected, the weight corresponding to the feature contained in the node is not changed, and only the weight of the new feature of the child node is trained.
图 4 说明了如何在参数服务器架构上部署逐域对数概率回归。逐场对数概率回归与参数服务器的结合,可以提高特征集评价的存储效率、传输效率和计算效率。在逐场对数概率回归训练完成后,AutoCross 计算训练模型的指标,并使用该方法评估每个候选特征集。
AutoCross 采用连续批量训练梯度下降法,进一步提高特征集评估的效率。该方法借鉴了成功的halving算法[2],并认为每个候选特征集都是多臂*敏*感*词*问题中的一个臂。使用一个数据块来更新一个特征集的权重,相当于拉动了一次相应的手臂,返回的是本次训练后的验证集AUC。
具体算法见算法2。算法2中唯一的参数是数据块的数量N。N可以根据数据的大小和计算环境自适应确定。在使用连续批量训练梯度下降时,用户不需要像传统的子采样方法那样调整 mini-batch 的大小和采样率。
为了支持数值特征和离散特征的结合,AutoCross 在预处理过程中将数值特征离散为离散特征。AutoCross 提出了一种多粒度的离散化方法,使用户无需反复调整离散化的粒度。多粒度离散化的思想很简单:将每个数值特征按照不同的粒度划分为多个离散特征。然后使用逐场对数概率回归来选择最佳的离散特征。多个划分粒度可以由用户指定,也可以由AutoCross根据数据大小和计算环境自适应选择,从而降低用户使用难度。
实验结果
论文在十个数据集(五个公开,五个实际业务)上进行了实验。比较方法包括:
效果对比:如下表3所示,AC+LR和AC+W&D在大多数数据集上都排在前两位。这反映了AutoCross生成的特征不仅可以增强LR模型,还可以用来提升深度学习模型的性能,AC+LR和AC+W&D的效果要优于xDeepFM。如前所述,xDeepFM 生成的特征不能完全收录 AutoCross 生成的特征。这些结果显示了显式生成高阶组合特征的效果的优势。
高阶特征的作用:见表5和图6。可以得出结论,高阶组合特征可以有效提高模型的性能。
时间消耗:见表6、图7(主要用于展示目的)。
Inferred delay:见表7。可以得出结论,AC+LR的inference速度比AC+W&D、Deep、xDeepFM快几个数量级。这说明 AutoCross 不仅可以提高模型的性能,还可以保证非常低的推理延迟。
参考
[1] J. Lian、X. Zhou、F. Zhang、Z. Chen、X. Xie 和 G. Sun。2018. xDeepFM:结合推荐系统的显式和隐式特征交互。在知识发现和数据挖掘国际会议上。[2] K. Jamieson 和 A. Talwalkar。2016. 非随机最佳臂识别和超参数优化。在人工智能和统计。240–248.[3] O. Chapelle、E. Manavoglu 和 R. Rosales。2015. 用于展示广告的简单且可扩展的响应预测。ACM 智能系统与技术交易 (TIST) 5, 4 (2015) , 61.