[论文阅读]TPOT

人工智能79

[论文阅读]TPOT原文

来源

Bioinformatics——CCF B 生物信息学顶刊

作者实验室:宾夕法尼亚大学生物信息学研究所

[En]

Author's laboratory: Institute of Bioinformatics, University of Pennsylvania

解决的问题

提出树形pipeline优化器,主体使用遗传算法,通过一些模块化功能,提高了自动化机器学习系统的可扩展性。

论文发表时的baseline及存在的问题

网格搜索、随机搜索、贝叶斯优化

[En]

Grid search, random search, Bayesian optimization

存在的问题:网格搜索和随机搜索计算成本太高,不可能在具有高维搜索空间的模型上探索;贝叶斯优化的实例有auto-sklearn、AutoWEKA,存在的问题是难以构建复杂预测问题需要的更复杂的pipeline或堆叠模型。

方法

基于树的pipeline优化工具(TPOT)是一个基于EA的AutoML系统,使用遗传算法来优化一系列特征选择器、预处理器、ML模型。

以下是可以提高模型可伸缩性的两个模块:

[En]

Here are two modules that can improve the scalability of the model:

  • FSS:特征集选择器,允许用户传递特定的特征子集,减轻在大型数据集上评估的时候的压力
  • Template:为强类型GP启用了选项,可以在GP中强制执行类型约束,有助于减少计算时间

FSS

简单来说就是将大型原始数据集分割成较小的数据集,减小空间的维度。例如从一个医学的例子上来说,对于某种基因表达分析中,可以指定感兴趣的路径中的基因集合(个人感觉就是pipeline提供了一个加入先验的过程)

遗传算法

参考博客:TPOT解读 - 知乎 (zhihu.com)

  1. 初始化:随机初始化100个tree-based pipeline
  2. 淘汰:通过NSGA-II选择规定(多目标遗传规划),最大化验证集准确率同时最小化每个pipeline的operators,选取前20个pipeline
  3. 分裂:把2得到的20个pipelines复制5分共100个pipelines作为初始化子代
  4. 变异:
    5.

  5. 5%子代与另5%子代的pipeline上的operators互换

  6. 剩下的90%的子代,等概率(1/3)进行增,剪,转移operator操作
  7. 转到步骤2,重复该过程100次.

Template

是用来定义统一的pipeline流程的,在每一次EA算法演进时都使用相同的工作流来处理。借用原文的一张图:

[论文阅读]TPOT

优点&创新点

不要以为有很多创新,主要是构建一个非常完整的体系。

[En]

Do not think that there are many innovations, mainly to build a very complete system.

实验数据

一个模拟数据集——使用privateEC生成

一个真实世界RNA表达数据集

对比实验结果与分析

对比实验较少,对比了TPOT-FSS和TPOT以及XGBoost,最终结果是TPOT-FSS效果较好。

存在的问题&个人感受

存在的问题

目前,它只适用于小特征集,因为计算量太大。

[En]

At present, it is only suitable for small feature sets, because the computational cost is too high.

个人感受

文章涉及很多生物信息的知识,个人认为这篇文章的贡献其实是构造了一个相对完整、易用的AutoML系统。光看文章感觉可读的必要不是很大。

由于网上TPOT的系统使用教程很多,因此本博客不再涉及。

Original: https://www.cnblogs.com/Zhengsh123/p/16176836.html
Author: zsh1234
Title: [论文阅读]TPOT