监督学习工作流程和算法
监督学习是什么?
机器学习监督的目的,是建立一个模型,使预测基于证据的不确定性。自适应算法识别数据中的模式,电脑“学习”的观察。当暴露于更多的观察,计算机可提高其预测性能。
具体地说,一个监督学习算法需要一组已知的输入数据和已知的响应(输出)的数据,和火车一个模型来生成合理的应对新数据的预测。
例如,假设您想要预测一个人是否在一年内会心脏病发作。有一组数据之前的病人,包括年龄、体重、身高、血压等。你知道前面的患者心脏病发作在一年内的测量。问题是结合所有现有的数据模型,可以预测一个人是否会在一年之内心脏病发作。
你可以把整个组输入数据异构的矩阵。矩阵的行被称为观察,例子,或实例的测量,每个包含一组主题(病人的例子)。列的矩阵被称为预测,属性,或特性,每个变量代表测量了每一个主题(年龄、体重、身高等)。你能想到的响应数据作为一个列向量,每行包含相应观察输入数据的输出(是否病人心脏病发作)。来适合或火车一个监督学习模型,选择合适的算法,然后通过输入和响应数据。
监督学习分为两大类:分类和回归。
在分类,我们的目标是(或指定一个类标签)从一个有限集合类的一个观察。反应是分类变量。应用包括垃圾邮件过滤器、广告推荐系统、图像和语音识别。预测患者是否有心脏病发作在一年之内是一个分类问题,和可能的类
真正的
和假
。分类算法通常适用于标称响应值。然而,一些算法可以适应序数类(见fitcecoc
)。在回归,我们的目标是预测的连续测量观察。也就是说,响应变量是实数。应用包括预测股票价格、能源消耗或疾病发病率。
统计和机器学习工具箱™监督学习功能包括一个全方位、对象框架。你可以有效地训练各种算法,结合成一个整体模型,性能评估模型,旨在,预测新数据的反应。
在监督学习步骤
虽然有很多统计和机器学习工具箱为监督学习算法,大多数使用相同的基本工作流获取一个预测模型。(详细说明对集成学习的步骤对集成学习框架)。监督学习的步骤是:
准备数据
所有的监督学习方法从一个输入数据矩阵,通常被称为X
在这里。每一行的X
代表一个观察。每一列的X
代表一个变量,或预测。代表失踪的条目南
值X
。统计和机器学习工具箱监督学习算法可以处理南
值,通过他们忽略或忽视任何行南
价值。
您可以使用各种数据类型的响应数据Y
。中的每个元素Y
代表的响应相应的行X
。观察与缺失Y
数据将被忽略。
对于回归,
Y
必须与相同数量的数值向量元素的行数的X
。的分类,
Y
可以是任何数据类型。这个表还包含的方法包括失踪的条目。数据类型 失踪的条目 数值向量 南
分类向量 <定义>
字符数组 排空间 字符串数组 <失踪>
或”“
单元阵列的特征向量 ”
逻辑向量 (不能代表)
选择一种算法
有几个特征之间的权衡算法,如:
速度的训练
内存使用情况
在新数据预测的准确性
透明度和可解释性,意味着你可以很容易地理解一个算法使其预测的原因
算法中出现的细节分类算法的特点。更多细节关于整体算法选择一个适用的合奏聚合方法。
适合一个模型
你使用的拟合函数取决于您选择的算法。
算法 | 拟合函数的分类 | 回归拟合函数, |
---|---|---|
决策树 | fitctree |
fitrtree |
判别分析 | fitcdiscr |
不适用 |
乐团(例如,随机森林[1]) | fitcensemble ,TreeBagger |
fitrensemble ,TreeBagger |
高斯核函数模型 | fitckernel (支持向量机和逻辑回归学习者) |
fitrkernel (支持向量机和最小二乘回归学习者) |
高斯过程回归(GPR) | 不适用 | fitrgp |
广义可加模型(GAM) | fitcgam |
fitrgam |
k最近的邻居 | fitcknn |
不适用 |
线性模型 | fitclinear (支持向量机和逻辑回归) |
fitrlinear (支持向量机和最小二乘回归) |
多级、纠错输出编码(ECOC) SVM模型或其他分类器 | fitcecoc |
不适用 |
朴素贝叶斯模型 | fitcnb |
不适用 |
神经网络模型 | fitcnet |
fitrnet |
万博1manbetx支持向量机(SVM) | fitcsvm |
fitrsvm |
这些算法的比较,看到分类算法的特点。
选择一个验证方法
三个主要的方法来检查生成的拟合模型的准确性:
检查resubstitution错误。有关示例,请参见:
检查交叉验证错误。有关示例,请参见:
检查out-of-bag错误的决策树。有关示例,请参见:
检查和更新,直到满意
验证模型之后,您可能想要改变它的准确性,更好的速度,或者使用更少的内存。
改变拟合参数来得到一个更精确的模型。有关示例,请参见:
改变拟合参数,试图得到一个较小的模型。这有时让一个模型的准确性。有关示例,请参见:
尝试不同的算法。适用的选项,请参阅:
当满意某些类型的模型,你可以使用适当的修剪紧凑的
函数(紧凑的
分类树,紧凑的
回归树,紧凑的
判别分析,紧凑的
朴素贝叶斯、紧凑的
支持向量机,紧凑的
对于ECOC模型,紧凑的
分类乐团,和紧凑的
回归集合体)。紧凑的
将训练数据和其他属性不需要预测,例如,为决策树剪枝信息,从模型中,以减少内存消耗。因为k神经网络分类模型要求的所有训练数据预测标签,你不能减少的大小ClassificationKNN
模型。
用拟合模型的预测
预测分类或回归响应对于大多数拟合模型,使用预测
方法:
Ypredicted =预测(obj Xnew)
obj
拟合模型或安装紧凑模式。Xnew
是一种新的输入数据。Ypredicted
是预测的反应,分类或回归。
分类算法的特点
此表显示了各种监督学习算法的典型特征。在任何特定情况下特征可以从列出的不同。使用表格作为指南你最初选择的算法。决定你想要的权衡在速度、内存使用情况,灵活性和可解释性。
提示
决策树或判别第一,因为这些分类器是快速和容易理解。如果模型不够准确预测响应,尝试其他分类器更高的灵活性。
控制的灵活性,看到每个分类器类型的详细信息。为了避免过度拟合,寻找一个模型较低的灵活性,提供足够的精度。
分类器 | 多级支持万博1manbetx | 分类预测的支持万博1manbetx | 预测的速度 | 内存使用情况 | 可解释性 |
---|---|---|---|---|---|
决策树- - - - - -fitctree |
是的 | 是的 | 快 | 小 | 容易 |
判别分析- - - - - -fitcdiscr |
是的 | 没有 | 快 | 小的线性,二次大 | 容易 |
支持向量机- - - - - -fitcsvm |
不。 结合多个二进制SVM分类器使用 fitcecoc 。 |
是的 | 介质为线性的。 为别人慢。 |
介质为线性的。 其他:中型多级,大型二进制。 |
简单的线性支持向量机。 所有其他内核类型。 |
朴素贝叶斯- - - - - -fitcnb |
是的 | 是的 | 媒介对于简单的分布。 缓慢的内核发行版或高维数据 |
小的简单的分布。 媒介内核发行版或高维数据 |
容易 |
最近的邻居- - - - - -fitcknn |
是的 | 是的 | 缓慢的立方。 中为他人。 |
媒介 | 硬 |
乐团- - - - - -fitcensemble 和fitrensemble |
是的 | 是的 | 快到中等取决于选择的算法 | 低到高取决于选择的算法。 | 硬 |
这个表中的结果是基于许多数据集的分析。这项研究的数据集7000观察,80年预测,50类。这个列表定义了术语表中。
速度:
快,0.01秒
中期1秒
慢- 100秒
内存
小- 1 mb
中期4 mb
大- 100 mb
请注意
表提供了一个通用的指南。你的结果取决于你的数据和你的机器的速度。
分类预测的支持万博1manbetx
此表描述了数据类型支持每个分类器的预测因子。万博1manbetx
分类器 | 所有的预测数字 | 所有预测分类 | 一些直言,一些数字 |
---|---|---|---|
决策树 | 是的 | 是的 | 是的 |
判别分析 | 是的 | 没有 | 没有 |
支持向量机 | 是的 | 是的 | 是的 |
朴素贝叶斯 | 是的 | 是的 | 是的 |
最近的邻居 | 欧氏距离只有 | 汉明距离只有 | 没有 |
乐团 | 是的 | 是的,除了子空间总体判别分析分类器 | 是的,除了子空间集合体 |
误分类代价矩阵、先验概率和观察权重
当你训练一个分类模型,您可以指定误分类代价矩阵,利用先验概率,观察权重成本
,之前
,权重
名称-值参数,分别。分类学习算法学习和评估厂商使用指定的值。
指定成本
,之前
,权重
名称-值参数
假设您指定成本
作为C,之前
作为p,权重
作为w。的值C,p,w的形式
C是一个K——- - - - - -K数字矩阵,K类的数量。cij=C(我,j)分类的成本是一个观察到班呢j当它真正的类我。
wj观察观察体重吗j,n是观测的数量。
p是一个
1
——- - - - - -K数字矢量,pk是类的先验概率k。如果您指定之前
作为“经验”
,那么软件集pk为观察观察权重的总和k:
成本
,之前
,W
分类模型的性质
软件商店指定成本矩阵(C)成本
房地产,和商店的先验概率和观察权重之前
和W
正常化后属性,分别。
一个分类模型的训练fitcdiscr
,fitcgam
,fitcknn
,fitcnb
,或fitcnet
函数使用成本
属性的预测,但不使用功能成本
进行训练。因此,成本
模型的属性不是只读;您可以通过使用点符号改变属性值在创建训练模型。模型使用成本
对于培训,属性是只读的。
软件可实现先验概率之和为1和规范观察权重总结先验概率的值在相应的类中。
降低成本的学习方案
这些分类模型支持厂商学习:万博1manbetx
分类决策树、训练
fitctree
分类合奏,训练
fitcensemble
或TreeBagger
高斯核函数分类支持向量机和逻辑回归的学习者,训练
fitckernel
多级、纠错输出编码(ECOC)模型,训练
fitcecoc
线性分类支持向量机和逻辑回归训练
fitclinear
支持向量机分类、训练
fitcsvm
拟合函数使用指定的误分类代价矩阵成本
名称-值参数模型训练。厂商学习方法从一个分类到另一个不同。
fitcecoc
指定转换成本矩阵和多类分类的先验概率值为每个二进制的二进制值分类学习者。有关更多信息,请参见先验概率和误分类代价。fitctree
应用平均成本调整种植一棵树。fitcensemble
,TreeBagger
,fitckernel
,fitclinear
,fitcsvm
指定成本调整先验概率和观察权重矩阵。fitcensemble
和TreeBagger
生成在袋子样品采样过密类大误分类代价采样类小误分类代价。因此,out-of-bag样本较少的观察从类大误分类代价和更多的观察类小误分类代价。如果你训练一个分类合奏使用一个小的数据集和一个高度倾斜成本矩阵,然后out-of-bag观察每个类的数量可能非常低。因此,估计out-of-bag错误可以有很大的差异,可能难以解释。同样的现象也发生类先验概率大。
调整先验概率和观察权重误分类代价矩阵。模型训练的fitcensemble
,TreeBagger
,fitckernel
,fitclinear
,fitcsvm
功能更新类的先验概率p来p*和观察权重w来w*将描述的惩罚成本矩阵C。
对于二进制分类模型,软件完成以下步骤:
更新p将成本矩阵C。
正常化 所以更新的先验概率之和为1。
从训练数据中删除观察对应类先验概率为零。
正常化观察权重wj总结的先验概率更新观察所属的类。即规范化体重观察j在课堂上k是
删除零重量的观察。
如果你有三个或更多类一个整体模型,训练fitcensemble
或TreeBagger
,软件也为误分类代价矩阵调整先验概率。这种转换是更复杂的。首先,软件试图解决一个矩阵方程描述的周和刘[2]。如果软件无法找到一个解决方案,它适用于描述的“平均成本”调整Breiman et al。[3]。有关更多信息,请参见Zadrozny et al。[4]。
降低成本的评估方案
你可以占成本不平衡分类模型和数据集的厂商进行分析:
厂商进行测试使用
compareHoldout
或testcholdout
函数。两个函数统计比较两种分类模型的预测性能,包括成本的矩阵分析。有关详细信息,请参见降低成本的测试方案。比较观察误分类代价,返回的对象的功能
损失
,resubLoss
,kfoldLoss
分类模型。指定LossFun
名称-值参数为“classifcost”
。函数返回一个加权平均误分类代价的输入数据,训练数据,分别对交叉验证和数据。,任何分类模型的目标函数参考页面对象。例如,请参见分类损失。
降低成本的评价方案的一个例子,看到两种分类模型的厂商进行比较。
引用
[1]Breiman, L。“随机森林。”机器学习45岁,2001年,页5-32。