对于机器学习的新用户而言,使用机器学习算法的一个主要的障碍就是算法的性能受许多的设计决策影响。随着深度学习的流行,工程师须要选择相应的神经网络架构,训练过程,正则化方法,超参数,等等,全部的这些都对算法的性能有很大的影响。因而深度学习工程师也被戏称为调参工程师。html
自动机器学习(AutoML)的目标就是使用自动化的数据驱动方式来作出上述的决策。用户只要提供数据,自动机器学习系统自动的决定最佳的方案。领域专家再也不须要苦恼于学习各类机器学习的算法。python
自动机器学习不光包括你们熟知的算法选择,超参数优化,和神经网络架构搜索,还覆盖机器学习工做流的每一步:git
学习器模型中通常有两类参数,一类是能够从数据中学习估计获得,还有一类参数时没法从数据中估计,只能靠人的经验进行设计指定,后者成为超参数。好比,支持向量机里面的C, Kernal, game;朴素贝叶斯里面的alpha等。github
超参数优化有不少方法:算法
最多见的类型是黑盒优化 (black-box function optimization)。所谓黑盒优化,就是将决策网络看成是一个黑盒来进行优化,仅关心输入和输出,而忽略其内部机制。决策网络一般是能够参数化的,这时候咱们进行优化首先要考虑的是收敛性。数组
如下的几类方法都是属于黑盒优化:网络
黑盒优化的一些工具:架构
因为优化目标具备不连续、不可导等数学性质,因此一些搜索和非梯度优化算法被用来求解该问题,包括咱们上面提到的这些黑盒算法。此类算法经过采样和对采样的评价进行搜索,每每须要大量对采样的评价才能得到比较好的结果。然而,在自动机器学习任务中评价每每经过 k 折交叉验证得到,在大数据集的机器学习任务上,得到一个评价的时间代价巨大。这也影响了优化算法在自动机器学习问题上的效果。因此一些减小评价代价的方法被提出来,其中多保真度优化(multi-fidelity methods)就是其中的一种。这里的技术包括:基于学习曲线来决定是否要提早终止训练,探索-利用困境(exploration exploitation)的多臂老虎机算法 (Multi-armed bandit)等等。app
另外还有一些研究是基于梯度降低的优化。框架
超参数优化面临许多挑战:
相关参考
元学习也就是‘学习如何学习’,经过对现有的学习任务之间的性能差别进行系统的观测,而后学习已有的经验和元数据,用于更好的执行新的学习任务。这样作能够极大的该静机器学习流水线或者神经网络架构的设计,也能够用数据驱动的方式取代手工做坊似的算法工程工做。
从某种意义上来讲,元学习覆盖了超参数优化,由于元数据的学习包含了:超参数,流水线的构成,神经网络架构,模型构成,元特征等等。
机器学习的算法咱们又称为‘学习器’,学习器就是假定一个模型,该模型拥有不少未知参数,利用训练数据和优化算法来找到最适合这些训练数据的参数,生成一个新的算法,或者参数已知的模型,并利用该模型/算法来预测新的未知数据。若是说世界上只有一个模型,那么问题就简单了,问题是模型有不少,不一样的模型拥有不一样的超参数,咱们每每还会把模型和算法组装在一块儿构成复合模型和机器学习的流水线,这个时候,我就须要知道解决不一样的问题要构建那些不一样的模型。元学习就在这个时候,咱们能够把超参数,流水线,神经网络架构这些都当作是一个新的模型的未知参数,把不一样学习任务的性能指标当作是输入数据,这样咱们就能够利用优化算法来找到性能最好的那组参数。这个模式能够一直嵌套,也就是说,你能够有‘元元元学习‘,固然我但愿你不要走得太远,找不到回来的路。
元学习的方法包括:
元学习的一个很大的挑战就是若是经过不多的训练数据来学习一个复杂的模型,这就是one-shot或者few-shot的问题。
像人类的学习同样,每次学习不管成功失败,咱们都收获必定的经验,人类不多从头学习。在构建自动学习的时候,咱们也应该充分利用已有的每一次的学习经验,逐步的改进,使得新的学习更加有效。
相关参考:
提起AutoML,其实大多数人都是由于Google的AutoML系统才知道这个故事的。随着深度学习的流行,神经网络的架构变得愈来愈复杂,愈来愈多的手工工程也随之而来。神经网络架构搜索就是为了解决这个问题。
NAS主要包含三个部分:
相关参考
自动化特征工程能够帮助数据科学家基于数据集自动建立可以最好的用于训练的特征。
Featuretools是一个开源库,用来实现自动化特征工程。它是一个很好的工具,旨在加快特征生成的过程,从而让你们有更多的时间专一于构建机器学习模型的其余方面。换句话说,它使你的数据处于“等待机器学习”的状态。
Featuretools程序包中的三个主要组件:
实体(Entities)
深度特征综合(Deep Feature Synthesis ,DFS)
特征基元(Feature primitives)
一个Entity能够视做是一个Pandas的数据框的表示,多个实体的集合称为Entityset。
深度特征综合(DFS)与深度学习无关,不用担忧。实际上,DFS是一种特征工程方法,是Featuretools的主干。它支持从单个或者多个数据框中构造新特征。
DFS经过将特征基元应用于Entityset的实体关系来构造新特征。这些特征基元是手动生成特征时经常使用的方法。例如,基元“mean”将在聚合级别上找到变量的平均值。
参考:
如下列出一些开源的自动机器学习工具空你们参考,选择。