AutoML-第九章-自动统计学家

第九章:自动统计学家 (The Automatic Statistician)

摘要

自动统计学家项目旨在使数据科学自动化,以最少的人工干预就可以从原始数据集中生成预测和易于阅读的报告。除了基本图形和统计信息外,生成的报告还包含有关数据集的高级洞察,这些洞察来自于(1)数据集模型的自动构建(2)这些模型的比较以及(3)将这些结果转化为自然的语言描述的软件组件。本章描述了此类自动统计学家系统的通用架构,并讨论了一些设计决策和技术挑战。

简介

机器学习(ML)和数据科学是紧密相关的研究领域,专注于从数据自动学习的算法的开发。这些算法还支撑了人工智能(AI)的许多最新进展,这些进展对工业界产生了巨大的影响,也迎来了 AI 的新黄金时代。但是,许多当前的机器学习,数据科学和 AI 方法都受到一系列重要但相关的限制。

首先,许多使用的方法是复杂的黑盒,难以解释,理解,调试和信任。缺乏可解释性阻碍了机器学习系统的部署。例如,考虑使用无法解释的黑盒系统的主要法律,技术和道德后果,该黑盒系统得出的与医疗状况,刑事司法背景或自动驾驶汽车有关的预测或决定。黑盒机器学习方法在这样的环境下受到严格限制,这一认识导致人们大力开发“ 可解释 AI”,以及提供可解释性,信任度和透明度的系统。

其次,机器学习系统的发展已变成手工业,机器学习专家通过手工设计解决方案来解决问题,这些解决方案通常反映了一组临时的人工决策或专家的偏好。颇具讽刺意味的是,机器学习这个致力于构建可自动从数据中学习系统的领域非常依赖于人类专家以及模型和学习算法的手动调整。手动搜索可能的模型和方法可能导致解决方案在任何数量的指标上都不理想。此外,专家的供应与对数据科学和 ML 解决方案的需求之间的巨大失衡很可能导致错失了许多对社会又巨大好处的应用机会。

自动统计学家的愿景是使数据分析,模型发现和解释的许多方面自动化。从某种意义上讲,目标是开发用于数据科学的 AI ,一种可以推理数据中的模式并将其向用户解释的系统。理想情况下,给定一些原始数据,这样的系统应该能够:

  • 自动化特征选择和转换过程
  • 处理现实数据的杂乱状况,包括缺失值、异常值和不同类型的值,以及遍历编码
  • 搜索很大的模型空间,以自动发现能够捕获数据中相关模式的好的模型
  • 找到能够避免过拟合和欠拟合的模型
  • 将从数据中找到的模式传达给用户,理想中可以同用户对话
  • 以一种高效且鲁棒的方式完成上述功能,分别在计算时间、内存、数据量和其他资源的限制下

尽管上述目标显然是雄心勃勃的,但迄今为止,自动化统计学家项目的工作已在上述许多方面取得了进展,特别是能够从数据中发现合理的模型并用通俗的英语解释这些发现的能力,这是 自动统计学家 [18]的显着特征之一。这样的功能对于依赖于从数据中提取知识的几乎任何领域或工作都可能有用。

与许多机器学习文献将注意力集中在不断提高模式识别问题的性能上(使用诸如核方法,随机森林或深度学习之类的技术)相反,自动统计学家需要构建由可解释的组件组成的模型,并且具有一种原则上的方式来表示给定数据的模型结构的不确定性。它不仅需要针对大型数据集,还应针对小型数据集给出合理的答案。

自动统计学家的基本剖析

自动统计学家的核心思想是,通过在基于模型的机器学习框架上工作,可以很好地解决上述挑战[2,9]。在基于模型的 ML 中,基本思想是,概率模型是数据模式的解释,并且概率框架(或 贝叶斯 Occam 剃刀)可用于发现避免过拟合和欠拟合的模型[21]。贝叶斯方法提供了一种优雅的方法,权衡模型的复杂性和数据的复杂性,并且概率模型是可组合的和可解释的,如前所述。而且,基于模型的哲学认为,诸如数据预处理和转换之类的任务都是模型的组成部分,理想情况下应全部同时进行[35]。

一个自动统计学家包含以下主要部分:

  1. 一种开放式的模型语言,足以表达真实世界的现象,并允许应用人类统计学家和数据科学家使用的技术。
  2. 一个搜索程序,高效的探索模型语言
  3. 一种评估模型的原则性方法,衡量拟合数据的复杂性和资源消耗
  4. 一个自动表达模型的程序,是模型的假设以精确并且非专家可理解的展示

图 9.1 展示了如何使用这些组件来生成报告编写自动统计学家基本版本的高层概述。

正如本章后面将要讨论的那样,有可能通过交换组件和其他可以产生所需输出的程序(例如原始预测或决策)构建自动统计学家系统。在这种情况下,可以适当地修改语言,搜索和评估组件,使其符合所选目标的要求。

相关工作

重要的早期工作包括统计专家系统[11,37]和方程式学习[26,27]。 Robot Scientist [16] 将封闭的机器学习和科学发现与微生物实验平台集成在一起,以自动化新实验的设计和执行。Auto-WEKA[17,33] 和Auto-sklearn [6] 是自动化学习分类器的项目,大量使用贝叶斯优化技术。自动化将机器学习方法应用于数据的努力最近获得了很大动力,并且可能最终会产生用于数据科学的实用 AI 系统。

用于时间序列数据的自动统计学家

可以为各种不同的目标定义自动统计学家系统,并且可以基于不同的基础模型族。我们将首先描述一个这样的系统,稍后再讨论更广泛的分类方式,并提供有关通用设计元素和一般体系结构的解释。

Lloyd等[18] 描述了一个早期的用于一维回归任务的自动统计学家。他们的系统称为自动贝叶斯协方差发现(ABCD Covariance Discovery),它通过内核上的组合语法使用高斯过程模型的开放式语言。高斯过程(GP)定义了函数的分布,GP 的参数(均值和内核)确定了函数的属性[25]。有多种可用的内核可以推到出具有特定属性的函数分布;例如线性,多项式,周期或不相关噪声的函数上的分布。该系统的图形化概述如图 9.2 所示。

内核语法 (The Grammar over Kernels)

如上所述,基于 GP 内核的语法可以表示许多有趣的函数属性,并提供了一种构造这些函数上分布的系统方法。内核上语法是组合式的:它包含一组固定的基础内核和内核算子,这些内核算子使从现有内核组成新内核成为可能。精心选择语法以使其易于理解:语法中的每个表达式都定义了一个内核,该内核可以用人类语言中一组简单但具有描述性的单词来描述。

语法中的基础内核有:C (常数),LIN (线性), SE (squared exponential 平方指数), PER (周期), 和 WN (白噪声)。内核算子有: + + + (加) , × \times × (乘) , 和 CP (变更点算子),定义如下:
( k 1 + k 2 ) ( x , x ′ ) = k 1 ( x , x ′ ) + k 2 ( x , x ′ ) ( k 1 × k 2 ) ( x , x ′ ) = k 1 ( x , x ′ ) × k 2 ( x , x ′ ) C P ( k 1 , k 2 ) ( x , x ′ ) = k 1 ( x , x ′ ) σ ( x ) σ ( x ′ ) + k 2 ( x , x ′ ) ( 1 − σ ( x ) ) ( 1 − σ ( x ′ ) ) (k_1 + k_2)(x, x') = k_1 (x, x') + k_2 (x, x') \\ (k_1 \times k_2) (x, x') = k_1 (x, x') \times k_2 (x, x') \\ CP(k_1, k_2) (x, x') = k_1(x, x')\sigma(x)\sigma(x') + k_2(x, x') (1 - \sigma(x)) (1 - \sigma(x')) (k1+k2)(x,x)=k1(x,x)+k2(x,x)(k1×k2)(x,x)=k1(x,x)×k2(x,x)CP(k1,k2)(x,x)=k1(x,x)σ(x)σ(x)+k2(x,x)(1σ(x))(1σ(x))
其中, σ ( x ) = 1 2 ( 1 + tanh ⁡ l − x s ) \sigma(x) = \frac{1}{2}(1 + \tanh \frac{l - x}{s}) σ(x)=21(1+tanhslx) 是信号函数, l l l s s s 是变更点的参数。基础内核可以使用上述算子任意结合以生成新的内核。

通过此语法定义的内核无限空间,可以自动搜索,评估和描述函数上的一大类有趣的分布。此类语法首先在[10]中针对矩阵分解问题进行了描述,然后在[5]和[18]中针对 GP 模型进行了完善。

搜索和评估过程

ABCD 对模型空间(由语法定义)进行贪婪搜索。每个提出的模型的核参数都通过共轭梯度法 (conjugate-gradient) 进行了优化。然后使用贝叶斯信息准则[29]对具有优化参数的模型进行评估:
B I C ( M ) = − 2 log ⁡ p ( D ∣ M ) + ∣ M ∣ log ⁡ N BIC (M) = -2 \log p(D|M) + |M| \log N BIC(M)=2logp(DM)+MlogN
其中 M M M 是优化模型, p ( D ∣ M ) p(D|M) p(DM) 是模型集成了潜在 GP 函数的边际可能性; ∣ M ∣ |M| M M M M 上内核参数的个数, N N N 表示数据集的大小。贝叶斯信息准则权衡了模型的复杂性和对数据的拟合程度,并近似了整体边际可能性(它整合了潜在函数和超参数)。

每轮得分最高的模型用于构建新的提议模型,方法是:(1) 使用语法中的生成规则扩展内核,例如引入加,乘积或变更点;或 (2) 通过交换基础内核与其他内核来使内核发生变异。然后,在下一轮中评估新的提议内核集。根据上述规则,有可能多次提议一个内核表示,但是一个实现良好的系统将保留记录,并且只对每个表达式进行一次评估。当所有新提出的模型的得分都比之前的最佳模型差时,或者当超过预定义的搜索深度时,搜索和评估过程就会停止。

对于任何给定的数据集,都不能保证通过这种贪婪的搜索过程找到语言中的最佳模型:更好的模型可能隐藏在未扩展的子树中。通常不需要找到全局最佳的模型,只要能在合理的时间内找到可解释的良好模型即可。还有其他进行模型搜索和评估的方法,例如 Malkomes 等[22]介绍了基于贝叶斯优化的内核搜索过程。Janz等[14] 实现了一种使用粒子滤波 (particle filtering) 和哈密顿量蒙特卡罗 (Hamilonian Monte Carlo) 的核搜索方法。

生成自然语言描述

当搜索过程终止时,它会生成一个内核表达式及其在数据集中的得分的列表。然后使用得分最高的表达式来生成自然语言描述。要将内核转换为自然语言的描述,首先使用以下过程将内核转换为规范形式:

  • 将嵌套的加和乘展开为乘积项相加的模式
  • 一些内核的乘可以被简化为修改参数后的基础内核,如 S E × S E → S E ∗ , C × k → k ∗ SE \times SE \to SE^*, C \times k \to k^* SE×SESE,C×kk 对任意 k k k ,以及 W N × k → W N ∗ WN \times k \to WN^* WN×kWN 对任意 k ∈ { C , S E , W N , P E R } k \in \{C, SE, WN, PER \} k{C,SE,WN,PER}

运用了这些规则之后,内核表达式变为乘积项的和的形式,其中每个乘积项都有以下标准形式:
k × ∏ m L I N m × ∏ n σ ( n ) k \times \prod_{m} LIN^{m} \times \prod_{n} \sigma^{(n)} k×mLINm×nσ(n)
其中 σ ( x , x ′ ) = σ ( x ) σ ( x ′ ) \sigma(x, x') = \sigma(x) \sigma(x') σ(x,x)=σ(x)σ(x) 是两个 sigmoid 函数的乘积, k k k 是如下形式之一:1. WIN, C, SE, ∏ j P E R ( j ) \prod_j PER^{(j)} jPER(j) , 或 S E × ∏ j P E R ( j ) SE \times\prod_{j} PER^{(j)} SE×jPER(j) . 记号 ∏ j k ( j ) \prod_j k^{(j)} jk(j) 表示内核的乘积,每个内核具有独立的参数。

在这种规范形式中,内核是乘积的总和,并且首先描述总和中的项数:“结构搜索算法已识别出数据中的 N N N 个加法分量”。这句话之后紧跟着,使用以下算法对这句话的每个加法成分的描述(即总和中的每个乘积项):

  1. 从乘积项的内核中选择一个作为名词描述符。Lloyd等 [18]推荐的一种启发式方法是根据以下偏好进行选择: P E R > { C , S E , W N } > ∏ j L I N ( j ) > ∏ j σ ( j ) PER > \{C, SE, WN\} > \prod_j LIN^{(j)} > \prod_j \sigma^{(j)} PER>{C,SE,WN}>jLIN(j)>jσ(j) ,其中 PER 是最优选的。
  2. 用下表将选中的内核类型转换为字符串
  3. 乘积项中的其他内核转换为添加在名词描述符后的后缀表达式。后缀表达式通过下表转换
  4. 对描述的进一步精炼是可能的,包括来自内核参数的见解或根据数据计算出的额外信息。这些改进中的一些在[18]中进行了描述。

在[18]和[19]中可以找到有关将内核表达式转换为自然语言的更多详细信息。从生成的报告中摘录的示例如图 9.3 所示。

与人类相比

要考虑的一个有趣问题是,自动统计学家(例如 ABCD 算法)所做的预测在多大程度上与人类相似,以及它们与其他也使用基于高斯过程的方法进行的预测相比如何。为了回答这个问题,Schulz等[28] 向参与者展示了从给定的一组数据进行推断的任务,并且他们从给定的一组数据中选择了偏好的推断。研究结果对于复合内核在两个方面都令人鼓舞:首先,参与者更喜欢由 ABCD 进行的推断,而不是由 Spectral Kernels [36] 进行的推断,以及由简单 RBF(径向基函数)的内核进行的推断。其次,当要求人类参与者自己推断数据时,他们的预测与 ABCD 的复合搜索程序所给出的预测最为相似。

编写报告的自动统计学家的设计目标之一是能够以人类可以理解的术语来解释其发现。前面描述的系统将自己限制在可以使用人类语言的简单术语解释的模型空间中,即使这种设计选择可能以牺牲预测准确性为代价。总的来说,衡量机器学习系统的可解释性并不简单;Doshi-Velez 和 Kim [4] 提出了一种可能的框架。我们注意到,并不是所有的机器学习系统都需要这样的功能。例如,当系统的结果对社会的影响不大时,尤其是在社会规范和互动方面,可以取而代之的是针对性能或准确性进行优化(例如,识别用于自动邮件分类的邮政编码)。

其他自动统计学家系统

生成易于理解的报告的功能可能是自动统计学家系统的特色之一。但是,如前所述,这种性质的软件也可以用于其他目的。例如,用户可能对数据的原始预测(有没有解释都可)感兴趣,或者他们可能希望系统直接代表他们做出数据驱动的决策。

同样,也可以为不同于高斯过程或语法的模型族构建自动统计学家系统。例如,我们为回归[5,18],分类[12,23],单变量和多变量数据构建了自动统计系统;基于各种不同模型类别的系统,以及带有或不带有智能资源控制的系统。本节讨论了许多自动统计系统共享的一些设计元素。

核心组件

自动统计学家必须执行的关键任务之一是选择,评估和比较模型。这些类型的任务可以同时运行,但它们具有相互依赖性。例如,一组模型的评估可能会影响下一组模型的选择。

通常,我们系统中的这些选择策略组件负责选择要评估的模型:它可以从固定或开放式模型族中进行选择,或者可以基于先前选择的模型的评估和比较来生成和完善模型。有时,数据集中变量的类型(无论是从数据推断还是由用户注释的)都会影响选择策略可能选择的模型。例如,人们可能想区分连续数据和离散数据,并对分类数据和有序数据使用不同的处理方法时。

模型评估任务在用户提供的数据集的一部分上训练给定模型,然后通过对保留的数据进行测试来产生分数。一些模型不需要单独的训练阶段,并且可以直接为整个数据集产生对数似然率。模型评估可能是并行化的最重要任务之一:在任何给定时间,可以在多个 CPU 甚至多个计算机上同时评估多个所选模型。

该报告管理器组件是决定将哪些结果包括在最终报告中的软件部分。例如,它可能包括描述最佳拟合模型的部分以及推断,图表或数据表。根据评估结果,报告管理器可能会选择包含其他材料,例如数据伪造/模型批评部分,建议或摘要。在某些系统中,交付的可能不是报告而是其他部分,例如原始预测,参数设置, 或模型源代码。

在交互式系统中,数据加载阶段提供有关上载数据集的即时摘要,并允许用户更正关于数据格式的任何假设。用户可以进行类型注释,从数据集中删除列,选择输出变量(例如用于分类)并指定应运行的分析。

设计挑战

用户交互

尽管自动统计学家的目标是自动化数据处理的各种方面(从格式化和清洗等底层次任务到模型构建,评估和评论等高层次任务),但也给用户提供了与系统交互并影响系统选择的选项也是有用的。例如,用户可能想要指定他们对数据的哪些部分或哪些方面感兴趣,以及哪些部分可以忽略。一些用户可能希望选择系统在模型构建或评估阶段要考虑的模型系列。最后,系统可能希望与用户进行对话,以探索或解释其在数据中发现的内容。这种交互性需要底层系统的支持。

缺失和杂乱的数据

实际数据集的一个常见问题是它们可能有缺少或损坏条目,单元或格式不一致,或其他类型的缺陷。这些缺陷可能需要对数据进行一些预处理,尽管可以自动做出许多决策,但某些决策可能会受益于与用户的交互。好的模型可以直接处理丢失的数据,只要在数据加载阶段正确检测到丢失的数据,就可以了。但是有些数据模型无法原生地处理丢失的数据。在这种情况下,执行数据插补以将填充了缺失值后的数据集版本提供给这些模型可能是有用的。该插补任务本身由在数据上进行训练的模型来执行。这种技术的例子包括,例如,MissForest [31],MissPaLasso [30],mice[3],KNNimpute [34] 和贝叶斯方法[1,7]。

资源分配

自动统计学家的另一个重要特点是资源使用。例如,用户可能只有有限数量的可用 CPU 内核,或者对在固定的期限内(例如, 在给定的截止日期之前)获得最好的报告感兴趣。为了完成好的模型选择和评估选择,智能的系统可能会考虑这种资源约束。这样做的能力将影响系统的整体可用性。

即使在计算时间,CPU 内核,内存使用没有直接限制的情况下,智能系统也可能会受益于将资源分配给评估最有希望被交付的模型。可以为支持某种形式的渐进评估的模型实现此类功能,例如,通过对数据集越来越大的子集进行渐进式训练。为此,我们的系统之一使用了冻结-解冻 (Freeze-thaw) 贝叶斯优化[32]的变体。

结论

我们的社会已经进入了有大量数据的时代。数据的分析和探索对于利用这种不断增长的资源所带来的好处至关重要。不幸的是,数据的增长目前超过了我们分析数据的能力,特别是因为此任务仍主要依赖于人类专家。但是机器学习和数据分析的许多方面可以实现自动化,而实现这一目标的一个指导原则是 “将机器学习应用于自身”。

“自动统计学家” 项目旨在通过考虑数据分析的各个方面来使数据科学自动化,从数据预处理,建模和评估到生成有用和透明的结果。所有这些任务的执行方式都只需要很少的用户专业知识,可以最大程度地减少与用户交互,并可以智能可控地使用计算资源。

尽管这个目标是雄心勃勃的,并且仍然需要进行许多工作,但是在创建这种自动化系统方面已经取得了令人鼓舞的进展。目前已经建立了多个自动统计系统,每个系统的目的和基础技术略有不同,但是它们都具有相同的意图和许多相同的设计理念。我们希望这样工具的创建将把从数据中获得洞察的能力带给更多的人,并帮助赋予社会能够充分利用我们的数据资源的能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值