主要内容

CompactClassificationsVM.

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

描述

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

创建

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

属性

全部展开

SVM属性

此属性是只读的。

训练有素的分类器系数,指定为一个年代- 1号数字矢量。年代为所训练分类器中支持向量的个数,金宝app总和(Mdl.IsS金宝appupportVector)

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

数据类型:|

此属性是只读的。

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

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

如果elkelparameters.function.“线性”,然后分类评分进行观察x

f x x / 年代 β + b

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

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

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

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

数据类型:|

此属性是只读的。

偏置项,指定为标量。

数据类型:|

此属性是只读的。

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

描述
函数

内核函数用于计算元素格拉姆矩阵.有关详细信息,请参阅“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

数据类型:|

其他分类属性

此属性是只读的。

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

数据类型:

此属性是只读的。

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

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

此属性是只读的。

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

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

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

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

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

数据类型:

此属性是只读的。

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

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

数据类型:细胞

此属性是只读的。

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

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

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

数据类型:|

此属性是只读的。

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

数据类型:细胞

此属性是只读的。

每个类的先验概率,指定为数字向量。元素的顺序之前对应的元素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
    'ymmetricismax' 将具有最大分数为1的类设置分数,并将所有其他类的分数设置为-1
    'symmetriclogit' 2 / (1 +e- - - - - -x) - 1

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

    Mdl。ScoreTransform = @函数

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

数据类型:char|function_handle

此属性是只读的。

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

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

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

如果你设置'标准化',假使用时使用SVM分类器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,'标准化',真的,...'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]解算器:金宝appSMO的属性,方法

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

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

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

CompactSvmModel.是一个CompactClassificationsVM.分类器。

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

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

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

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

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

加载电离层数据集。

负载电离层

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

RNG(1);重复性的%CVSVMModel = fitcsvm (X, Y,'标准化',真的,...'classnames', {“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: [1x34 double] Sigma: [1x34 double金宝app] SupportVectors: [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