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 ...
随机推荐
- fastjson、jackson以及son-lib的使用
fastjson前言 fastJson是阿里巴巴出品的一个json序列化工具. 引入依赖 <dependency> <groupId>com.alibaba</group ...
- 【linux命令】wget
感谢作者:八雲苗 链接:https://www.jianshu.com/p/1c3847fa7e45 wget官方文档:wget wget是一个使用HTTP,HTTPS,FTP和FTPS协议来下载文件 ...
- 【web安全】Nodejs原型链污染分析
Nodejs原型链污染分析 什么是js原型? 可以将js原型理解为其他OOP语言中的类,但还是有细微区别. 1. function F(){...} 2. var f = new F(); 分析: 1 ...
- linux13
ansible-playbook实现MySQL的二进制部署 Ansible playbook实现apache批量部署,并对不同主机提供以各自IP地址为内容的index.html http的报文结构和状 ...
- 解决OpenOCD烧录STM32失败, 无法通过SWD连接的问题
OpenOCD烧录STM32失败的问题 Linux下使用 OpenOCD 烧录 STM32, 出现了 Error: init mode failed (unable to connect to the ...
- 使用污点分析检查log4j问题
摘要:log4j问题的余波还在继续,为什么这个问题潜伏了这么长时间,大家一直没有发现?这里从静态分析的角度谈下log4j问题的发现. 本文分享自华为云社区<使用污点分析检查log4j问题> ...
- 以鶸ice为例,手撸一个解释器(一)明确目标
代码地址 # HelloWorld.ice print("hello, world") 前言(废话) 其实从开始学习编译原理到现在已经有快半年的时间了,但是其间常常不能坚持看下去龙 ...
- 字符集编码(上):Unicode 之前
计算机起初是设计用来做数学计算的,Computer 一词英文原意是"计算员"--在计算机发明之前,计算员是一个独立的职业,专门做各种数学用表的计算,如测量和天文领域的三角函数表.对 ...
- c++ 动态内存2
动态内存 vector<int> * gen_vector(const size_t &size) { return new vector<int>(size, 0); ...
- Dubbo源码剖析六之SPI扩展点的实现之getExtension
上文Dubbo源码剖析六之SPI扩展点的实现之getExtensionLoader - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中分析了getExtensionLoader,本文继续分 ...