0%

【机器学习与数据科学之旅】B1 《深入理解 AutoML 和 AutoDL》读书笔记

作为新兴的前沿研究领域,AutoML 及相关技术如何才能真正落地和创造价值,需要对技术本身和场景有精确的认知,希望这本书能给我答案。


更新历史

  • 2020.10.28: 完成初稿

人工智能概述

  • 近几年,深度学习领域的热门研究集中在:生成对抗网络、迁移学习、强化学习、联邦学习、AutoML
  • 深度学习三大成熟领域
    • 计算机视觉:目标分类、目标检测、目标分割、目标跟踪
    • 自然语言处理:词法分析、句子分析、语义分析、信息抽取、顶层任务
    • 语音识别:特征提取、声学模型、语言模型、声纹识别、字典与解码

自动化人工智能

  • AutoML 关注两个方面:数据的获取和预测
  • 许多公司将 AutoML 作为一种服务提供给用户
  • AutoML 带来的不仅仅是自动化的算法选择、超参数优化和神经网络架构搜索,它还涉及机器学习过程的每一步。从数据预处理(数据转化、数据校验、数据分割)到模型都可以通过 AutoML 完成(用过 AutoGluon,还是很不错的)
  • 现有产品:Google Cloud AutoML, 百度 EasyDL, 阿里云 PAI, 探智立方 DarwinML, 第四范式 AI Prophet AutoML, 智易科技

机器学习概述

  • 统计机器学习的三个要素:模型、策略、算法
  • 特征工程是最耗费时间精力的工作,比较依靠经验,有很强的不确定性

大部分是基础内容,不赘述。

自动化特征工程

  • 特征工程:特征变换、特征提取/构建、特征选择、特征分析与评估
  • 特征选择处理方法:寻找合适的特征 + 寻找高级特征
    • 过滤法 Filter:按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数来选择特征
    • 包装法 Wrapper:选择一个目标函数来一步步筛选特征,最常用的是通过递归的方式消除特征
    • 嵌入法 Embedded:先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征
    • 高级特征的合成方法
      • 低级特征相加
      • 低级特征之差
      • 低级特征相乘
      • 低级特征相除
  • 数据预处理
    • 不属于同一量纲:需要先统一,然后归一化,比如 Z-score
    • 信息冗余:二值化 或 分桶
    • 定性特征不能直接使用:比如 Onehot
      • 存在缺失值
      • 异常特征样本清洗
      • 处理不平衡的数据(权重法和采样法)
  • 特征压缩
    • PCA 无监督降维
    • LDA 有监督降维
    • ICA 独立成分分析
  • 自动特征工程生成方法
    • 深度特征合成算法 Deep Feature Synthesis, DFS,用于对关系数据和时间数据执行特征工程的自动方法
    • Featuretools 自动特征提取
    • 基于时序数据的自动特征工程:
      • TSFRESH 自动提取构建特征
    • GDBT 的中间树节点作为特征
  • 自动特征工程工具
    • DSM: 依赖深度特征合成算法,提取关系型或用户行为数据的特征
      • 优点:可以构建出大量新的丰富特征空间的特征
      • 缺点:不支持非结构化数据的特征学习
    • OneBM: 自动发现关系型数据库中特征的系统
      • 优点:可以处理结构化和非结构化数据
    • Autolearn: 利用每个通过应用回归算法来对其他特征值,包括预测得到的特征值进行预测
      • 优点:通过消除模型中不相关的特征来提高分类准确性;通过识别最有效地区分类的特征集来促进更好的分类
      • 缺点:输出的特征信息少,如果需要得到新的特征可能需要重新编写代码
    • ExploreKit: 通过组合原始特征中的信息生成大量后选特征
      • 优点:提高预测性能;克服了特征空间中指数增长的问题
      • 缺点:选择特征的可解释性不强,应用较少
    • Cognito: 递归地在表的列上应用一组预定义的数学转换,以从原始表中获取新特性
      • 优点:允许用户指定域或数据的选择,以确定探索的优先级;可以处理大型数据集,并于最先进的模型选择策略集成
      • 缺点:不支持具有多表的关系型数据库
    • LFE: 基于过去特征工程的经验,学习对数值特征应用变换的有效性
      • 优点:处理时间段
      • 缺点:依赖过去的特征,会受到过去特征的性能影响
  • 自动特征工程平台
    • RapidMiner
    • Datarobot
    • 第四范式 Prophet 平台

自动化模型选择

  • 哪个模型可以在偏差(准确度)和方差(稳定性)之间达到最优?
  • 两个核心问题:搜索空间 + 搜索策略
  • 基于贝叶斯优化的自动化模型选择:Auto-WEKA, auto-sklearng
  • 基于进化算法的的自动化模型选择:TPOT
  • 分布式自动化模型选择:H2O, TransmogrifAI, MLBox
  • 自动集成学习:Bagging 和 Boosting 方法。结合策略有:投票法、平均法、学习法

自动化超参优化

  • 深度学习中网络架构和超参数优化的特点
    • 非线性,不存在简单的优化规律
    • 非凸,无法以梯度方法进行优化,有难以验证是否是最优解
    • 组合优化,需要同时优化大量的超参
    • 混合优化,既有连续变量,又有整数变量,还有类别变量
    • 试错成本高,每次训练与评估需要消耗较多时间
  • 基本方法:网格搜索、随机搜索
  • 基于模型的序列超参优化 SMBO
  • 基于随机森林算法代理的序列超参优化
  • 基于进化算法的自动化超参优化:CMA-ES, PSO
  • 基于迁移学习的超参优化加速方法

注:深度学习、基于强化学习的自动深度学习、元学习等因工作中暂时不涉及,故略过

写在最后

对于金融行业的 AI 从业者来说,AutoML 目前仍是镜花水月。