主要内容

监督学习工作流和算法

什么是监督式学习?

有监督的机器学习的目的是建立一个模型,在不确定性存在的情况下,根据证据做出预测。随着自适应算法识别数据中的模式,计算机从观察中“学习”。当计算机接触到更多的观测数据时,它的预测性能就会提高。

具体来说,监督学习算法采用一组已知的输入数据和对数据(输出)的已知响应,并且火车对新数据做出合理预测的模型。

例如,假设您想要预测某人是否会在一年内心脏病发作。你有一组以前病人的数据,包括年龄、体重、身高、血压等。你知道之前的病人在测量后的一年内是否有过心脏病发作。因此,问题是将所有现有数据组合成一个模型,可以预测一个新人是否会在一年内心脏病发作。

您可以将整个输入数据集看作异构矩阵。矩阵的行被调用观察例子,或实例,每个都包含一个受试者(本例中为患者)的一组测量值。矩阵的列被称为预测属性,或特性,每个变量表示对每个主题的测量(例如年龄、体重、身高等)。您可以将响应数据看作一个列向量,其中每一行都包含输入数据中相应观察结果的输出(患者是否有心脏病发作)。来适合火车一个监督学习模型,选择一个合适的算法,然后将输入和响应数据传递给它。

监督学习分为两大类:分类和回归。

  • 分类时,目标是分配一个类(或标签)从一个有限的类集合到一个观察。也就是说,响应是分类变量。应用程序包括垃圾邮件过滤器、广告推荐系统、图像和语音识别。预测一个病人是否会在一年内心脏病发作是一个分类问题,可能的分类是真正的而且。分类算法通常应用于标称响应值。然而,一些算法可以容纳序数类(参见fitcecoc).

  • 回归,目标是预测一个观测的连续测量值。也就是说,响应变量是实数。应用包括预测股票价格、能源消耗或疾病发病率。

统计和机器学习工具箱™监督学习功能包括一个流线,对象框架。您可以有效地训练各种算法,将模型组合到集成中,评估模型性能,交叉验证,并预测新数据的响应。

监督学习的步骤

虽然有许多用于监督学习的统计和机器学习工具箱算法,但大多数算法使用相同的基本工作流来获得预测器模型。(关于整体学习步骤的详细说明见集成学习框架)。监督学习的步骤是:

准备数据

所有监督学习方法都从一个输入数据矩阵开始,通常称为X在这里。每行X表示一个观察结果。的每一列X表示一个变量或预测器。用X。统计和机器学习工具箱可以处理监督学习算法值,通过忽略它们或忽略任何带有价值。

您可以为响应数据使用各种数据类型Y。中的每个元素Y的对应行的响应X。缺失观测Y数据被忽略。

  • 对于回归,Y必须是一个数字向量的元素数量与行的数量相同X

  • 的分类,Y可以是这些数据类型中的任何一种。该表还包含了包含缺失项的方法。

    数据类型 失踪的条目
    数值向量
    分类向量 <定义>
    字符数组 空格行
    字符串数组 < >失踪”“
    字符向量的单元格数组
    逻辑向量 (不能代表)

选择算法

算法的几个特征之间存在权衡,例如:

  • 训练速度

  • 内存使用情况

  • 对新数据的预测准确性

  • 透明度或可解释性,意味着你能多容易地理解算法做出预测的原因

算法的详细信息见分类算法的特点。关于集成算法的更多细节在里面选择一个适用的集成聚合方法

适合模型

你使用的拟合函数取决于你选择的算法。

算法 拟合函数
分类树 fitctree
回归树 fitrtree
判别分析(分类) fitcdiscr
k-最近邻(分类) fitcknn
朴素贝叶斯(分类) fitcnb
金宝app支持向量机(SVM)用于分类 fitcsvm
回归支持向量机 fitrsvm
支持向量机或其他分类器的多类模型 fitcecoc
分类集合体 fitcensemble
回归集合体 fitrensemble
分类或回归树集合(例如,随机森林[1])平行 TreeBagger

有关这些算法的比较,请参见分类算法的特点

选择验证方法

检验所得拟合模型准确性的三种主要方法是:

检查Fit并更新直到满意为止

在验证模型之后,您可能希望更改它以获得更好的精度、更快的速度或使用更少的内存。

当对某些类型的模型感到满意时,您可以使用适当的紧凑的函数(紧凑的对于分类树,紧凑的对于回归树,紧凑的对于判别分析,紧凑的对于朴素贝叶斯,紧凑的支持向量机,紧凑的ECOC模型,紧凑的对于分类集合,和紧凑的对于回归集合)。紧凑的从模型中删除训练数据和预测不需要的其他属性,例如,修剪决策树的信息,以减少内存消耗。因为k神经网络分类模型需要所有的训练数据来预测标签,你不能减少一个大小ClassificationKNN模型。

使用拟合模型进行预测

要预测大多数拟合模型的分类或回归响应,请使用预测方法:

ypredict = predict(obj,Xnew)
  • obj是装配型还是装配紧凑型。

  • Xnew是新的输入数据。

  • Ypredicted是预测的响应,分类或回归。

分类算法的特点

这个表显示了各种监督学习算法的典型特征。任何特定情况下的特征都可能与所列的不同。使用该表作为您最初选择算法的指南。决定在速度、内存使用、灵活性和可解释性方面进行权衡。

提示

首先尝试使用决策树或判别器,因为这些分类器快速且易于解释。如果模型在预测响应时不够准确,可以尝试其他具有更高灵活性的分类器。

要控制灵活性,请参阅每种分类器类型的详细信息。为了避免过度拟合,请寻找灵活性较低但提供足够精度的模型。

分类器 多级支持金宝app 分类预测器支持金宝app 预测的速度 内存使用情况 可解释性
决策树- - - - - -fitctree 是的 是的 容易
判别分析- - - - - -fitcdiscr 是的 没有 线性小,二次大 容易
支持向量机- - - - - -fitcsvm 不。
使用组合多个二元SVM分类器fitcecoc
是的 介质为线性。
对别人来说很慢。
介质为线性。
所有其他:多类为中等,二进制为大。
易于线性支持向量机。
对于所有其他内核类型来说都很难。
朴素贝叶斯- - - - - -fitcnb 是的 是的 中等,适用于简单的发行版。
对于内核分布或高维数据来说速度较慢
对于简单的分布来说很小。
用于内核分布或高维数据的介质
容易
最近的邻居- - - - - -fitcknn 是的 是的 慢到立方。
对其他人来说是中等。
媒介
乐团- - - - - -fitcensemble而且fitrensemble 是的 是的 快速到中等取决于算法的选择 低到高取决于算法的选择。

本表中的结果基于对许多数据集的分析。研究中的数据集有多达7000个观测值、80个预测因子和50个类。这个列表定义了表中的术语。

速度:

  • 快- 0.01秒

  • 中- 1秒

  • 慢- 100秒

内存

  • 小- 1MB

  • 中- 4MB

  • 大- 100MB

请注意

下表提供了一般的指导。您的结果取决于您的数据和机器的速度。

分类预测器支持金宝app

该表描述了预测器对每个分类器的数据类型支持。金宝app

分类器 所有预测器数值 所有预测因素都是明确的 一些分类的,一些数字的
决策树 是的 是的 是的
判别分析 是的 没有 没有
支持向量机 是的 是的 是的
朴素贝叶斯 是的 是的 是的
最近的邻居 只是欧几里得距离 仅汉明距离 没有
乐团 是的 是的,除了判别分析分类器的子空间集合 是的,除了子空间集合

参考文献

[1]布莱曼,L。随机森林。机器学习,2001,pp. 5-32。