- · 《自动化应用》栏目设置[06/28]
- · 《自动化应用》收稿方向[06/28]
- · 《自动化应用》投稿方式[06/28]
- · 《自动化应用》征稿要求[06/28]
- · 《自动化应用》刊物宗旨[06/28]
WAIC 九章云极方磊:Hypernets——自动化机器学习(2)
作者:网站采编关键词:
摘要:第二种算法叫遗传算法 (Evolutionary Algorithm),与第一种算法相比,不那么结构有序。但在搜索空间比较复杂的时候,想要找到接近于全局最优的局部最优解
第二种算法叫遗传算法 (Evolutionary Algorithm),与第一种算法相比,不那么结构有序。但在搜索空间比较复杂的时候,想要找到接近于全局最优的局部最优解,Evolutionary Algorithm 是非常有效的方式。
第三类算法 Reinforcement Learning,本身是比较好的一种算法。强化学习的目标是获得最多的累计奖励。
目前算法种类有很多,可以做组合,不同算法组合也可使用增强策略。
评估策略
评估策略在多快好省里最主要的是省,评估的时候在不是太不精确的情况下尽可能减少计算量。评估策略里面主要三个方向:第一,Meta-leaner,指导搜索方向。在搜索过程中使用在线训练的元学习器评估候选参数配置,减少实际执行 Trial 的次数。第二,Caching,节省预处理时间。可以记录很多中间结果,记下来之后可以反复使用,这是缓存的策略。第三,防止过拟合的 Early Stopping。有的时候搜索太深没有用,找到一个貌似很好的点,其实过拟合了,所以会做一些策略防止过拟合,有的时候浅尝辄止也是一件很好的事。
高级特性
对于高级特性,大家都知道一个框架体现共性的事情是可以解决的,我期待开发者朋友多多使用 Hypernets,Hypernets 也实现了高级的特性。我们经常遇到一些挑战,比如样本不均衡处理以及包括语言学习和二次搜索等特性。
高级特性主要干什么用的?第一,数据漂移,大家碰到非常常见的情况,做了不错的模型,上线后不能运行,因为数据基础分布发生变化,做模型要去检测在历史上哪些数据的分布容易发生漂移,并且作为特别处理。比如在营销中构建推介模型,有很多营销事件,你推荐别人买手机,但是昨天苹果开了发布会,可能大家兴趣变化了,或者华为又开了新的发布会,有非常多事件驱动营销场景下,数据漂移非常严重,这个时候如果有数据漂移的处理会让模型准确度大幅度上升。
包括二阶段的搜索,通过不同算法组合,首先运用半监督学习训练,打上标签,其次通过标签引导后面的训练,达到叠加的效果,并且对于样本不均衡的情况也是有很好的效果。
包括作为基本功的硬件加速和分布式处理,不可能只在一个机器上训练,在几十上百台机器上都有过应用的案例,所以其拥有较强的性能和分布式的能力。
同时也有一些训练适合在 GPU 上训练,不一定是深度学习,也有搜索的内容,均可以拆解。在 GPU 上运行,我们也做了一定探索,能实现一定的硬件加速,实事求是讲,不是特别成熟技术一定大幅度提高,但在一些场景之下有比较大的提升。
Hypernets 的具体示例:HyperGBM 与 HyperKeras
具体看几个例子,最基础的是 Hypernets,Hypernets 刚刚提到了三个空间,训练服务,在这个基础之上,结合不同的 training 框架,产生不同的 hyper 打头的一系列东西,比如 HyperGBM,是 GBM 加上 Hypernets。我们的定位是去帮助别的框架更好更快的找到训练模型。
Hypernets 家族开源地址:
Hypernets
src="http://p0.qhimg.com/t01323ea58f244576eb.jpg?size=640x332"/>
HyperGBM
举一个例子,大家最经常使用的 XGBoost、LightGBM、CatBoost 的 GBM 的算法,在结构化数据上有不错的效果。一个 GBM 的算法,一个 Full-Pipeline 可能很长,中间有很多步数据的清洗、切割、特征筛选、特征的组合等等,在中间有很长的 Pipeline,有十几、二十步之多,这个时候你想去利用这个技术怎么自动端到端的优化?运用我们研发的 HyperGBM,简单易用,实现自动端到端优化,当然也可以用强大的 Hypernets 来实现,如果用实现过的 HyperGBM,已经发现能够带来非常简便端到端整个自动机器学习的过程。
由数据的预处理到特征的筛选、模型参数的优化以及模型的组合,这些结合起来是非常典型的使用 GBM 算法训练的 Pipeline,Pipeline 之上 HyperGBM 实际是调动了 Hypernets 里面不同的 Search 或者自动的组合,在定义好的 SearchSpace 里面,与 GBM 用的算法每一步都有关系,会自动选取不同组合进行自动结合,利用 Search 找到最好的参数。
使用 HyperGBM 的五行代码,大大简化开发者使用相对复杂的技术来获得较好的模型。使用五行代码非常简单,在已有的基础上,利用 GBM 算法去进行训练代码技术上增加几行代码,就拥有全自动的搜索能力,大大便捷了我们和客户工作,在更广泛的开源社区里,我们希望开发者也可以使用。
文章来源:《自动化应用》 网址: http://www.zdhyyzz.cn/zonghexinwen/2021/0724/1754.html