CompactClassificationSVM
紧凑的支持向量机金宝app(SVM)看到下面成了和二进制分类
描述
CompactClassificationSVM
是一个紧凑版本的支持向量机(SVM)分类器。金宝app紧凑的分类器不包括数据用于训练SVM分类器。因此,您不能执行一些任务,比如交叉验证,使用紧凑的分类器。使用一个紧凑的SVM分类器预测新数据的标签等任务。
创建
创建一个CompactClassificationSVM
模型从一个完整的训练ClassificationSVM
分类器通过使用紧凑的
。
属性
支持向量机性能
α
- - - - - -训练分类器系数
数值向量
这个属性是只读的。
训练分类器系数,作为指定年代1数字向量。年代支持向量的个数在训练分类器,金宝app总和(Mdl.IsS金宝appupportVector)
。
α
从对偶问题包含了训练分类器系数,也就是说,估计拉格朗日乘数法。如果你删除重复使用RemoveDuplicates
名称-值对的观点fitcsvm
,那么对于一个给定的重复观测的支持向量,金宝appα
包含一个系数对应于整个集。也就是说,MATLAB®属性的非零系数,观察组副本和一个系数0
所有其他的重复观测。
数据类型:单
|双
β
- - - - - -线性预测系数
数值向量
这个属性是只读的。
线性预测系数,指定为一个数值向量。的长度β
等于预测用于训练模型的数量。
MATLAB使用完整的虚拟扩展分类变量的预测数据编码。即MATLAB为每个级别创建一个虚拟变量的每个类别变量。β
存储一个值为每个预测变量,包括虚拟变量。例如,如果有三个因素,其中一个是类别变量有三个水平,β
是一个数值向量包含五个值。
如果KernelParameters.Function
是“线性”
观察,然后分类评分x是
Mdl
商店β,b,年代在属性β
,偏见
,KernelParameters.Scale
,分别。
手动来估计分类的分数,你必须首先应用任何转换过程中使用预测数据训练。具体地说,如果你指定“标准化”,真的
当使用fitcsvm
,那么你必须手动规范预测数据使用的意思Mdl.Mu
和标准偏差Mdl.Sigma
,然后将结果除以内核规模Mdl.KernelParameters.Scale
。
所有支持向量机功能,如resubPredict
和预测
估计之前,应用所需的转换。
如果KernelParameters.Function
不是“线性”
,然后β
是空的([]
)。
数据类型:单
|双
偏见
- - - - - -偏见术语
标量
这个属性是只读的。
偏见,指定为一个标量。
数据类型:单
|双
KernelParameters
- - - - - -内核参数
结构数组
这个属性是只读的。
内核参数,指定为一个结构数组。内核参数属性包含这个表中列出的字段。
场 | 描述 |
---|---|
函数 | 核函数用于计算的元素格拉姆矩阵。有关详细信息,请参见 |
规模 | 内核尺度参数用于规模预测数据的所有元素的模型是训练有素的。有关详细信息,请参见 |
显示的值KernelParameters
,使用点符号。例如,Mdl.KernelParameters.Scale
显示内核参数值。
软件接受KernelParameters
作为输入,不修改它们。
数据类型:结构体
金宝appSupportVectorLabels
- - - - - -金宝app支持向量类标签
年代1数字矢量
这个属性是只读的。
金宝app支持向量类的标签,作为一个指定年代1数字向量。年代支持向量的个数在训练分类器,金宝app总和(Mdl.IsS金宝appupportVector)
。
的值+ 1
在金宝appSupportVectorLabels
表明积极的相应的支持向量类(金宝app一会{2}
)。的值1
显示相应的支持向量是负类(金宝app一会{1}
)。
如果你删除重复使用RemoveDuplicates
名称-值对的观点fitcsvm
,那么对于一个给定的重复观测的支持向量,金宝app金宝appSupportVectorLabels
包含一个独特的支持向量的标签。金宝app
数据类型:单
|双
金宝appSupportVectors
- - - - - -金宝app支持向量
年代——- - - - - -p数字矩阵
这个属性是只读的。
金宝app支持向量分类器训练,指定为一个年代——- - - - - -p数字矩阵。年代支持向量的个数在训练分类器,金宝app总和(Mdl.IsS金宝appupportVector)
,p是预测变量预测的数据的数量。
金宝appSupportVectors
包含行数据的预测X
MATLAB认为支持向量。金宝app如果您指定“标准化”,真的
当训练SVM分类器使用fitcsvm
,然后金宝appSupportVectors
包含标准化的行X
。
如果你删除重复使用RemoveDuplicates
名称-值对的观点fitcsvm
,那么对于一个给定的重复观测的支持向量,金宝app金宝appSupportVectors
包含一个独特的支持向量。金宝app
数据类型:单
|双
其他分类属性
CategoricalPredictors
- - - - - -分类预测指标
向量的正整数|[]
这个属性是只读的。
分类预测指标,指定为一个向量的正整数。CategoricalPredictors
包含索引值表明相应的预测分类。索引值介于1和p
,在那里p
预测的数量被用来训练模型。如果所有的预测都直言,那么这个属性是空的([]
)。
数据类型:双
一会
- - - - - -独特的类标签
分类数组|字符数组|逻辑向量|数值向量|单元阵列的特征向量
这个属性是只读的。
独特的类标签用于培训,指定为一个类别或字符数组,逻辑或数值向量,或单元阵列的特征向量。一会
具有相同的数据类型的类标签吗Y
。(软件对字符串数组作为细胞阵列特征向量)。一会
也决定了课堂秩序。
数据类型:单
|双
|逻辑
|字符
|细胞
|分类
成本
- - - - - -误分类代价
数字方阵
这个属性是只读的。
误分类代价,指定为一个数字方阵。
两种学习的
成本
属性存储指定的误分类代价矩阵成本
名称-值参数的拟合函数。行对应于真实的类和列对应预测类。也就是说,成本(i, j)
是一个指向类分类的成本j
如果它真正的类我
。的行和列的顺序成本
对应于类的顺序一会
。看到下面成了学习,
成本= 0
。
数据类型:双
ExpandedPredictorNames
- - - - - -扩大了预测的名字
单元阵列的特征向量
这个属性是只读的。
扩展预测名称,指定为一个单元阵列的特征向量。
如果模型使用哑变量编码为分类变量ExpandedPredictorNames
包括名称,描述变量扩展。否则,ExpandedPredictorNames
是一样的PredictorNames
。
数据类型:细胞
μ
- - - - - -预测方法
数值向量|[]
这个属性是只读的。
预测方法,指定为一个数值向量。如果您指定“标准化”,1
或“标准化”,真的
当你训练一个支持向量机分类器使用fitcsvm
,然后的长度μ
等于预测的数量。
MATLAB使用完整的虚拟扩展分类变量的预测数据编码。即MATLAB为每个级别创建一个虚拟变量的每个类别变量。μ
存储一个值为每个预测变量,包括虚拟变量。然而,MATLAB并不规范的列包含分类变量。
如果你设置“标准化”,假的
当你训练SVM分类器使用fitcsvm
,然后μ
是一个空向量([]
)。
数据类型:单
|双
PredictorNames
- - - - - -预测变量的名字
单元阵列的特征向量
这个属性是只读的。
预测变量名称,指定为一个单元阵列的特征向量。元素的顺序PredictorNames
对应的顺序预测的名字出现在训练数据。
数据类型:细胞
之前
- - - - - -先验概率
数值向量
这个属性是只读的。
先验概率为每个类,指定为一个数值向量。
两种学习,如果你指定一个成本矩阵,那么软件更新的先验概率将描述的惩罚成本矩阵。
两种学习,软件可实现指定的先验概率
之前
名称-值参数的拟合函数,这样的概率之和为1。的之前
属性存储规范化的先验概率。元素的顺序之前
对应的元素Mdl.ClassNames
。看到下面成了学习,
之前= 1
。
数据类型:单
|双
ScoreTransform
- - - - - -分数转换
特征向量|函数处理
分数变换,指定为一个特征向量或函数句柄。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支持向量机(SVM)分类器 |
边缘 |
找到分类支持向量机(SVM)分类器的边缘金宝app |
fitPosterior |
合适的后验概率为紧凑的支持向量机(SVM)分类器金宝app |
incrementalLearner |
转换成二进制分类支持向量机(SVM)模型增量学习金宝app |
石灰 |
本地可model-agnostic解释(石灰) |
损失 |
找到分类错误的支持向量机(SVM)分类器金宝app |
保证金 |
找到分类利润支持向量机(SVM)分类器金宝app |
partialDependence |
计算部分依赖 |
plotPartialDependence |
创建部分依赖图(PDP)和个人条件期望(ICE)情节 |
预测 |
观察使用支持向量机(SVM)分类器进行分类金宝app |
沙普利 |
沙普利值 |
更新 |
更新模型参数代码生成 |
例子
减少支持向量机分类器的大小
减少大小的一个完整的支持向量机(SVM)分类器的训练金宝app数据。完整的SVM分类器(即ClassificationSVM
分类器)训练数据。要提高效率,使用一个较小的分类器。
加载电离层
数据集。
负载电离层
一个支持向量机分类器训练。规范预测数据和指定类的顺序。
SVMModel = fitcsvm (X, Y,“标准化”,真的,…“类名”,{“b”,‘g’})
SVMModel = ClassificationSVM ResponseName:‘Y’CategoricalPredictors:[]类名:{b ' g '} ScoreTransform:“没有一个”NumObservations: 351α:[90 x1双]偏见:-0.1343 KernelParameters: [1 x1 struct]μ:[0.8917 0 0.6413 0.0444 0.6011 0.1159 0.5501……σ:[0.3112 0 0.4977 0.4414 0.5199 0.4608 0.4927…]BoxConstraints: x1双[351]ConvergenceInfo: [1 x1 struct] IsSupport金宝appVector: x1逻辑[351]解算器:SMO的属性,方法
SVMModel
是一个ClassificationSVM
分类器。
减少支持向量机分类器的大小。
CompactSVMModel =紧凑(SVMModel)
CompactSVMModel = CompactClassificationSVM ResponseName:‘Y’CategoricalPredictors:[]类名:{b ' g '} ScoreTransform:‘没有’α:[90 x1双]偏见:-0.1343 KernelParameters: [1 x1 struct]μ:[0.8917 0 0.6413 0.0444 0.6011 0.1159 0.5501……σ:[0.3112 0 0.4977 0.4414 0.5199 0.4608 0.4927…]S金宝appupportVectors: [90 x34双]SupportVectorLabels: [90 x1双]属性,方法
CompactSVMModel
是一个CompactClassificationSVM
分类器。
显示每个分类器所使用的内存数量。
谁(“SVMModel”,“CompactSVMModel”)
类属性名称大小字节CompactSVMModel 1 x1 31058 classreg.learning.classif。141148 ClassificationSVM CompactClassificationSVM SVMModel 1 x1
完整的SVM分类器(SVMModel
)超过四倍紧凑的SVM分类器(CompactSVMModel
)。
标签新观测效率,您可以删除SVMModel
从MATLAB®工作区,然后通过CompactSVMModel
和新的值来预测指标预测
。
为了进一步减少紧凑的SVM分类器的大小,使用discard金宝appSupportVectors
函数丢弃支持向量。金宝app
火车和旨在支持向量机分类器
加载电离层
数据集。
负载电离层
训练,旨在支持向量机分类器。规范预测数据和指定类的顺序。
rng (1);%的再现性CVSVMModel = fitcsvm (X, Y,“标准化”,真的,…“类名”,{“b”,‘g’},“CrossVal”,“上”)
CVSVMModel = ClassificationPartitionedModel CrossValidatedModel:“支持向量机”PredictorNames: {1} x34细胞ResponseName:“Y”NumObservations: 351 KFold: 10个分区:[1 x1 cvpartition]类名:{b ' g '} ScoreTransform:“没有一个”属性,方法
CVSVMModel
是一个ClassificationPartitionedModel
旨在支持向量机分类器。默认情况下,软件实现了10倍交叉验证。
或者,您可以旨在训练ClassificationSVM
分类器通过它crossval
。
检查的一个训练有素的折叠使用点符号。
CVSVMModel.Trained {1}
ans = CompactClassificationSVM ResponseName:‘Y’CategoricalPredictors:[]类名:{b ' g '} ScoreTransform:‘没有’α:[78 x1双]偏见:-0.2209 KernelParameters: [1 x1 struct]μ:[0.8888 0 0.6320 0.0406 0.5931 0.1205 0.5361……σ:[0.3149 0 0.5033 0.4441 0.5255 0.4663 0.4987…]S金宝appupportVectors: [78 x34双]SupportVectorLabels: [78 x1双]属性,方法
每一个褶皱都是CompactClassificationSVM
分类器训练数据的90%。
估计泛化误差。
genError = kfoldLoss (CVSVMModel)
genError = 0.1168
泛化误差平均为12%左右。
引用
[1]Hastie, T。,R. Tibshirani, and J. Friedman.统计学习的元素,第二版。纽约:施普林格出版社,2008年。
[2]Scholkopf B。,J. C. Platt, J. C. Shawe-Taylor, A. J. Smola, and R. C. Williamson. “Estimating the Support of a High-Dimensional Distribution.”神经计算。第7卷。13日,2001年,页1443 - 1471。
[3]Christianini, N。,J. C. Shawe-Taylor.介绍支持向量机和其他基于学习的方法金宝app。英国剑桥:剑桥大学出版社,2000年。
[4]Scholkopf B。答:Smola。学习与内核:支持向量机,正则化优化,自适应计算金宝app和机器学习。剑桥,麻州:麻省理工学院出版社,2002年。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
将支持向量机分类模型的预测模型金宝app®,你可以使用ClassificationSVM预测块的统计和机器学习工具箱™库或MATLAB函数块
预测
函数。当你训练一个通过使用支持向量机模型
fitcsvm
以下限制适用。的值
“ScoreTransform”
名称-值对的论点不能一个匿名函数。生成代码的后验概率预测了新的观察,通过训练支持向量机模型fitPosterior
或fitSVMPosterior
。的ScoreTransform
属性返回的模型包含一个匿名函数表示score-to-posterior-probability为代码生成功能和配置。定点代码生成的值
“ScoreTransform”
名称-值对参数不能“invlogit”
。同时,的值“KernelFunction”
名称-值对论点必须“高斯”
,“线性”
,或多项式的
。定点代码生成和代码生成与编码器配置,以下额外的限制。
分类预测(
逻辑
,分类
,字符
,字符串
,或细胞
不支持)。金宝app你不能使用CategoricalPredictors
名称-值参数。包括分类预测模型中,利用预处理dummyvar
在拟合模型。类标签
分类
不支持的数据类型。金宝app训练数据的类标签值(资源描述
或Y
)和的值一会
名称-值参数不能与数组分类
数据类型。
有关更多信息,请参见介绍代码生成。
版本历史
介绍了R2014aR2022a:成本
属性存储指定的成本矩阵
行为改变R2022a
从R2022a,成本
属性存储指定的成本矩阵,这样你就可以计算出观察误分类成本使用指定的成本价值。软件商店规范化先验概率(之前
),不能反映成本矩阵描述的处罚。细节计算观察到的误分类代价,看到R2022a释放注意损失函数的分类模型对象:计算观察误分类代价。
注意,模型训练并没有改变,因此,类之间的决策边界没有改变。
培训,拟合函数更新指定的先验概率,将指定的描述的惩罚成本矩阵,然后规范化先验概率和观察的权重。这种行为没有改变。在以前的版本中,存储的软件默认成本矩阵成本
财产和存储用于培训的先验概率之前
财产。从R2022a,软件商店指定成本矩阵,并存储规范化的先验概率,不能反映成本惩罚。更多细节,请参阅误分类代价矩阵、先验概率和观察权重。
一些对象函数使用成本
和之前
属性:
的
损失
函数使用矩阵的存储成本成本
如果你指定属性LossFun
名称-值参数为“classifcost”
或“mincost”
。的
损失
和边缘
函数使用中存储的先验概率之前
属性规范化观察输入数据的权重。
如果你指定一个默认的成本矩阵训练分类模型时,该对象函数返回一个不同的值与以前版本相比。
如果你想要处理的软件成本矩阵,先验概率,和观察权重在以前的版本中,调整默认的成本的先验概率和观察权重矩阵,描述调整先验概率和观察权重误分类代价矩阵。然后,当你训练一个分类模型,指定调整先验概率和观察权重通过使用之前
和权重
名称-值参数,分别使用默认成本矩阵。
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。