聚焦 supervised-learning,根据 AutoML 框架总结 AutoML 相关的方法。
Definition (AutoML): AutoML attempts to construct machine learning programs (specified by E , T and P in Definition 1), without human assistance and within limited computational budgets.
The three goals of AutoML:
a. Good performance: good generalization performance across various input data and learning tasks can be achieved;
b. No assistance from humans: configurations can be automatically done for machine learning tools; and
c. High computational efficiency: the program can return an reasonable output within a limited budget
我们在 AutoML 控制器中有两个关键成分,即 optimizer(优化器)和 evaluator(评估器)。
根据问题设定可以对AutoML方法进行分类,三个问题:
a. learning process: 我们关注的是哪个学习过程?
b. learning tools: 这个学习过程可以设计和使用(自己的理解:属于)哪个学习工具?
c. search space: 期待得到的相应配置是什么样的?
目标:从数据中自动构造特征,使后续的学习工具具有良好的性能。分为创造特征与增强特征,这里只讨论特征增强。
方法:
目标:自动选择分类器,设置分类器的超参数,获得良好的学习性能
常见可供选择的分类器:
目标:自动找到优化算法,使效率和性能达到平衡
常见可供选择的优化算法:
目标:搜索适合学习问题的好的深度网络架构
根据优化策略可以对AutoML方法进行分类,三个问题:
a. search space: 优化器可以在什么样的搜索空间上操作?
b. feedbacks: 它需要被提供什么样的反馈?
c. converge: 在找到一个好的配置之前,它需要生成/更新多少配置?
常见方法:
一旦优化器生成了候选配置,评估器需要评估它的性能。三个问题:
a. fast: 它能够快速评估吗?
b. accuracy: 它能够准确评估吗?
c. feedbacks: 它需要提供怎样的反馈?
常见方法:
基于经验的技术从过去的搜索或外部数据中学习和积累知识。它们通常需要与基础技术相结合,主要包括:
元学习从过去的经验中学习特定的学习工具如何解决给定的问题的知识。然后应用其为即将出现的问题推荐或构建合适的学习工具。
分为三类:
① meta-knowledge (获得元知识): =
学习问题和学习工具的元特征 (数据集的统计属性,学习工具的超参数等)
+ 关于元学习目标的经验知识 (学习工具的性能,特定问题用哪些特定工具)
② meta-learners (训练元学习器):通过元知识进行训练元学习器。
③ meta-predictions (作出预测):经可以应用过训练的元学习器在即将出现的、特征化的学习问题,来作出预测。
每一类都有特定的 元知识、元学习器:
concept drift
:在单个数据集中,数据分布会有所不同。
迁移学习利用源领域和学习任务中的知识 (通常是源配置生成或评估的最终或中间结果),然后来改进目标领域和学习任务上的学习。
在AutoML中,迁移的源和目标要么是配置生成,要么是配置评估,其中前一个设置在AutoML实例之间传递知识,后一个设置在AutoML实例内部传递知识
每一类都有特定的 迁移源、迁移目标和迁移内容:
元学习是从元特征 => 配置的角度,以端到端的方式促进自动化。
迁移学习是从迁移评估器或优化器的角度,促进自动化
在 Auto-sklearn 中, 模型选择被形式化为一个 CASH problem
Let F = { F 1 , ⋯ , F R } \mathcal{F}=\left\{F_{1}, \cdots, F_{R}\right\} F={F1,⋯,FR} be a set of learning models, and each model has hyper-parameter θ j \theta_{j} θj with domain Λ j , D train = { ( x 1 , y 1 ) , ⋯ , ( x n , y n ) } \Lambda_{j}, \mathcal{D}_{\text {train }}=\left\{\left(\mathbf{x}_{1}, y_{1}\right), \cdots,\left(\mathbf{x}_{n}, y_{n}\right)\right\} Λj,Dtrain ={(x1,y1),⋯,(xn,yn)} be a training set which is split into K K K cross-validation folds { D train 1 , ⋯ , D train K } \left\{\mathcal{D}_{\text {train }}^{1}, \cdots, \mathcal{D}_{\text {train }}^{K}\right\} {Dtrain 1,⋯,Dtrain K} and { D valid 1 , ⋯ , D valid K } \left\{\mathcal{D}_{\text {valid }}^{1}, \cdots, \mathcal{D}_{\text {valid }}^{K}\right\} {Dvalid 1,⋯,Dvalid K} with D train i ∪ \mathcal{D}_{\text {train }}^{i} \cup Dtrain i∪ D valid i = D train \mathcal{D}_{\text {valid }}^{i}=\mathcal{D}_{\text {train }} Dvalid i=Dtrain for i = 1 , … , K i=1, \ldots, K i=1,…,K. Then, the Combined Algorithm Selection and Hyper-parameter (CASH) optimization problem is defined as
F ∗ , θ ∗ = argmin θ ∈ Λ j F j ∈ F 1 K ∑ i = 1 K min w L ( F j ( w ; θ ) , D train i , D valid i ) F^{*}, \theta^{*}=\underset{\substack{\theta \in \Lambda_{j} \\ F_{j} \in \mathcal{F}}}{\operatorname{argmin}} \frac{1}{K} \sum_{i=1}^{K} \min _{\mathbf{w}} \mathcal{L}\left(F_{j}(\mathbf{w} ; \theta), \mathcal{D}_{\text {train }}^{i}, \mathcal{D}_{\text {valid }}^{i}\right) F∗,θ∗=θ∈ΛjFj∈FargminK1i=1∑KwminL(Fj(w;θ),Dtrain i,Dvalid i)
where L ( F j ( w j ; θ j ) , D train i , D valid i ) \mathcal{L}\left(F_{j}\left(\mathbf{w}_{j} ; \theta_{j}\right), \mathcal{D}_{\text {train }}^{i}, \mathcal{D}_{\text {valid }}^{i}\right) L(Fj(wj;θj),Dtrain i,Dvalid i) denotes the loss that F j F_{j} Fj achieves on D valid i \mathcal{D}_{\text {valid }}^{i} Dvalid i with parameter w j \mathbf{w}_{j} wj, hyper-parameter θ j \theta_{j} θj and training data D train i \mathcal{D}_{\text {train }}^{i} Dtrain i.
存在的问题:
a. 由于目标没有明确的表达式,我们不知道它的性质,例如平滑程度。
b. 决策变量 θ θ θ 和 F j F_j Fj 甚至可能不是连续的。
c. 每次都需要训练模型 F j F_j Fj,时间花销很大。
采用的 AutoML 策略:
a. 优化器:一种基于树的贝叶斯优化方法
b. 评估器:基础直接评估
c. 集成:Auto-sklearn不是丢弃在配置空间中搜索过的模型,而是存储它们,并使用后处理方法构建它们的集成
ExploreKit 的优化器采用了一种贪婪的策略,分为三个迭代的过程:
① 候选特征生成:通过对已经选择的特征应用算子来构造新的特征
② 候选特征排序:通过元学习,利用特征工程的历史知识训练排序分类器,快速排序候选对象
③ 候选特征评估和选择:对候选特征进行更昂贵和准确的评估。验证集上的错误减少被用作特征重要性的度量。