0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自动特征工程在推荐系统中的研究

电子设计 来源:电子设计 作者:电子设计 2020-12-10 21:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在先荐推荐系统学院|第1期的分享中,第四范式资深研究员罗远飞针对推荐系统中的高维稀疏数据,介绍了如何在指数级搜索空间中,高效地自动生成特征和选择算法;以及如何结合大规模分布式机器学习系统,在显著降低计算、存储和通信代价的情况下,从数据中快速筛选出有效的组合特征。

以下是罗远飞在先荐推荐系统学院第一期线上活动中的技术分享:

大家好!我是第四范式的罗远飞!‍

很高兴能有机会和大家一起交流关于自动机器学习方面的一些工作。‍我在第四范式的工作大都和自动机器学习相关,之前的精力主要集中在自动特征工程。虽然模型改进能够带来稳定的收益,但是更为困难。‍所以如果是在做一个新的业务,‍可以先尝试从做特征入手,特征工程往往能够带来更明显的收益。

AutoCross的背景

‍‍本次报告所提及的自动机器学习,是针对表数据的自动机器学习。‍表数据是一个经典的数据格式,它一般包含多列,列可能对应离散特征或者连续特征。‍我们不能将用于图像、语音或者NLP中的模型直接拿过来用,需要做特定的优化。‍

本次报告提及的特征组合,特指featurecrossing,即两个离散特征的笛卡尔积。以“去过的餐厅”为例,我经常去麦当劳,‍那么我和麦当劳可以做为一个组合特征;再比如我去肯德基,则我和肯德基也可做为一个组合特征。

本次报告提及的自动特征工程,是指‍自动从上表数据中发现这些有效的组合特征。比如我是一位软件工程师,是一个特征;在第四范式工作,是另外一个特征。这两个特征是分成两列储存的,我们可以把‍这两列组合成一个新的特征,‍这个特征的指示性更强,更具有个性化。‍

为什么需要自动特征工程呢?

首先,特征对建模效果有着非常重要的作用。其次,客户的场景远比建模专家多,‍如我们的先荐业务有上千家媒体,我们不能给每个业务都配备一个专家,针对每一个场景人工去建模。最后,即使只有一个业务,数据也是多变的,面临的场景也是不停变化的,‍所以我们要做自动特征工程,‍不能让人力和我们的业务量呈正比。

AutoCross的相关研究

自动特征工程主要分为两大类,一类是显式特征组合,‍另一类是隐式特征组合。

显式的特征组合

显式的特征组合有两个代表性工作,分别是RMI[2]和CMI[3]。其中字母“MI”代表互信息(MutualInformation),是一个经典的特征选择的方法。‍

MI是通过统计同一个数据中,两列特征的出现频率和共现频率计算得到。但是RMI的做法是在训练集合统计一部分信息,在另外一部分成为reference数据上统计另外一部分信息,这也是“R”的来源。上图‍来自于RMI的论文[2],表示随着不同的‍组合特征加进去,然后AUC逐渐地上涨。‍CMI是另外一个经典的工作,CMI通过分析对率损失函数,结合牛顿法,计算出每个特征的重要性。

它们都取得了不错的效果。但一方面,它们只考虑二阶特征组合;另外,它们均为串行算法,每次选择一个组合特征后,都需把其他特征重新训练一遍,是O(n^2)复杂度,其中n为特征数目。‍此外,MI本身不允许一个特征下同时出现多个取值。‍

隐式的特征组合

另外一类是隐式特征组合,大家可能更熟悉一些。FM[4]和FFM[5]是枚举所有的‍二阶特征组合,它们组合方式是用低维空间中的内积去代表两个特征的组合,取得了很好的效果。‍随着DL的兴起,现在更流行基于DNN做隐式特征组合。但是它的可解释性不强,一直被大家诟病。

我们提出AutoCross[1],它具有很强的可解释性,能够做到高阶特征组合,同时具有较高的Inference效率。

AutoCross整体结构

从左往右看,‍AutoCross的输入是数据和对应的特征类型,然后经过AutoCross的Flow,‍输出一个特征生成器,能够把学到的特征处理方式应用于新数据。

‍Flow里主要有三个部分,首先是预处理,‍然后是组合特征生成和组合特征选择的迭代过程。‍针对数据预处理,我们提出了多粒度离散化;针对怎么从指数级空间中有效的生成组合特征,‍我们用了集束搜索(BeamSearch);针对如何有效且低代价地特征选择,我们提出了逐域对数几率回归(Field-wiseLR)和连续小批量梯度下降(SuccessiveMini-batchGD)两种方法。‍

AutoCross算法

下面我们看一下每个过程所涉及的算法。‍

首先是数据预处理,数据预处理的目的是补充缺失值,并将连续特征离散化。我们观察到‍,对于连续特征,在离散化的时候,如果选择的离散化粒度不一样,其效果会差别非常大。‍甚至在一个数据集上观察到AUC有10个百分点的差异。如果对每一个数据集都手动设置最优的离散化粒度,代价比较高,也不现实。

基于此我们提出了多粒度离散化方法,同时使用多种粒度去离散化同一个特征,比如特征“年龄”,我们按照年龄间隔为5的离散化一次,年龄间隔为10的离散化一次,‍年龄间隔为20的再离散化一次,同时生成多个不同的离散化特征,让模型自动去选择最适合它的特征。

集束搜索(BeamSearch)

如前文所述,假设有n个原始特征,‍那么可能的k阶特征有O(n^k)个,这是‍一个指数级增长的过程。‍如何在这个空间中有效地去搜索、生成、组合特征呢?如果都生成,在计算和存储上都不太可行。‍

我们借鉴集束搜索(BeamSearch)的方法来解决该问题。它的工作原理是,先生成一部分二阶组合特征,‍然后用效果好的二阶组合特征去衍生三阶组合特征,并非生成所有的三阶组合特征,相当于一种贪心的搜索方法。

逐域对数几率回归(Field-wiseLR)

我们通过多粒度离散化对数据进行预处理,之后通过集束搜索缩减搜索空间。

但生成的特征依然数量众多,怎么才能快速、低代价地从生成特征中选出有效的特征呢?对此,我们提出了逐域对数几率回归(Field-wiseLR)算法,固定已选特征对应的模型参数,‍然后计算候选特征中哪个特征‍加进来,能够最大程度的提升模型效果。这样做能够显著节约计算、通信和存储上的开销。‍

‍连续小批量梯度下降(SuccessiveMini-batchGD)

为了进一步降低特征评估成本,我们又提出了连续小批量梯度下降(SuccessiveMini-batchGD)方法。在小批量梯度下降的迭代过程中,逐渐淘汰不显著的候选特征,并给予较重要的特征更多批的数据,以增加其评估准确性。

‍AutoCross-System优化

下面介绍我们在系统上做的一些优化。

缓存特征权重

从算法上来看,我们的‍系统是一个指数空间的搜索问题,即使能够降低其复杂度,它的运算代价依然很大。因此我们会对数据采样,并序列化压缩存储。

‍之后,当运行逐域对数几率回归时,系统会把已经计算过的特征权重缓存下来。如果按照以前的方法,我们需要先从参数服务器上获取已经生成特征的权重,‍这一步会带来网络开销;获取之后要做运算,并生成该特征及预测,这一步会产生计算开销;‍生成特征之后,再存储到硬盘中,进一步会产生存储成本。‍但是,我们把之前的那些特征的权重都给缓存下来,通过直接查表,就能够降低网络、计算、存储的开销。‍

在线计算

除了缓存特征权重之外,我们还进行了在线计算。我们在做特征生成的同时,有独立的线程去序列化数据和生成特征。

数据并行

此外,数据并行也是系统优化的常用方法。系统的每个进程中都有一份计算图,并通过主节点,‍或者参数服务器,保证它们之间有序地在进行各个操作。‍

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    67

    文章

    8570

    浏览量

    137422
  • 推荐系统
    +关注

    关注

    1

    文章

    44

    浏览量

    10483
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AISOP 制造工艺工程的四大典型应用场景

    知识体,实现从 \"人写文档\" 到 \"系统生成知识草稿,人做工程决策\" 的范式转变。 一、AISOP 工艺工程的价值 传统 SOP
    发表于 05-07 12:07

    锁相放大器光电二极管同频横向偏转特征信号检测的应用

    浙江大学徐杨教授与胡欢教授团队研究中使用赛恩科学仪器(SSI)的锁相放大器OE1022检测了光电二极管输出的高频交变激励同频的横向偏转特征信号。 浙江大学徐杨教授与胡欢教授团队国际
    的头像 发表于 04-30 06:54 67次阅读
    锁相放大器<b class='flag-5'>在</b>光电二极管同频横向偏转<b class='flag-5'>特征</b>信号检测<b class='flag-5'>中</b>的应用

    [VirtualLab] 准直系统的鬼像

    或关闭。然后,软件可以自动确定光在系统的传播路径,并相应地追迹电磁场。例如,我们展示了对准直系统鬼像的
    发表于 04-20 08:21

    [VirtualLab] 准直系统鬼像效应的研究

    **摘要 ** 仿真技术的主要作用之一是提供一个平台,以便在系统制造之前研究系统的性能,以便尽可能多地预防潜在的缺陷。杂散光是影响系统性能的最常见现象之一,杂散光可能有多个来源,其中包
    发表于 04-16 08:29

    基于RISC-V架构的抗辐照MCU商业航天液冷系统的集成化应用研究

    液冷系统控制单元的集成化应用。基于重离子单粒子试验、质子单粒子效应试验、总剂量效应试验及脉冲激光单粒子效应试验的多源数据,分析了该MCU辐射环境下的可靠性边界特征,探讨了液冷
    的头像 发表于 03-08 23:13 747次阅读

    Siemens 工业电缆与线束自动系统的技术与选型指南

    工业自动系统的布线与线束组件是保障设备稳定运行的重要基础。高质量的工业电缆不仅用于 PLC、传感器、驱动器之间的数据传输,还承担着现场控制信号、以太网通信以及实时总线系统的稳定连接
    的头像 发表于 01-29 19:50 1102次阅读
    Siemens 工业电缆与线束<b class='flag-5'>在</b><b class='flag-5'>自动</b>化<b class='flag-5'>系统</b><b class='flag-5'>中</b>的技术与选型指南

    SICK工业线缆自动系统的应用与选型

    工业自动系统,传感器和执行器的稳定信号传输是系统可靠运行的基础。作为全球领先的传感器与自动
    的头像 发表于 01-29 17:28 905次阅读

    进程概念和特征

    进程的概念   多道程序环境下,允许多个程序并发执行,此时它们将失去封闭性,并具有间断性及不可再现性的特征。为此引入了进程(Process)的概念,以便更好地描述和控制程序的并发执行,实现操作系统
    发表于 01-15 06:39

    嵌入式软件单元测试AI自动化与人工检查的协同机制研究:基于专业工具的实证分析

    ‌ ‌摘要****‌ 本文系统探讨嵌入式软件相较于通用软件单元测试层面的特殊性,分析其对高覆盖率、可追溯性与实时性验证的严苛需求,并以专业工具winAMS为技术载体,深入研究AI驱动的自动
    发表于 12-31 11:22

    FPGA和GPU加速的视觉SLAM系统特征检测器研究

    特征检测是SLAM系统中常见但耗时的模块,随着SLAM技术日益广泛应用于无人机等功耗受限平台,其效率优化尤为重要。本文首次针对视觉SLAM流程开展硬件加速特征检测器的对比研究,通过对比
    的头像 发表于 10-31 09:30 947次阅读
    FPGA和GPU加速的视觉SLAM<b class='flag-5'>系统</b><b class='flag-5'>中</b><b class='flag-5'>特征</b>检测器<b class='flag-5'>研究</b>

    电源模块配电自动化终端的应用

    配电终端设备的可靠性和自动化程度,直接影响到整个配电自动系统的可靠性和自动化水平。由于配电终端设备一般安装于户外或比较偏僻的地方,不可能有直流电源提供,因此,配电网终端设备的直流供电
    的头像 发表于 07-22 10:20 2.4w次阅读
    电源模块<b class='flag-5'>在</b>配电<b class='flag-5'>自动</b>化终端<b class='flag-5'>中</b>的应用

    高压放大器光学研究的应用

    、自适应光学系统以及光学非线性过程研究等。 图:高压放大器基于纳米光纤的光学谐振腔研究的应用 二、高压放大器光学
    的头像 发表于 07-10 11:42 895次阅读
    高压放大器<b class='flag-5'>在</b>光学<b class='flag-5'>研究</b><b class='flag-5'>中</b>的应用

    试验机数据采集系统工程建设应用描述

    随着科技的不断发展,现代试验机数据采集系统工程领域中扮演着越来越重要的角色。本文将重点介绍试验机数据采集系统压力机、万能机和抗折一体机
    的头像 发表于 07-08 10:37 634次阅读
    试验机数据采集<b class='flag-5'>系统</b><b class='flag-5'>在</b><b class='flag-5'>工程</b>建设<b class='flag-5'>中</b>应用描述

    无刷双馈电机独立电源系统应用的仿真研究

    仿真验证,可以实现变速恒颜发电。而且通过电压的标最控制可以实现系统输出电压的恒定。 纯分享帖,点击下方附件免费获取完整资料~~~ *附件:无刷双馈电机独立电源系统应用的仿真
    发表于 06-25 13:08

    神经网络RAS异步电机转速估计的仿真研究

    0 引言 高性能的异步电动机矢量控制,转速的闭环控制环节一般是必不可少的。采用传统的速度传感器检测转速,由于速度传感器安装、维护、环境影响等方面会严重影响异步电动机调速系统的简便
    发表于 06-16 21:54