主要内容

CompactClassificationSVM

用于一类和二元分金宝app类的紧凑支持向量机(SVM)

描述

CompactClassificationSVM是支持向量机(SVM)分类器的紧凑版本。金宝app紧凑分类器不包括用于训练SVM分类器的数据。因此,您不能使用紧凑分类器执行某些任务,例如交叉验证。使用紧凑的SVM分类器来完成诸如预测新数据标签之类的任务。

创建

创建一个CompactClassificationSVM模特出身丰满,训练有素ClassificationSVM分类器紧凑的

属性

全部展开

支持向量机性能

此属性是只读的。

训练的分类器系数,指定为年代-by-1数值向量。年代是经过训练的分类器中支持向量的个数金宝app,总和(Mdl.IsS金宝appupportVector)

α包含从对偶问题训练的分类器系数,即估计的拉格朗日乘子。方法删除重复项RemoveDuplicates的名称-值对参数fitcsvm,那么对于一个给定的重复观测集合,即支持向量,金宝appα包含一个对应于整个集合的系数。也就是MATLAB®将非零系数属性为一组重复项中的一个观测值,且系数为0集合中所有其他重复的观测值。

数据类型:|

此属性是只读的。

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

MATLAB使用全虚拟编码扩展预测器数据中的分类变量。也就是说,MATLAB为每个分类变量的每一层创建一个虚拟变量。β为每个预测变量(包括虚拟变量)存储一个值。例如,如果有三个预测因子,其中一个是具有三个级别的分类变量,则β是包含五个值的数字向量。

如果KernelParameters。函数“线性”,然后分类评分进行观察x

f x x / 年代 β + b

Mdl商店βb,年代在属性中β偏见,KernelParameters。规模,分别。

要手动估计分类分数,必须首先对训练期间应用的预测器数据应用任何转换。具体来说,如果你指定的话“标准化”,真的当使用fitcsvm,则必须使用平均值手动标准化预测器数据Mdl。μ还有标准差Mdl。σ,然后将结果除以in的核标度Mdl.KernelParameters.Scale

所有支持向量机函数,如resubPredict而且预测,在估计前应用所需的转换。

如果KernelParameters。函数不是“线性”,然后β为空([]).

数据类型:|

此属性是只读的。

偏差项,指定为标量。

数据类型:|

此属性是只读的。

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

描述
函数

核函数用来计算元素的格拉姆矩阵.详细信息请参见“KernelFunction”

规模

核尺度参数用于缩放模型所训练的预测器数据的所有元素。详细信息请参见“KernelScale”

的值KernelParameters,使用点表示法。例如,Mdl.KernelParameters.Scale显示内核比例参数值。

软件接受KernelParameters作为输入,不修改它们。

数据类型:结构体

此属性是只读的。

金宝app支持向量类标签,指定为年代-by-1数值向量。年代是经过训练的分类器中支持向量的个数金宝app,总和(Mdl.IsS金宝appupportVector)

值为+1金宝appSupportVectorLabels指示对应的支持向量属于正类(金宝app一会{2}).值为1指示对应的支持向量属于负类(金宝app一会{1}).

方法删除重复项RemoveDuplicates的名称-值对参数fitcsvm,那么对于一个给定的重复观测集合,即支持向量,金宝app金宝appSupportVectorLabels包含一个唯一的支持向量标签。金宝app

数据类型:|

此属性是只读的。

金宝app已训练分类器中的支持向量,指定为年代——- - - - - -p数字矩阵。年代是经过训练的分类器中支持向量的个数金宝app,总和(Mdl.IsS金宝appupportVector),p是预测器数据中预测器变量的数量。

金宝appSupportVectors包含预测器数据行XMATLAB认为是支持向量。金宝app如果你指定“标准化”,真的训练SVM分类器时使用fitcsvm,然后金宝appSupportVectors的标准化行X

方法删除重复项RemoveDuplicates的名称-值对参数fitcsvm,那么对于一个给定的重复观测集合,即支持向量,金宝app金宝appSupportVectors包含一个唯一的支持向量。金宝app

数据类型:|

其他分类属性

此属性是只读的。

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

数据类型:|

此属性是只读的。

训练模型时使用的唯一类标签,指定为类别或字符数组、逻辑或数字向量或字符向量的单元格数组。

数据类型:||逻辑|字符|细胞|分类

此属性是只读的。

错误分类代价,指定为数字方阵,其中成本(i, j)将一个点分类的成本是多少j如果它真正的阶级是

在训练过程中,软件通过合并成本矩阵中描述的惩罚来更新先验概率。

  • 对于两节课的学习,成本总是有这样的形式:成本(i,j) = 1如果I ~= j,Cost(i,j) = 0如果I = j.行对应真实的类,列对应预测的类。的行和列的顺序成本中类的顺序对应一会

  • 对于单课学习,成本= 0

详情请参见算法

数据类型:

此属性是只读的。

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

如果模型对分类变量使用哑变量编码,则ExpandedPredictorNames包括描述展开变量的名称。否则,ExpandedPredictorNamesPredictorNames

数据类型:细胞

此属性是只读的。

预测器的意思是,指定为数字向量。如果你指定“标准化”,1“标准化”,真的当你训练SVM分类器时使用fitcsvm的长度μ等于预测因子的数量。

MATLAB使用全虚拟编码扩展预测器数据中的分类变量。也就是说,MATLAB为每个分类变量的每一层创建一个虚拟变量。μ为每个预测变量(包括虚拟变量)存储一个值。但是,MATLAB没有对包含分类变量的列进行标准化。

如果你设置“标准化”,假的当你训练SVM分类器时使用fitcsvm,然后μ是空向量([]).

数据类型:|

此属性是只读的。

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

数据类型:细胞

此属性是只读的。

每种类别的先验概率,用数字向量表示。元素的顺序之前对应于的元素Mdl。一会

对于两类学习,如果你指定了一个成本矩阵,那么软件会通过合并成本矩阵中描述的惩罚来更新先验概率。

详情请参见算法

数据类型:|

分数转换,指定为字符向量或函数句柄。ScoreTransform表示用于转换预测分类分数的内置转换函数或函数句柄。

将分数转换函数更改为函数例如,使用点表示法。

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

    Mdl。ScoreTransform = '函数”;

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

    价值 描述
    “doublelogit” 1 / (1 +e2x
    “invlogit” 日志(x/ (1 -x))
    “ismax” 将得分最大的类的得分设置为1,并将所有其他类的得分设置为0
    分对数的 1 / (1 +e- - - - - -x
    “没有”“身份” x(转换)
    “标志” 1x< 0
    为0x= 0
    1x> 0
    “对称” 2x- 1
    “symmetricismax” 将得分最大的类的得分设置为1,并将所有其他类的得分设置为-1
    “symmetriclogit” 2 / (1 +e- - - - - -x) - 1

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

    Mdl。ScoreTransform = @函数

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

数据类型:字符|function_handle

此属性是只读的。

预测器标准偏差,指定为数值向量。

如果你指定“标准化”,真的当你训练SVM分类器时使用fitcsvm的长度σ等于预测变量的个数。

MATLAB使用全虚拟编码扩展预测器数据中的分类变量。也就是说,MATLAB为每个分类变量的每一层创建一个虚拟变量。σ为每个预测变量(包括虚拟变量)存储一个值。但是,MATLAB没有对包含分类变量的列进行标准化。

如果你设置“标准化”,假的当你训练SVM分类器时使用fitcsvm,然后σ是空向量([]).

数据类型:|

对象的功能

compareHoldout 比较使用新数据的两种分类模型的准确性
discard金宝appSupportVectors 线性支持向量机分金宝app类器的支持向量弃用
边缘 为支持向量机分类器找到分类边金宝app
fitPosterior 紧凑型支持向量机(SVM)分类器的后验概率拟合金宝app
incrementalLearner 将二元分类支持向量机(SVM)模型转化为增量学习器金宝app
损失 找出支持向量机分类器的分类误差金宝app
保证金 为支持向量机分类器找到分类边界金宝app
partialDependence 计算部分依赖关系
plotPartialDependence 创建部分依赖图(PDP)和个别条件期望图(ICE)
预测 利用支持向量机(SVM)分类器对观测数据进行分类金宝app
更新 更新用于代码生成的模型参数

例子

全部折叠

通过移除训练数据来减小完整SVM分类器的大小。完整的SVM分类器(即,ClassificationSVM分类器)保存训练数据。为了提高效率,可以使用较小的分类器。

加载电离层数据集。

负载电离层

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

SVMModel = fitcsvm(X,Y,“标准化”,真的,...“类名”, {“b”‘g’})
SVMModel = ClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' NumObservations: 351 Alpha: [90x1 double] Bias: -0.1343 KernelParameters: [1x1 struct] Mu: [1x34 double] Sigma: [1x34 double] BoxConstraints: [351x1 double] ConvergenceInfo: [1x1 struct] Is金宝appSupportVector: [351x1 logical] Solver: 'SMO' Properties, Methods

SVMModel是一个ClassificationSVM分类器。

减小SVM分类器的大小。

CompactSVMModel = compact(vmmodel)
CompactSVMModel = CompactClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' Alpha: [90x1 double]偏差:-0.1343 KernelParameters: [1x1 struct] Mu: [1x34 double] Sigma: [1x34 double] Supp金宝apportVectors: [90x34 double] SupportVectorLabels: [90x1 double] Properties, Methods

CompactSVMModel是一个CompactClassificationSVM分类器。

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

谁(“SVMModel”“CompactSVMModel”
名称大小字节分类属性CompactSVMModel 1x1 31058 classreg.learning.classif.CompactClassificationSVM vmmodel 1x1 141148 ClassificationSVM

完整的SVM分类器(SVMModel)比紧凑的SVM分类器(CompactSVMModel).

为了有效地标记新的观察结果,您可以删除SVMModel从MATLAB®工作区,然后传递CompactSVMModel和新的预测值预测

要进一步减小紧凑SVM分类器的大小,请使用discard金宝appSupportVectors函数丢弃支持向量。金宝app

加载电离层数据集。

负载电离层

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

rng (1);%用于再现性CVSVMModel = fitcsvm(X,Y,“标准化”,真的,...“类名”, {“b”‘g’},“CrossVal”“上”
CVSVMModel = ClassificationPartitionedModel CrossValidatedModel: 'SVM' PredictorNames: {1x34 cell} ResponseName: 'Y' NumObservations: 351 KFold: 10 Partition: [1x1 cvpartition] ClassNames: {'b' 'g'} ScoreTransform: 'none'属性,方法

CVSVMModel是一个ClassificationPartitionedModel交叉验证SVM分类器。默认情况下,该软件实现了10次交叉验证。

或者,你可以交叉验证一个训练过的ClassificationSVM分类器crossval

使用点符号检查一个训练好的折叠。

CVSVMModel。训练有素的{1}
ans = CompactClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' Alpha: [78x1 double]偏差:-0.2209 KernelParameters: [1x1 struct] Mu: [1x34 double] Sigma: [1x34 double] Supp金宝apportVectors: [78x34 double] SupportVectorLabels: [78x1 double] Properties, Methods

每条折线都是CompactClassificationSVM分类器训练了90%的数据。

估计泛化误差。

生成器= kfoldLoss(CVSVMModel)
genError = 0.1168

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

参考文献

哈斯蒂、T.、R.蒂布谢拉尼和J.弗里德曼。统计学习的要素,第二版。纽约:施普林格,2008。

[2]肖科普夫,B. J. C.普拉特,J. C.肖-泰勒,A. J.斯莫拉和R. C.威廉姆森。“估算高维分布的支持度”金宝app神经计算.第13卷,第7期,2001,第1443-1471页。

[3]克里斯汀尼,N.和J. C.肖-泰勒。支持向量机和其他基于核的学习方法简介金宝app.英国剑桥:剑桥大学出版社,2000年。

[4]肖科普夫,B.和A.斯莫拉。核学习:支持向量机,正则化,优化及超越,自适应金宝app计算和机器学习。马萨诸塞州剑桥:麻省理工学院出版社,2002年。

扩展功能

在R2014a中引入