01 AutoML概述

AutoML不光是调参,应该包含自动特征工程。”今天回过头来看AutoML是一个系统化的体系,包含3个要素:

  1. 自动特征工程Auto Feature Engineering
  2. 自动调参HPO
  3. 自动神经网络探索NAS

02 NNI概述

NNI(NerualNetworkIntelligence)是微软发起的一个AutoML开源工具,覆盖了上文提到的3要素

包括特征工程、神经网络架构搜索(NAS)、超参调优和模型压缩在内的步骤,你都能使用自动机器学习算法来完成

https://github.com/SpongebBob/tabular_automl_NNI

总体看微软的工具都有一个比较大的特点,技术可能不一定多新颖,但是设计都非常赞。NNI的AutoFeatureENG基本包含了用户对于AutoFeatureENG的一切幻想。

03 细说NNI-AutoFeatureENG

NNI把AutoFeatureENG拆分成exploration和selection两个模块。exploration主要是特征衍生和交叉,selection讲的是如何做特征筛选。

04 特征Exploration

在特征衍生方面,微软教科书般的把特征衍生分成以下一些方式:

count: Count encoding is based on replacing categories with their counts computed on the train set, also named frequency encoding.

target: Target encoding is based on encoding categorical variable values with the mean of target variable per value.

embedding: Regard features as sentences, generate vectors using Word2Vec.

crosscout: Count encoding on more than one-dimension, alike CTR (Click Through Rate).

aggregete: Decide the aggregation functions of the features, including min/max/mean/var.

nunique: Statistics of the number of unique features.

histsta: Statistics of feature buckets, like histogram statistics.

具体特征怎么交叉,哪一列和哪一列交叉,每一列特征用什么方式衍生呢?可以通过search_space.json这个文件控制。

NNI provides count encoding for 1-order-op, as well as crosscount encoding, aggerate statistics (min max var mean median nunique) for 2-order-op.

For example, we want to search the features which are a frequency encoding (valuecount) features on columns name {“C1”, …,” C26”}, in the following way:

we can define a cross frequency encoding (value count on cross dims) method on columns {“C1”,…,”C26”} x {“C1”,…,”C26”} in the following way:

The purpose of Exploration is to generate new features. You can use get_next_parameter function to get received feature candidates of one trial.

RECEIVED_PARAMS = nni.get_next_parameter()

05 特征Selection

为了避免特征泛滥的情况,避免过拟合,一定要有Selection的机制挑选特征。这里微软同学用了个小心机,在特征筛选的时候主推了同样是他们自己开源的算法lightGBM

了解xgboost或者GBDT算法同学应该知道,这种树形结构的算法是很容易计算出每个特征对于结果的影响的。所以使用lightGBM可以天然的进行特征筛选。弊病就是,如果下游是个LR这种线性算法,筛选出来的特征是否具备普适性。跑通后产出的结果包含了每个特征的value以及属性。

06 总结

NNI的AutoFeature模块是给整个行业制定了一个教科书般的标准,告诉大家这个东西要怎么做,有哪些模块,使用起来非常方便。但是如果只是基于这样简单的模式,不一定能达到很好的效果。

Suggestions to NNI

About Exploration: If consider using DNN (like xDeepFM) to extract high-order feature would be better.

About Selection: There could be more intelligent options, such as automatic selection system based on downstream models.

Conclusion: NNI could offer users some inspirations of design and it is a good open source project. I suggest researchers leverage it to accelerate the AI research.

source: 如何看待微软最新发布的AutoML平台NNI?By Garvin Li

NNI review article from Zhihu: - By Garvin Li — An open source AutoML toolkit for neural architecture search, model compression and hyper-parameter tuning (NNI v2.4)

微软NNI---AutoFeatureENG相关推荐

  1. 微软NNI进行神经网络模型剪枝压缩的踩坑记录

    微软NNI进行神经网络模型剪枝压缩的踩坑记录 NNI进行模型剪枝分类 NNI剪枝的流程 NNI现有剪枝方法 剩下的剪枝操作比较复杂还没有研究透,不过应该大同小异,有机会继续研究更新. 最近做毕设嵌入式 ...

  2. NNI模型剪枝压缩使用的较详细记录

    使用微软nni工具,基于pytorch进行模型压缩记录总结,最后的结论一很久以前实验的,可能会有点误差,或者NNI工具更新了.但是nni模型剪枝压缩的整体流程是这样的,在此简单记录一下. 一.模型的剪 ...

  3. 专访微软亚洲研究院首席研发经理邹欣:AI 时代程序员将往哪走?

    导读:6月21-23日,2019 GIAC全球互联网架构大会将于深圳举行.GIAC是面向架构师.技术负责人及高端技术从业人员的年度技术架构大会,是中国地区规模最大的技术会议之一.今年GIAC邀请到了众 ...

  4. 量化感知训练实践:实现精度无损的模型压缩和推理加速

    简介:本文以近期流行的YOLOX[8]目标检测模型为例,介绍量化感知训练的原理流程,讨论如何实现精度无损的实践经验,并展示了量化后的模型能够做到精度不低于原始浮点模型,模型压缩4X.推理加速最高2.3 ...

  5. KubeEdge SIG AI发布首个分布式协同AI Benchmark调研

    摘要:AI Benchmark旨在衡量AI模型的性能和效能. 本文分享自华为云社区<KubeEdge SIG AI发布首个分布式协同AI Benchmark调研>,作者:KubeEdge ...

  6. AI行业态势感知(第四期)

      导读 为了帮助飞桨同学更好地了解人工智能领域的最新资讯,每周二更新<AI行业态势感知>,从学术(论文和新思想.学术会议等),行业和政策(技术产业政策.项目基金申请.技术投融资等),人物 ...

  7. AutoML系列 | 01-自动化机器学习技术原理

    前言 自动机器学习(AutomatedMachine Learning, AutoML)技术是当前机器学习领域热点研究和迅速发展的方向之一,已被证明能够在多个领域达到或超过人类专家手动调参的效果,国内 ...

  8. 微软NNI-业内最亲民的AutoML工具学习笔记(1):AutoFeatureENG

    01 AutoML概述 记得若干年前的某次周会上,我说"AutoML不光是调参,应该包含自动特征工程."当时得到了大佬们的嘲讽,说我不懂技术瞎说.今天回过头来看AutoML是一个系 ...

  9. 微软开源的自动机器学习工具上新了:NNI概览及新功能详解

    作者 | 宋驰 来源 | 微软研究院AI头条(ID: MSRAsia) 2018年9月,微软亚洲研究院发布了第一版 NNI (Neural Network Intelligence) ,目前已在 Gi ...

  10. 微软开源自动机器学习工具 – NNI安装与使用

    微软开源自动机器学习工具 – NNI安装与使用 NNI的众多特点 开启你的第一次NNI之旅 · 安装 · 三步准备实验 (1) 准备搜索空间 (2) 准备实验代码 (3)定义实验配置 · 一行命令开始 ...

最新文章

  1. javax.mail API
  2. 使用netfilter框架处理ARP报文
  3. Java 8 - Lambda从兴趣盎然到索然无味
  4. 800名员工被隔离,韩国半导体巨头紧急回应:工厂运营不受影响
  5. 滴滴App突发Bug:滴滴一下,千元出发
  6. php 阶乘函数,什么是PHP中的RECURSIVE函数?
  7. HTML-input文本框添加提示文字,填写内容时消失
  8. c语言 数组指针函数,C语言:数组 指针 函数
  9. 在JavaFX中使用JxBrowser-Using JxBrowser in JavaFX
  10. 安装jdk在linux(2)
  11. php编程入门学习书籍
  12. 小马哥robofly四轴代码解读:PWM电机输出
  13. linux下C++编程学习
  14. Lua的浅拷贝和深拷贝
  15. 一个小游戏的代码(猜数字)
  16. P95、P99.9百分位数值——服务响应时间的重要衡量指标
  17. 中国科学技术大学实验动物学考试复习资料及考试题资料
  18. 如何删除阿里云OSS云存储bucket
  19. springmvc 接收前台传入的文件
  20. 2021年幼儿教师结构化面试:小朋友不乖,怎么与家长沟通?

热门文章

  1. java任何表达式都可以当作语句_在Java语言中语句用分号终止,并不是所有的表达式都可以构成语句...
  2. Citrix Provisioning Services:Windows 10 VDA计算机的登录性
  3. 黄聪:pjax使用心得总结
  4. form表单提交之前判断
  5. linux集群系列(4) --- LVS之负载均衡集群 --- 持久连接
  6. 有关jquery checkbox获取checked的问题
  7. 7zip暗色系图标(windows下)
  8. javascript学习之void(0)的作用
  9. JavaScript中的Date对象在Safari与IOS中的“大坑”
  10. ts可展开注释_Nike控告WL的始末,和它被TS带货后的几近成名