作为新兴的前沿研究领域,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: 基于过去特征工程的经验,学习对数值特征应用变换的有效性
- 优点:处理时间段
- 缺点:依赖过去的特征,会受到过去特征的性能影响
- DSM: 依赖深度特征合成算法,提取关系型或用户行为数据的特征
- 自动特征工程平台
- RapidMiner
- Datarobot
- 第四范式 Prophet 平台
自动化模型选择
- 哪个模型可以在偏差(准确度)和方差(稳定性)之间达到最优?
- 两个核心问题:搜索空间 + 搜索策略
- 基于贝叶斯优化的自动化模型选择:Auto-WEKA, auto-sklearng
- 基于进化算法的的自动化模型选择:TPOT
- 分布式自动化模型选择:H2O, TransmogrifAI, MLBox
- 自动集成学习:Bagging 和 Boosting 方法。结合策略有:投票法、平均法、学习法
自动化超参优化
- 深度学习中网络架构和超参数优化的特点
- 非线性,不存在简单的优化规律
- 非凸,无法以梯度方法进行优化,有难以验证是否是最优解
- 组合优化,需要同时优化大量的超参
- 混合优化,既有连续变量,又有整数变量,还有类别变量
- 试错成本高,每次训练与评估需要消耗较多时间
- 基本方法:网格搜索、随机搜索
- 基于模型的序列超参优化 SMBO
- 基于随机森林算法代理的序列超参优化
- 基于进化算法的自动化超参优化:CMA-ES, PSO
- 基于迁移学习的超参优化加速方法
注:深度学习、基于强化学习的自动深度学习、元学习等因工作中暂时不涉及,故略过
写在最后
对于金融行业的 AI 从业者来说,AutoML 目前仍是镜花水月。