主要内容

CompactClassificationSVM

用于一类和二值分金宝app类的紧凑型支持向量机

描述

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

创建

创建一个CompactClassificationSVM从一个训练有素的完整的分类VM分类器通过使用契约

属性

全部展开

支持向量机特性

此属性是只读的。

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

α包含对偶问题训练的分类器系数,即估计的拉格朗日乘数。如果您使用移除的副本的名称-值对参数fitcsvm,那么对于给定的一组重复观测,这些观测是支持向量,金宝appα包含一个系数对应于整个集合。也就是说,MATLAB®将非零系数赋给从一组重复数据中得到的一个观测值,并将系数赋给0到集合中所有其他重复的观测值。

数据类型:|

此属性是只读的。

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

MATLAB利用全哑编码扩展预测数据中的分类变量。即MATLAB为每个类别变量的每一层创建一个虚拟变量。β为每个预测变量(包括虚拟变量)存储一个值。例如,如果有三个预测因子,其中一个是有三个层次的分类变量,那么β是包含五个值的数字向量。

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

f x x / 年代 β + b

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

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

支持向量机的所有函数,如resubPredict预测,在评估之前应用任何需要的转换。

如果核参数函数不是“线性”,然后β是空的([]).

数据类型:|

此属性是只读的。

偏置项,指定为标量。

数据类型:|

此属性是只读的。

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

描述
函数

核函数用来计算的元素格拉姆矩阵。有关详情,请参阅“KernelFunction”

规模

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

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

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

数据类型:结构体

此属性是只读的。

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

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

如果您使用移除的副本的名称-值对参数fitcsvm,那么对于给定的一组重复观测,这些观测是支持向量,金宝app金宝appSupportVectorLabels包含一个唯一的支持向量标签。金宝app

数据类型:|

此属性是只读的。

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

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

如果您使用移除的副本的名称-值对参数fitcsvm,那么对于给定的一组重复观测,这些观测是支持向量,金宝app金宝appSupportVectors包含一个唯一的支持向量。金宝app

数据类型:|

其他分类属性

此属性是只读的。

分类预测指标,指定为一个正整数向量。分类预测因子包含指示对应的预测器是分类的索引值。索引值在1到之间p,在那里p是用于训练模型的预测数。如果没有一个预测值是分类的,则此属性为空([]).

数据类型:

此属性是只读的。

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

数据类型:||逻辑|烧焦|细胞|明确的

此属性是只读的。

误分类代价,用数值方阵表示,其中成本(i, j)将一个点分类的成本是多少j如果它真正的阶级是

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

  • 对两种学习,费用总是有这种形式:成本(i, j) = 1如果我~ = j,成本(i, j) = 0如果我=我这个rows correspond to the true class and the columns correspond to the predicted class. The order of the rows and columns of费用中类的顺序一会

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

有关详细信息,请参见算法

数据类型:

此属性是只读的。

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

如果模型对分类变量使用虚拟变量编码,则扩展预测器名称包括描述扩展变量的名称。否则,扩展预测器名称是一样的预测器名称

数据类型:细胞

此属性是只读的。

预测器表示,指定为数值向量。如果您指定“标准化”,1“标准化”,真的当你使用fitcsvm,然后是μ等于预测器的数量。

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

如果你设置“标准化”,错当您使用fitcsvm,然后μ为空向量([]).

数据类型:|

此属性是只读的。

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

数据类型:细胞

此属性是只读的。

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

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

有关详细信息,请参见算法

数据类型:|

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

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

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

    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

此属性是只读的。

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

如果您指定“标准化”,真的当您使用fitcsvm,然后是σ等于预测变量的个数。

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

如果你设置“标准化”,错当您使用fitcsvm,然后σ为空向量([]).

数据类型:|

对象的功能

compareHoldout 使用新数据比较两种分类模型的准确度
discard金宝appSupportVectors 丢弃线性支持向量金宝app机分类器的支持向量
边缘 为支持向量机分类器寻找分类边缘金宝app
fitPosterior 拟合紧凑支持向量机分类器的后验概率金宝app
incrementalLearner 将二值分类支持向量机模型转换为增量学习器金宝app
石灰 局部可解释的模型不可知解释(LIME)
损失 查找支持向量机分类器的分类错误金宝app
保证金 为支持向量机(SVM)分类器寻找分类边界金宝app
partialDependence 计算部分依赖
plotPartialDependence 创建部分依赖图(PDP)和个人条件期望图(ICE)
预测 使用支持向量机分类器对观测数据进行分类金宝app
沙普利 沙普利值
更新 更新代码生成的模型参数

例子

全部折叠

通过去除训练数据来减小全支持向量机分类器的大小。金宝app全SVM分类器(即,分类VM分类器)保存训练数据。为了提高效率,使用较小的分类器。

加载电离层数据集。

负载电离层

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

SVMModel = fitcsvm (X, Y,“标准化”,真的,...“类名”, {“b”‘g’})
[] ClassNames: {'b' ' 'g'} ScoreTransform: 'none' NumObservations: 351 Alpha: [90x1 double] Bias: -0.1342 KernelParameters: [1x1 struct] Mu:[0.8917 0 0.6413 0.0444 0.6011 0.1159 0.5501…Sigma:[0.3112 0 0.4977 0.4414 0.5199 0.4608 0.4927…][351x1 double] ConvergenceInfo: [1x1 struct] IsSupportVector: [35金宝app1x1 logical] Solver: 'SMO'属性,方法

SVMModel是一个分类VM分类器。

减小支持向量机分类器的大小。

CompactSVMModel =紧凑(SVMModel)
CompactSVMModel = CompactClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' ' 'g'} ScoreTransform: 'none' Alpha: [90x1 double] Bias: -0.1342 KernelParameters: [1x1 struct] Mu:[0.8917 0 0.6413 0.0444 0.6011 0.1159 0.5501…Sigma:[0.3112 0 0.4977 0.4414 0.5199 0.4608 0.4927…]Su金宝apppportVectors: [90x34 double] SupportVectorLabels: [90x1 double]属性,方法

压缩模型是一个CompactClassificationSVM分类器。

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

谁(“SVMModel”“CompactSVMModel”
Name Size Bytes Class Attributes CompactSVMModel 1x1 31058 classreg.learning.category . compactclassificationsvm SVMModel 1x1 141148 ClassificationSVM

完整的SVM分类器(SVMModel)比紧凑型SVM分类器大四倍以上(压缩模型).

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

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

加载电离层数据集。

负载电离层

训练并交叉验证支持向量机分类器。标准化预测数据并指定类的顺序。

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旨在支持向量机分类器。默认情况下,该软件实现10倍交叉验证。

或者,您可以交叉验证一个经过培训的分类VM将它传递给crossval

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

CVSVMModel。训练有素的{1}
ans = CompactClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' ' 'g'} ScoreTransform: 'none' Alpha: [78x1 double] Bias: -0.2209 KernelParameters: [1x1 struct] Mu:[0.8888 0 0.6320 0.0406 0.5931 0.1205 0.5361…Sigma:[0.3149 0 0.5033 0.4441 0.5255 0.4663 0.4987…Su金宝apppportVectors: [78x34 double] SupportVectorLabels: [78x1 double]属性,方法

每个褶皱都是一个褶皱CompactClassificationSVM分类器对90%的数据进行训练。

估计泛化误差。

genError = kfoldLoss (CVSVMModel)
genError = 0.1168

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

工具书类

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

Scholkopf, B., J. C. Platt, J. C. shaw - taylor, A. J. Smola, R. C. Williamson。"估算高维分布的支持度"金宝app神经计算.第13卷,第7期,2001年,1443-1471页。

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

[4] Scholkopf, B.和A. Smola。核学习:支持向量机,正则化,优化和超越,自适应金宝app计算和机器学习。麻省剑桥:麻省理工学院出版社,2002年。

扩展功能

介绍了R2014a