主要内容

CompactClassificationsVM.

用于一类和二类分万博1manbetx类的紧凑支持向量机(SVM)

描述

CompactClassificationsVM.是支持向量机(SVM)分类器的精简版本。万博1manbetx紧凑分类器不包括用于训练SVM分类器的数据。因此,您不能使用紧凑分类器执行一些任务,例如交叉验证。使用紧凑的SVM分类器进行任务,比如预测新数据的标签。

创建

创建一个CompactClassificationsVM.从充分培训的模型分类VM.分类器通过使用袖珍的

属性

全部展开

SVM属性

此属性是只读的。

训练有素的分类器系数,指定为一个S.- 1号数字矢量。S.是培训分类器中的支持向量的数量,万博1manbetx总和(Mdl.IsS万博1manbetxupportVector)

α包含从双重问题的训练的分类器系数,即估计的拉格朗日乘法器。如果使用使用的删除重复项删除的名称-值对参数fitcsvm.然后,对于一种支持向量的给定的一组重复观察,万博1manbetxα包含一个系数对应于整个集合。也就是说,MATLAB®将一个非零系数归为一组重复数据中的一个观测值,并将系数归为0.对所有其他重复的观测结果。

数据类型:|

此属性是只读的。

线性预测器系数,指定为数字向量。长度β等于用于训练模型的预测器数量。

MATLAB利用全虚拟编码扩展预测数据中的类别变量。也就是说,MATLAB为每个类别变量的每一级创建一个虚拟变量。β存储每个预测变量的一个值,包括虚拟变量。例如,如果有三个预测器,其中一个是一个与三个级别的分类变量,然后β是一个包含5个值的数字向量。

如果elkelparameters.function.“线性”,对观察结果进行分类评分X

F X = X / S. ' β + B.

Mdl商店βB.,S.在属性β偏见,KernelParameters。规模, 分别。

要手动估计分类分数,您必须首先对培训期间应用的预测器数据应用任何转换。具体来说,如果你指定'标准化',真实当使用fitcsvm.,然后你必须使用平均值手工标准化预测数据Mdl。μ和标准偏差mdl.sigma.,然后将结果除以kernel scale inmdl.kernelparameters.scale.

所有SVM功能,如重新预订预测,在评估之前应用任何必需的转换。

如果elkelparameters.function.不是“线性”, 然后β是空的([]).

数据类型:|

此属性是只读的。

偏置项,用标量表示。

数据类型:|

此属性是只读的。

内核参数,指定为结构数组。内核参数属性包含该表中列出的字段。

场地 描述
函数

内核函数用于计算元素克矩阵.有关详细信息,请参阅“KernelFunction”

规模

内核比例参数用于缩放培训模型的预测器数据的所有元素。有关详细信息,请参阅“KernelScale”

显示值内核参数,使用点表示法。例如,mdl.kernelparameters.scale.显示内核比例参数值。

软件接受内核参数作为输入,而不修改它们。

数据类型:塑造

此属性是只读的。

万博1manbetx支持向量类标签,指定为S.- 1号数字矢量。S.是培训分类器中的支持向量的数量,万博1manbetx总和(Mdl.IsS万博1manbetxupportVector)

价值+1万博1manbetxSupportVectorLabels表示对应的支持向量在正类中(万博1manbetx一会{2}).价值1表示对应的支持向量在负类中(万博1manbetx一会{1}).

如果使用使用的删除重复项删除的名称-值对参数fitcsvm.然后,对于一种支持向量的给定的一组重复观察,万博1manbetx万博1manbetxSupportVectorLabels包含一个唯一的支持向量标签。万博1manbetx

数据类型:|

此属性是只读的。

万博1manbetx训练分类器中的支持向量,指定为S.-经过-P.数字矩阵。S.是培训分类器中的支持向量的数量,万博1manbetx总和(Mdl.IsS万博1manbetxupportVector),P.是预测器数据中的预测器变量的数量。

万博1manbetxSupportVectors包含预测器数据的行XMATLAB认为是支持向量。万博1manbetx如果您指定'标准化',真实在训练SVM分类器时使用fitcsvm., 然后万博1manbetxSupportVectors的标准化行X

如果使用使用的删除重复项删除的名称-值对参数fitcsvm.然后,对于一种支持向量的给定的一组重复观察,万博1manbetx万博1manbetxSupportVectors包含一个独特的支持向量。万博1manbetx

数据类型:|

其他分类属性

此属性是只读的。

分类预测指标,指定为一个正整数的向量。分类预测器包含与包含分类预测器的预测器数据列对应的索引值。如果没有一个预测符是分类的,则此属性为空([]).

数据类型:

此属性是只读的。

训练中使用的唯一类标签,指定为分类或字符数组、逻辑或数字向量或字符向量的单元数组。Classnames.具有与类标签相同的数据类型y(该软件将字符串数组视为字符向量的单元格阵列。)Classnames.还决定了类的顺序。

数据类型:||逻辑|char|细胞|分类

此属性是只读的。

错误分类代价,指定为一个数值方阵,其中成本(i, j)把一个点分类到班级的成本是多少j如果它的真类是一世

在培训期间,软件通过结合成本矩阵中描述的惩罚来更新先前概率。

  • 对两种学习,成本总是有这个形式:成本(i,j)= 1如果我〜= j,成本(i,j)= 0如果我= J..行对应于真实类,列对应于预测类。行和列的顺序成本对应于类的顺序Classnames.

  • 看到下面成了学习,成本= 0.

更多信息请参见算法

数据类型:

此属性是只读的。

扩展的预测器名称,指定为字符向量的单元格数组。

如果模型使用虚拟变量编码的虚拟变量,那么ExpandedPredictorNames.包括描述展开变量的名称。否则,ExpandedPredictorNames.预测

数据类型:细胞

此属性是只读的。

Predictor的意思是,指定为一个数字向量。如果您指定“标准化”,1'标准化',真实当你使用fitcsvm.,然后是长度μ等于预测器的数量。

MATLAB利用全虚拟编码扩展预测数据中的类别变量。也就是说,MATLAB为每个类别变量的每一级创建一个虚拟变量。μ存储每个预测变量的一个值,包括虚拟变量。但是,MATLAB不标准化包含分类变量的列。

如果你设置'标准化',假使用时使用SVM分类器fitcsvm., 然后μ为空向量([]).

数据类型:|

此属性是只读的。

预测器变量名称指定为字符向量的单元格数组。元素的顺序预测对应于预测器名称在训练数据中出现的顺序。

数据类型:细胞

此属性是只读的。

每个类的先验概率,指定为一个数字向量。元素的顺序之前对应于元素Mdl。Classnames.

对于两班学习,如果指定成本矩阵,则软件通过结合成本矩阵中描述的惩罚来更新先前概率。

更多信息请参见算法

数据类型:|

分数转换,指定为字符向量或函数句柄。scoretransform.表示用于转换预测分类分数的内置变换函数或功能手柄。

将分数转换函数更改为函数,例如,使用点符号。

  • 对于内置函数,输入一个字符向量。

    Mdl。ScoreTransform = '函数'

    该表描述了可用的内置函数。

    价值 描述
    “doublelogit” 1 /(1 +E.2X
    'invlogit' 日志(X/ (1 -X))
    “ismax” 将得分最高的班级的分数设为1,并将所有其他班级的分数设为0
    'logit' 1 /(1 +E.-X
    '没有任何'“身份” X(转换)
    '符号' 1X< 0
    为0X= 0.
    1X> 0
    “对称” 2X- 1
    'ymmetricismax' 将具有最大分数为1的类设置分数,并将所有其他类的分数设置为-1
    'symmetriclogit' 2 / (1 +E.-X) - 1

  • 对于MATLAB函数或定义的函数,请输入其功能句柄。

    Mdl。ScoreTransform = @函数;

    函数必须接受一个矩阵(原始分数)并返回一个相同大小的矩阵(转换后的分数)。

数据类型:char|function_handle.

此属性是只读的。

预测标准偏差,指定为数字矢量。

如果您指定'标准化',真实使用时使用SVM分类器fitcsvm.,然后是长度σ等于预测变量的个数。

MATLAB利用全虚拟编码扩展预测数据中的类别变量。也就是说,MATLAB为每个类别变量的每一级创建一个虚拟变量。σ存储每个预测变量的一个值,包括虚拟变量。但是,MATLAB不标准化包含分类变量的列。

如果你设置'标准化',假使用时使用SVM分类器fitcsvm., 然后σ为空向量([]).

数据类型:|

对象功能

compareHoldout 使用新数据比较两个分类模型的精度
丢弃普罗斯韦普万博1manbetx罗斯韦 抛弃支持向量机的万博1manbetx线性支持向量机分类器
边缘 为支持向量机(SVM)分类器寻找分类边缘万博1manbetx
fitPosterior 适合紧凑型支架向量机(SVM)分类器的后验概率万博1manbetx
incrementalLearner 将二进制分类支持向量机(SVM)模型转换为增量学习者万博1manbetx
酸橙 本地可解释模型 - 不可知的解释(石灰)
损失 寻找支持向量机(SVM)分类器的分类错误万博1manbetx
保证金 查找支持向量机(SVM)分类器的分类边距万博1manbetx
部分竞争 计算部分依赖
plotPartialDependence 创建部分依赖图(PDP)和个人有条件期望(ICE)情节
预测 使用支持向量机分类器对观测结果进行分类万博1manbetx
福芙 沙普利值
更新 更新代码生成的模型参数

例子

全部折叠

通过移除训练数据来减少全支持向量机(SVM)分类器的万博1manbetx大小。完整的SVM分类器(即分类VM.分类器)保存训练数据。为了提高效率,使用一个较小的分类器。

加载电离层数据集。

加载电离层

训练一个SVM分类器。标准化预测器数据并指定类的顺序。

svmmodel = fitcsvm(x,y,'标准化',真的,...'classnames', {“b”‘g’})
SVMModel = ClassificationSVM ResponseName:‘Y’CategoricalPredictors:[]类名:{b ' g '} ScoreTransform:“没有一个”NumObservations: 351α:[90 x1双]偏见:-0.1343 KernelParameters: [1 x1 struct]μ:σ[1 x34双]:[1 x34双]BoxConstraints: x1双[351]ConvergenceInfo: [1 x1 struct] IsSupportVector: x1逻辑[351]解算器:万博1manbetxSMO的属性,方法

SVMModel是一个分类VM.分类器。

减小SVM分类器的大小。

CompactSVMModel =紧凑(SVMModel)
compacttsvmmodel = CompactClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' Alpha: [90x1 double] Bias: -0.1343 KernelParameters: [1x1 struct] Mu: [1x34 double] Sigma: [1x34 double]万博1manbetx SupportVectors: [90x34 double] SupportVectorLabels: [90x1 double]属性,方法

CompactSvmModel.是一个CompactClassificationsVM.分类器。

显示每个分类器使用的内存量。

谁是(“SVMModel”“CompactSVMModel”
名称大小字节类属性compactsvmmodel 1x1 31058 classReg.Learning.Classif.comPactClassificsVM SVMModel 1x1 141148类别VM

完整的SVM分类器(SVMModel)比Compact SVM分类器大超过四倍(CompactSvmModel.).

为了有效地标记新的观察结果,您可以删除SVMModel从MATLAB®工作空间,然后通过CompactSvmModel.新的预测值预测

为了进一步减小Compact SVM分类器的大小,请使用丢弃普罗斯韦普万博1manbetx罗斯韦函数丢弃支持向量。万博1manbetx

加载电离层数据集。

加载电离层

列车并交叉验证SVM分类器。标准化预测器数据并指定类的顺序。

RNG(1);重复性的%CVSVMModel = fitcsvm (X, Y,'标准化',真的,...'classnames', {“b”‘g’},'横向''上'
CVSVMModel = classiationpartitionedmodel CrossValidatedModel: 'SVM' PredictorNames: {1x34 cell} ResponseName: 'Y' nummobservations: 351 KFold: 10 Partition: [1x1 cvpartition] ClassNames: {'b' 'g'} ScoreTransform: 'none'属性,方法

cvsvmmodel.是一个ClassificationPartitionedModel交叉验证的SVM分类器。默认情况下,软件实现10倍交叉验证。

或者,您可以交叉验证训练分类VM.分类器传递它横梁

使用点符号检查经过训练的折叠之一。

CVSVMModel。训练有素的{1}
ANS = CompactClassificationsVM RecordingAme:'Y'类分类:[] ClassNames:{'B''G'} ScorEtransform:'无'Alpha:[78x1 Double]偏置:-0.2209内核参数:[1x1 struct] mu:[1x34双] sigma:[1x34双]支持Vector万博1manbetxs:[78x34双] SupportSVectorLabels:[78x1双]属性,方法

每个折叠都是一个CompactClassificationsVM.分类器培训了90%的数据。

估计泛化误差。

generror = kfoldloss(cvsvmmodel)
genError = 0.1168

平均而言,泛化误差约为12%。

参考

hatie, T., R. Tibshirani和J. Friedman。统计学习的要素,第二版。纽约:施普林格,2008年。

肖克普夫、肖肖-泰勒、A. J.斯莫拉和R. C.威廉姆森。“估算高维分布的支持度”万博1manbetx神经计算.第13卷,第7期,2001年,第1443-1471页。

[3]克里斯蒂安尼尼,N.和J. C.肖-泰勒。支持向量机和基于内核的学习方法的介绍万博1manbetx.剑桥,英国:剑桥大学出版社,2000年出版社。

B. Scholkopf,和A. Smola。学习与核:支持向量机,正则化,优化和超越,自适万博1manbetx应计算和机器学习。剑桥,马:2002年的麻省理工学院新闻。

扩展功能

介绍了R2014a