选择分类器选项
选择分类器类型
您可以使用分类学习器自动训练选择不同的分类模型的数据。使用自动训练快速尝试选择的模型类型,然后交互式地探索有希望的模型。要开始,先试试这些选项:
开始分类器选项 | 描述 |
---|---|
所有Quick-To-Train | 先试试这个。该应用程序将训练所有可用于您的数据集的模型类型,通常是快速适合的。 |
所有的线性 | 如果希望数据中的类之间有线性边界,可以尝试这种方法。此选项仅适用于线性支持向量机和线性鉴别。 |
所有 | 使用它来训练所有可用的不可优化模型类型。训练每一种类型,而不考虑任何先前训练过的模型。可以耗时。 |
看到自动分类器训练.
如果您想一次研究一个分类器,或者您已经知道您想要的分类器类型,那么您可以选择单个模型或训练同一类型的一组。以查看所有可用的分类器选项分类学习者选项卡中,单击模型部分展开分类器列表。中的不可优化模型选项模型图库是预设的起点,具有不同的设置,适用于一系列不同的分类问题。若要使用可优化模型选项并自动调优模型超参数,请参见分类学习者应用程序中的超参数优化.
有关为您的问题选择最佳分类器类型的帮助,请参阅显示不同监督学习算法典型特征的表。使用该表作为您最终选择算法的指南。在速度、灵活性和可解释性方面权衡利弊。最佳的分类器类型取决于您的数据。
提示
为了避免过拟合,要寻找具有较低灵活性但提供足够精度的模型。例如,寻找简单的模型,如决策树和鉴别器,它们快速且容易解释。如果模型预测响应不够准确,则选择其他具有更高灵活性的分类器,如集成。要控制灵活性,请参阅每个分类器类型的详细信息。
分类器类型的特征
要在“分类学习者”中阅读每个分类器的描述,请切换到详细信息视图。
提示
在选择分类器类型(例如,决策树)之后,尝试使用每种分类器进行训练。中的不可优化选项模型画廊是不同设置的起点。都尝试一下,看看哪个选项可以用您的数据生成最好的模型。
有关工作流说明,请参见在分类学习者应用程序中训练分类模型.
分类预测的支持
在分类学习者中模型图库显示支持所选数据的可用分类器类型。
分类器 | 所有的预测数字 | 所有预测分类 | 有些是绝对的,有些是数字的 |
---|---|---|---|
决策树 | 是的 | 是的 | 是的 |
判别分析 | 是的 | 没有 | 没有 |
逻辑回归 | 是的 | 是的 | 是的 |
朴素贝叶斯 | 是的 | 是的 | 是的 |
支持向量机 | 是的 | 是的 | 是的 |
最近的邻居 | 欧氏距离只有 | 汉明距离只有 | 没有 |
内核近似 | 是的 | 是的 | 是的 |
乐团 | 是的 | 是的,除了子空间判别 | 是的,除了子空间 |
神经网络 | 是的 | 是的 | 是的 |
决策树
决策树易于解释,拟合和预测速度快,内存使用量低,但预测精度低。尝试种植简单的树,以防止过拟合。控制深度最大分割数设置。
提示
模型的灵活性随着最大分割数设置。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
粗树 |
容易 | 低 很少有叶子可以在类之间进行粗略的区分(最大拆分数为4)。 |
中树 |
容易 | 媒介 中等数量的叶用于类之间更细微的区别(最大拆分数为20)。 |
好树 |
容易 | 高 许多叶子可以在类之间做出许多细微的区分(拆分的最大数量是100)。 |
提示
在模型画廊,点击所有的树尝试每一个不可优化的决策树选项。训练它们,看看哪些设置可以用你的数据生成最好的模型。选择最好的型号模型窗格。要尝试改进模型,请尝试特性选择,然后尝试更改一些高级选项。
训练分类树来预测对数据的响应。要预测响应,从根(开始)节点一直到叶节点,遵循树中的决策。叶节点包含响应。统计和机器学习工具箱™树是二进制的。预测中的每一步都涉及到检查一个预测器(变量)的值。例如,这是一个简单的分类树:
这棵树基于两个预测器预测分类,x1
而且x2
.要进行预测,从顶部节点开始。在每个决策中,检查预测器的值以决定遵循哪个分支。当分支到达叶节点时,数据被分类为类型0
或1
.
你可以通过从应用程序导出模型来可视化你的决策树模型,然后输入:
视图(trainedModel。ClassificationTree,“模式”,“图”)
fisheriris
数据。
提示
示例请参见使用分类学习应用程序训练决策树.
树模型超参数选项
分类学习者中的分类树使用fitctree
函数。你可以设置这些选项:
最大分割数
指定分段或分支点的最大数目,以控制树的深度。在种植决策树时,要考虑它的简单性和预测能力。中,单击按钮或输入正整数值即可更改分割数最大分割数盒子。
一棵有很多叶子的好树在训练数据上通常是非常准确的。然而,在独立的测试集中,该树可能无法显示出相当的准确性。叶子树倾向于过度训练,它的验证精度往往远远低于它的训练(或替换)精度。
相比之下,粗糙的树不能获得较高的训练精度。但粗树的训练精度可以接近代表性测试集,因此它具有更强的鲁棒性。而且,粗糙的树很容易解释。
划分的标准
指定用于决定何时拆分节点的拆分准则度量。尝试这三种设置中的每一种,看看它们是否用您的数据改进了模型。
拆分条件选项为
基尼的多样性指数
,两个规则
,或最大限度减少异常
(也称为交叉熵)。分类树尝试优化到只包含一个类的纯节点。Gini多样性指数(默认值)和偏差准则度量节点的杂质。二元规则是决定如何分割节点的另一种度量方法,其中最大化二元规则表达式可以提高节点的纯度。
有关这些分割标准的详细信息,请参见
ClassificationTree
更多关于.代理决定分裂-仅用于丢失数据。
指定决策拆分的代理使用。如果有缺失值的数据,可以使用代理分割来提高预测的准确性。
当您设置代理决定分裂来
在
,分类树在每个分支节点上最多找到10个代理分段。要更改数字,请单击按钮或在每个节点的最大代理数盒子。当您设置代理决定分裂来
找到所有
,分类树会找到每个分支节点上的所有代理分段。的找到所有
设置需要大量的时间和内存。
或者,您可以让应用程序通过使用超参数优化自动选择其中的一些模型选项。看到分类学习者应用程序中的超参数优化.
判别分析
判别分析是一种比较流行的分类算法,因为它快速、准确、易于解释。判别分析适用于广泛的数据集。
判别分析假设不同的类生成的数据基于不同的高斯分布。为了训练分类器,拟合函数估计每个类的高斯分布参数。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
线性判别 |
容易 | 低 在类之间创建线性边界。 |
二次判别 |
容易 | 低 在类(椭圆、抛物线或双曲线)之间创建非线性边界。 |
判别模型超参数选项
分类学习者中的判别分析使用fitcdiscr
函数。对于线性和二次判别,您可以更改协方差结构选择。如果你有零方差的预测器,或者你的预测器的任何协方差矩阵是奇异的,使用默认的训练可能会失败,完整的
协方差结构。如果培训失败,请选择对角
协方差结构。
或者,您可以让应用程序通过使用超参数优化自动选择其中的一些模型选项。看到分类学习者应用程序中的超参数优化.
逻辑回归
如果你有两个类,逻辑回归是一个流行的简单分类算法,因为它很容易解释。分类器将类概率建模为预测因子线性组合的函数。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
逻辑回归 |
容易 | 低 您不能更改任何参数来控制模型的灵活性。 |
分类学习者中的逻辑回归使用了fitglm
函数。您不能在应用程序中为这个分类器设置任何选项。
朴素贝叶斯分类器
朴素贝叶斯分类器易于解释,适用于多类分类。朴素贝叶斯算法利用贝叶斯定理,假设在给定类的情况下,预测器是条件独立的。如果这种独立性假设对数据中的预测器有效,则使用这些分类器。然而,当独立假设不成立时,该算法仍能很好地工作。
对于内核朴素贝叶斯分类器,可以使用内核类型设置,并控制内核平滑密度支持支持设置。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
高斯朴素贝叶斯 |
容易 | 低 您不能更改任何参数来控制模型的灵活性。 |
内核朴素贝叶斯 |
容易 | 媒介 您可以更改设置内核类型而且支持控制分类器如何建模预测器分布。 |
朴素贝叶斯在分类学习中的应用fitcnb
函数。
朴素贝叶斯模型超参数选项
对于内核朴素贝叶斯分类器,可以设置以下选项:
内核类型—指定内核平滑器类型。试着设置这些选项,看看它们是否可以用您的数据改进模型。
内核类型选项包括
高斯
,盒子
,Epanechnikov
,或三角形
.支持—指定内核平滑密度支持。试着设置这些选项,看看它们是否可以用您的数据改进模型。
支持选项
无限
(所有实值)或积极的
(都是正的实值)。
或者,您可以让应用程序通过使用超参数优化自动选择其中的一些模型选项。看到分类学习者应用程序中的超参数优化.
有关训练模型的后续步骤,请参见在分类学习者应用程序中训练分类模型.
支持向量机
在Classification Learner中,当数据有两个或更多类时,可以训练支持向量机。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
线性支持向量机 |
容易 | 低 在类之间进行简单的线性分离。 |
二次支持向量机 |
硬 | 媒介 |
立方支持向量机 |
硬 | 媒介 |
细高斯支持向量机 |
硬 | 随着核标度的设定而降低。 在类之间进行非常详细的区分,内核比例设置为 倍根号(P) / 4 . |
介质高斯支持向量机 |
硬 | 媒介 中等区别,核心比例设置为 sqrt (P) . |
高斯粗糙支持向量机 |
硬 | 低 在类之间进行粗略的区分,内核比例设置为 sqrt (P) * 4 ,其中P为预测因子的个数。 |
提示
中的每个不可优化支持向量机选项尝试训练模型画廊。训练它们,看看哪些设置可以用你的数据生成最好的模型。选择最好的型号模型窗格。要尝试改进模型,请尝试特性选择,然后尝试更改一些高级选项。
支持向量机通过寻找最佳的超平面将一个类的数据点与另一个类的数据点分离开来。支持向量机的最佳超平面是指两个类之间的差值最大的超平面。裕度是指平行于没有内部数据点的超平面的平板的最大宽度。
的支持向量是离分离超平面最近的数据点;这些点在板坯的边界上。下图说明了这些定义,+表示类型1的数据点,-表示类型- 1的数据点。
支持向量机还可以使用软裕度,这意味着可以分离许多但不是所有数据点的超平面。
示例请参见使用分类学习者应用程序训练支持向量机.
支持向量机模型超参数选项
如果你刚好有两个类,分类学习者使用fitcsvm
函数来训练分类器。如果您有两个以上的类,应用程序使用fitcecoc
函数将多类分类问题简化为一组二元分类子问题,每个子问题有一个支持向量机学习器。要检查二进制和多类分类器类型的代码,可以从应用程序中训练过的分类器生成代码。
你可以在应用中设置这些选项:
核函数
指定Kernel函数来计算分类器。
线性核,最容易解释
高斯或径向基函数(RBF)核
二次
立方
箱约束水平
指定方框约束,使拉格朗日乘子的允许值保持在方框内,即有界区域内。
要调优您的SVM分类器,请尝试增加框约束级别。控件中单击按钮或输入正标量值箱约束水平盒子。增加盒约束级别可以减少支持向量的数量,但也可以增加训练时间。
盒约束参数是原始方程中称为C的软边际惩罚,是对偶方程中的硬“盒”约束。
内核扩展模式
如果需要,指定手动内核缩放。
当您设置内核扩展模式来
汽车
,然后软件采用启发式程序选择刻度值。启发式过程使用子抽样。因此,为了再现结果,设置一个随机数种子使用rng
在训练分类器之前。当您设置内核扩展模式来
手册
,可以指定一个值。控件中单击按钮或输入正标量值手动内核规模盒子。该软件将预测矩阵的所有元素除以内核尺度值。然后,应用相应的核范数计算Gram矩阵。提示
模型的灵活性随着内核尺度的设置而降低。
多类方法
仅适用于包含3个或更多类的数据。该方法将多类分类问题简化为一组二进制分类子问题,每个子问题对应一个支持向量机学习器。
One-vs-One
每两节课训练一名学员。它学会了区分一类和另一类。One-vs-All
每班培训一名学员。它学会区分一个阶级和其他阶级。标准化数据
指定是否缩放每个坐标距离。如果预测因子的尺度相差很大,标准化可以提高拟合度。
或者,您可以让应用程序通过使用超参数优化自动选择其中的一些模型选项。看到分类学习者应用程序中的超参数优化.
最近邻分类器
最近邻分类器通常在低维中具有良好的预测精度,但在高维中可能没有。它们占用很高的内存,而且不容易解释。
提示
模型的灵活性随着数量的邻居设置。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
好资讯 |
硬 | 类之间的细微差别。邻居数量设置为1。 |
媒介资讯 |
硬 | 阶级之间的中等差别。邻居数量设置为10个。 |
粗糙的资讯 |
硬 | 阶级之间的粗鄙差别。邻居数量设置为100。 |
余弦资讯 |
硬 | 类之间的中等差别,使用余弦距离度量。邻居数量设置为10个。 |
立方资讯 |
硬 | 类之间的中等差别,使用三次距离度量。邻居数量设置为10个。 |
加权资讯 |
硬 | 类之间的中等差别,使用距离权重。邻居数量设置为10个。 |
提示
中的每个不可优化的最近邻选项模型画廊。训练它们,看看哪些设置可以用你的数据生成最好的模型。选择最好的型号模型窗格。要尝试改进您的模型,请尝试特性选择,然后(可选地)尝试更改一些高级选项。
是什么k最近的邻居分类?根据查询点与训练数据集中点(或相邻点)的距离对查询点进行分类是一种简单而有效的分类新点的方法。您可以使用各种指标来确定距离。给定一组X的n点和距离函数,k最近的邻居(k搜索让你找到k最近的点X到一个查询点或一组点。k基于神经网络的算法被广泛用作基准机器学习规则。
示例请参见使用分类学习者应用程序训练最近邻分类器.
KNN模型超参数选项
分类学习者中的最近邻分类器使用fitcknn
函数。你可以设置这些选项:
数量的邻居
指定在预测时为分类每个点寻找的最近邻的数量。通过改变邻居的数量来指定细(低数量)或粗(高数量)分类器。例如,一个好的KNN使用一个邻居,而一个粗糙的KNN使用100个邻居。许多邻居需要花费时间来适应。
距离度量
您可以使用各种度量来确定到点的距离。有关定义,请参阅该类
ClassificationKNN
.距离重量
指定距离加权函数。你可以选择
平等的
(没有重量),逆
(权重为1/距离),或者方逆
(重量是1 /距离2).标准化数据
指定是否缩放每个坐标距离。如果预测因子的尺度相差很大,标准化可以提高拟合度。
或者,您可以让应用程序通过使用超参数优化自动选择其中的一些模型选项。看到分类学习者应用程序中的超参数优化.
内核近似分类器
在分类学习器中,您可以使用核近似分类器对具有许多观察值的数据执行非线性分类。对于大内存数据,核分类器的训练和预测速度往往比具有高斯核的支持向量机分类器更快。
高斯核分类模型将低维空间中的预测因子映射到高维空间中,然后对变换后的高维空间中的预测因子拟合线性模型。在扩展空间中选择拟合SVM线性模型和拟合逻辑回归线性模型。
提示
在模型画廊,点击所有的内核尝试每个预设的内核近似选项,看看哪个设置对您的数据产生最好的模型。选择最好的型号模型窗格,并尝试通过使用特性选择和更改一些高级选项来改进该模型。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
支持向量机内核 |
硬 | 中-随着内核规模设置减少 |
逻辑回归的内核 |
硬 | 中-随着内核规模设置减少 |
示例请参见训练核近似分类器使用分类学习者应用程序.
内核模型超参数选项
如果你刚好有两个类,分类学习者使用fitckernel
函数来训练内核分类器。如果您有两个以上的类,应用程序使用fitcecoc
函数将多类分类问题简化为一组二进制分类子问题,每个子问题有一个核心学习器。
你可以设置这些选项:
学习者—指定线性分类模型类型以适应扩展的空间
支持向量机
或逻辑回归
.支持向量机核分类器在模型拟合过程中使用铰链损失函数,而逻辑回归核分类器使用偏差(逻辑)损失。膨胀尺寸数—指定扩展空间的维度数。
当您将此选项设置为
汽车
,软件将维数设置为2 . ^装天花板(最低(log2 (p) + 5、15))
,在那里p
是预测器的数量。当您将此选项设置为
手册
,您可以通过单击按钮或在框中输入正标量值来指定值。
正则化强度(λ)-指定脊(L2)正则化惩罚项。当使用支持向量机学习器时,框约束C正则化项的强度λ是相关的C= 1 / (λn),在那里n是观察数。
当您将此选项设置为
汽车
,软件将正则化强度设置为1 /n,在那里n是观察数。当您将此选项设置为
手册
,您可以通过单击按钮或在框中输入正标量值来指定值。
内核规模—指定内核伸缩。软件利用这个值来获得随机特征展开的随机基。有关更多细节,请参见随机特性扩张.
当您将此选项设置为
汽车
,该软件采用启发式程序选择刻度值。启发式过程使用子抽样。因此,为了再现结果,设置一个随机数种子使用rng
在训练分类器之前。当您将此选项设置为
手册
,您可以通过单击按钮或在框中输入正标量值来指定值。
多类方法-指定将多类问题简化为一组二进制子问题的方法,每个子问题有一个核心学习器。此值仅适用于包含两个以上类的数据。
One-vs-One
每两节课训练一名学员。该方法学会区分一个类与另一个类。One-vs-All
每班培训一名学员。这种方法学会区分一个类与所有其他类。
迭代限制—指定训练的最大迭代次数。
集成分类器
集成分类器将来自多个弱学习者的结果融合成一个高质量的集成模型。质量取决于算法的选择。
提示
模型的灵活性随着许多学习者设置。
所有集成分类器的拟合速度往往很慢,因为它们通常需要许多学习器。
分类器类型 | 可解释性 | 整体方法 | 模型的灵活性 |
---|---|---|---|
提高了树 |
硬 | 演算法 ,决策树 学习者 |
中至高的增长与许多学习者或最大分割数设置。 提示 boost树通常比bagged做得更好,但可能需要参数调优和更多的学习者 |
袋装的树木 |
硬 | 随机森林袋 ,决策树 学习者 |
随着许多学习者设置。 提示 首先尝试这个分类器。 |
子空间判别 |
硬 | 子空间 ,判别 学习者 |
Medium -随时间增加许多学习者设置。 对许多预测器都有好处 |
子空间资讯 |
硬 | 子空间 ,最近的邻居 学习者 |
Medium -随时间增加许多学习者设置。 对许多预测器都有好处 |
RUSBoost树 |
硬 | RUSBoost ,决策树 学习者 |
Medium -随时间增加许多学习者或最大分割数设置。 适合倾斜数据(一个类有更多的观察) |
中没有提供的绅士boost或LogitBoost模型类型画廊。 如果你有两个类数据,手动选择。 |
硬 | GentleBoost 或LogitBoost ,决策树 学习者选择 提高了树 和改变GentleBoost 方法。 |
Medium -随时间增加许多学习者或最大分割数设置。 仅适用于二元分类 |
袋装树使用Breiman's随机森林的
算法。有关参考,参见Breiman, L. Random Forests。机器学习45,pp. 5-32, 2001。
提示
先试试袋装的树。boost树通常可以做得更好,但可能需要搜索许多参数值,这很耗时。
中的每个不可优化的集成分类器选项模型画廊。训练它们,看看哪些设置可以用你的数据生成最好的模型。选择最好的型号模型窗格。要尝试改进模型,请尝试特性选择、PCA,然后(可选地)尝试更改一些高级选项。
为了增强集成方法,您可以使用较深的树或大量的浅树来获得详细信息。与单树分类器一样,深树会导致过拟合。您需要进行实验,为集合中的树选择最佳的树深度,以便权衡数据与树的复杂性。使用许多学习者而且最大分割数设置。
示例请参见使用分类学习者应用程序训练集成分类器.
集合模型超参数选项
分类学习者中的集成分类器使用fitcensemble
函数。你可以设置这些选项:
帮忙选择整体方法而且学习者类型,参见Ensemble表。先试试预设。
最大分割数
要增强集成方法,请指定分割或分支点的最大数量,以控制树学习器的深度。许多分支倾向于过拟合,而更简单的树可能更健壮,更容易解释。实验来为集合中的树选择最佳的树深度。
许多学习者
试着改变学习者的数量,看看是否可以改进模型。许多学习器可以产生很高的准确性,但可能需要花费时间来适应。从几十个学习者开始,然后检查他们的表现。一个具有良好预测能力的集合可能需要几百个学习者。
学习速率
指定收缩的学习率。如果您将学习率设置为小于1,则集成需要更多的学习迭代,但通常可以获得更好的精度。0.1是一个流行的选择。
子空间维数
对于子空间集合,指定每个学习器中要抽样的预测器的数量。应用程序为每个学习者随机选择预测指标的子集。不同学习者选择的子集是独立的。
要抽样的预测数
为树学习器中的每次分裂指定要随机选择的预测器的数量。
当您将此选项设置为
选择所有
,该软件使用了所有可用的预测器。当您将此选项设置为
限量
,您可以通过单击按钮或在框中输入正整数值来指定一个值。
或者,您可以让应用程序通过使用超参数优化自动选择其中的一些模型选项。看到分类学习者应用程序中的超参数优化.
神经网络分类器
神经网络模型具有良好的预测精度,可用于多类分类;然而,它们并不容易解释。
模型的灵活性随着神经网络中完全连接层的大小和数量的增加而增加。
提示
在模型画廊,点击所有的神经网络尝试每个预设的神经网络选项,看看哪个设置产生与您的数据最好的模型。选择最好的型号模型窗格,并尝试通过使用特性选择和更改一些高级选项来改进该模型。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
狭窄的神经网络 |
硬 | 中-随第一层的大小设置 |
中神经网络 |
硬 | 中-随第一层的大小设置 |
广泛的神经网络 |
硬 | 中-随第一层的大小设置 |
双层神经网络 |
硬 | 高随第一层的大小而且第二层的大小设置 |
Trilayered神经网络 |
硬 | 高随第一层的大小,第二层的大小,第三层的大小设置 |
每个模型都是一个前馈的、完全连接的用于分类的神经网络。神经网络的第一个完全连接层与网络输入(预测器数据)有连接,随后的每一层与前一层有连接。每个全连接层将输入乘以一个权重矩阵,然后添加一个偏置向量。每个完全连接的层后面都有一个激活函数。最后的全连接层和后面的softmax激活函数产生网络的输出,即分类分数(后验概率)和预测标签。有关更多信息,请参见神经网络结构.
示例请参见使用分类学习应用程序训练神经网络分类器.
神经网络模型超参数选项
分类学习者中的神经网络分类器使用fitcnet
函数。你可以设置这些选项:
完全连接层数-指定神经网络中全连通层数,不包括最后的全连通层进行分类。您最多可以选择三个完全连接的层。
第一层的大小,第二层的大小,第三层的大小—指定各全连通层的大小,不包括最后的全连通层。如果您选择创建具有多个完全连接层的神经网络,请考虑指定大小递减的层。
激活—为所有全连接层指定激活函数,但不包括最后一个全连接层。最后一个全连接层的激活函数总是softmax。以下激活功能可供选择:
线性整流函数(Rectified Linear Unit)
,双曲正切
,没有一个
,乙状结肠
.迭代限制—指定训练的最大迭代次数。
正则化强度(λ)-指定脊(L2)正则化惩罚项。
标准化数据—指定是否标准化数值预测器。如果预测因子的尺度相差很大,标准化可以提高拟合度。强烈建议将数据标准化。
或者,您可以让应用程序通过使用超参数优化自动选择其中的一些模型选项。看到分类学习者应用程序中的超参数优化.