AutoML论文调研
AutoLearn - Automated Feature Generation and Selection - 2017 ICDM
核心思想:
用特征之间两两回归的方法,发现相关特征的额外信息。
主要流程如下:
第一,特征预处理阶段,对原始特征的信息增益进行判断,剔除低于某个阈值的特征;
第二,挖掘相关特征阶段,对于两两的特征,判断相关性,保留高于某个阈值的特征对;
第三,特征生成阶段,根据两个特征之间的相关关系(线性或者非线性),使用领回归或者核领回归的方法,用一个特征去预测另外一个特征,新特征可以用如下方法获得,首先,预测出的特征可以作为新特征,其次,预测特征与原特征的差值可以作为新特征;
第四,特征选择阶段,根据稳定性要求(对数据集随机抽样,在不同的样本上选择特征,最终选择在多个样本上都被选择的特征,通常使用lasso回归选择特征),和信息增益,选择最终特征。
评价:
比较繁琐,不是很聪明,感觉效果不好。
Learning feature engineering for classification - 2017 IJCAI
核心思想:
根据特征本身的分布情况,选择最合适的特征工程方法。
主要内容:
特征工程分为两类,一类是针对单个特征,比如平方,求平方根等,一类是针对组合特征(一般是两两组合),组合方式可以是加减乘除等等。本文提出了一种基于分类目标的对特征分布的表示方法:量化框架数组(Quantile Sketch Array),用于描述特征的分布,以及以这种定长的分布为输入,学习一个多分类器,目标就是特定的特征工程方法。最终,在多分类器中,只要某个类别的分数超过一定的阈值,就选择它作为特征。
评价:
这种方法比较靠谱,原因在于它学习到的是一种基于分类目标的、从特征分布到特征工程方式的分类器,这种分类器具有一定的经验在里面,本身这个分类器就是一种不可替代的工具。
Automating Feature Engineering
核心思想:
与Learning feature engineering for classification是一样的,只不过增加了一个整体流程图。
Deep Feature Synthesis: Towards Automating Data Science Endeavors
核心思想:
以关系型数据为处理对象,把根据关系型数据生成特征的过程自动化了,属于特征工程前期(即产生原始特征)阶段的工作。
主要内容:
Entity feature:两类,一类是对具体的特征进行单元素处理,另一类是获取元素的分布数据;
Direct Feature and Rational Feature:先来介绍Forward and backward:前向和后向的概念,例如订单与客户,是前向关系,因为每个订单都对应唯一一个客户,而客户与订单,就是一个后向关系,因为一个客户可以对应多个订单。直接特征对应了前向关系,关系特征对应了后向关系。
用一个例子解释一下上述概念,在电商领域,为了判断一个用户对一件商品的喜好程度,需要考虑三个粒度的特征,第一是用户,第二是用户群体,第三是订单。最终生成的特征肯定是用户级别的,比如,包含用户的年龄、性别、受教育程度(Entity Feature),当前年龄段的人均账单数(Direct feature),该用户的总账单数(Rational Feature)。
评价:
把原始特征生成的工作自动化了,甚至还包括了kaggle上的结果自动提交,有价值但是比较繁琐。
ExploreKit: Automatic Feature Generation and Selection - 2016 ICDM
核心思想:
在原始特征的基础上,自动生成有价值的新特征,使用了一阶、二阶、高阶的方法,对生成的特征,用一个基于机器学习的排序模型进行粗排序,然后评估。
主要流程:
第一,生成合成的特征,使用了一阶、二阶、高阶的算子,提供一个框架,更多的算子可以加入。
第二,对合成后特征的提供信息的能力进行排序,排序的方法是,对新特征提取meta信息,包含了数据集的信息(样本数、分类的类别数、之前的分类器的AUC、精确度、召回率等指标),以及生成特征本身的信息(均值、方差、1/4分位数等等),用一个已经训练好的排序打分模型,进行预估。其中,这个排序打分模型是利用很多其他的数据集离线训练得到的,当然离线训练的时候,生成特征的能力就可以用添加该特征后分类精度的提升来表示了。
第三,特征评估,对于本轮生成的新特征,逐一进行评估,评估方法是,对于加入该特征前后,同一个模型的分类精度进行评价,提升值高于某个阈值,就可以加入特征集。整个过程一直持续到最大的迭代轮数为止。
评价:
与Learning feature engineering for classification的思路一样,只是流程更完善。
One Button Machine for Automating Feature Engineering in Rational Databases - 2017 arxiv
核心思想:
与Deep Feature Synthesis中DSM(Data Science Machine)的思路一样,只是多了对非结构化数据(比如文本、序列)的处理,本身没有太多的新东西。
Google Vizier: A Service for Black-Box Optimization
核心思想:
把黑盒优化的功能做成了一个产品,对于机器学习模型超参调整很有帮助,Google就是牛。
主要内容:
黑盒优化有很多的应用,机器学习里面主要用在超参调优。之前的方法有随机选择、网格搜索、模拟退火、遗传算法,另外还有单纯型法和置信区间法(在某个区间内,用某一个简单模型模拟黑盒,然后选择这个简单模型的最优解)。最近很多人采用了强化学习中MultiBandit的模型来平衡应用和探索,使用模型来建模全局的f,本质上是贝叶斯优化,常采用的模型有高斯过程、深度神经网络、回归森林等。
在Vizier中,谷歌把很多功能都做成了服务的形式,具体的工程实现方式介绍了很多,没有细看。
AutoML论文调研的更多相关文章
- VR论文调研
IEEE VR 2018 1.Avatars and Virtual Humans--人物和虚拟人物 2.Augmented Reality--增强现实 3.Body and Mind--人体和思想( ...
- 不会python?那就换一种姿势爬虫!Java爬虫技术总结
-本博客为原创内容,转载需注明本人- 前几天有个师妹将要毕业,需要准备毕业论文,但是论文调研需要数据资料,上知网一查,十几万条数据!指导老师让她手动copy收集,十几万的数据手动copy要浪费多少时间 ...
- 百度nlp实习生转岗(猝)
一面: 大部分是问项目相关的.只记住了几个关键的问题. 1.手写快排 2.生成模型与判别模型的区别 分类问题:2种形式: F(x)=y p(y|x) 生成模型:由数据学习联合分布概率p(x,y),然后 ...
- 【论文笔记系列】AutoML:A Survey of State-of-the-art (上)
之前已经发过一篇文章来介绍我写的AutoML综述,最近把文章内容做了更新,所以这篇稍微细致地介绍一下.由于篇幅有限,下面介绍的方法中涉及到的细节感兴趣的可以移步到论文中查看. 论文地址:https:/ ...
- 【论文笔记系列】AutoML:A Survey of State-of-the-art (下)
[论文笔记系列]AutoML:A Survey of State-of-the-art (上) 上一篇文章介绍了Data preparation,Feature Engineering,Model S ...
- 写论文如何做相关工作(realted work)的调研
1.找一篇目标研究领域的中文综述,读懂,对该领域有了些基本的了解,如何找到好的综述,就是要关注一些大牛的实验组的综述和进展: 2.找该中文综述引用的外文文献来看,通常是一些比较经典的文献 3.找这些外 ...
- AutoML相关论文
本文为Awesome-AutoML-Papers的译文. 1.AutoML简介 Machine Learning几年来取得的不少可观的成绩,越来越多的学科都依赖于它.然而,这些成果都很大程度上取决于人 ...
- 【转载】 AutoML相关论文
原文地址: https://www.cnblogs.com/marsggbo/p/9308518.html ---------------------------------------------- ...
- 【论文笔记】AutoML for MCA on Mobile Devices——论文解读与代码解析
理论部分 方法介绍 本节将详细介绍AMC的算法流程.AMC旨在自动地找出每层的冗余参数. AMC训练一个强化学习的策略,对每个卷积层会给出其action(即压缩率),然后根据压缩率进行裁枝.裁枝后,A ...
随机推荐
- STL priority_queue 优先队列 小记
今天做题发现一个很有趣的地方,竟然还是头一次发现,唉,还是太菜了. 做图论用STL里的priority_queue去优化prim,由于特殊需求,我需要记录生成树中是用的哪些边. 于是,我定义的优先队列 ...
- Block内存管理
block是不是一个对象?是一个对象 如何判断当前文件是MRC,还是ARC 1.dealloc 能否调用super,只有MRC才能调用super 2.能否使用retain,release.如果能用就是 ...
- 解决手机unauthorized错误
手机:xiaomi-note(OS: Android 6.0) 手机开发者选项中USB调试已经打开,在电脑命令行下输入adb devices,显示手机未认证 D:\develop\androidroo ...
- bom-倒计时
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- axios ajax fetch 区别以及优缺点
将jQuery的ajax.axios和fetch做个简单的比较,所谓仁者见仁智者见智,最终使用哪个还是自行斟酌 1.jQuery ajax $.ajax({ type: 'POST', url: ur ...
- 计算当前日期n天后的日期
//计算180天后的日期//180*24*60*60*1000//更具时间戳计算n天前的日期 $(function () { var timestamp =Date.parse(new Date()) ...
- 测试前期API未实现时,如何写测试方法
大家在做接口测试的时候可能经历过这种情况,开发出来接口文档后,测试人员就要开始编写接口测试的自动化代码.这时就会用到了mock server,mock server不在这里说了,百度一大堆,想怎么实现 ...
- HEAAN新版学习
本篇文章对最新版的HEAAN库进行研究,老版的介绍见 HEAAN库学习 主要参考:slide-HEAAN.pdf HEAAN介绍 HEAAN是一个支持在加密的复数数组之间进行操作的库,方案的安全性取决 ...
- Spring中@Autowired 注解的注入规则
默认根据类型,匹配不到则根据bean名字 1.声明一个service接口 public interface HelloService { void sayHello(); } 2.service接口的 ...
- python篇第3天【编码规范】
第二天加班去了! 语法约定: 多行语句 Python语句中一般以新行作为为语句的结束符. 但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示: total = item_one + \ i ...