主要内容

丢弃普罗斯韦普金宝app罗斯韦

丢弃线性支持向量金宝app机(SVM)分类器的支持向量

描述

例子

MDL.= Discard金宝appSupportVectors(mdlsv.返回训练,线性支持向量机(SVM)模型金宝appMDL.。两个都MDL.和训练有素的线性SVM模型mdlsv.是相同类型的对象。也就是说,它们都是分类VM.物体或者CompactClassificationsVM.对象。然而,MDL.mdlsv.以下方式不同:

例子

全部收缩

通过丢弃支持向量和其他相关参数,创建线性SVM模型,该模型更加内存。金宝app

加载电离层数据集。

加载电离层

使用整个数据集列车线性SVM模型。

mdlsv = fitcsvm(x,y)
mdlsv = classificationsvm contractename:'y'pationoricalpricictors:[] classnames:{'b'g'} scoreTransform:'none'numobservations:351 alpha:[103x1 double]偏置:-3.8827内核参数:[1x1 struct] boxconstraints:[351x1DOUBLE] CONFORGENGEINFO:[1x1 struct] iss金宝appupportVector:[351x1逻辑]求解器:'smo'属性,方法

显示支持向量的数量金宝appmdlsv.

numsv = size(mdlsv.金宝appsupportvectors,1)
numsv = 103.

显示预测器变量的数量X

p =尺寸(x,2)
P = 34.

默认,fitcsvm.为两类学习训练线性SVM模型。软件列表Α在显示屏中。该模型包括103个支持向量和34个预测器。金宝app如果您丢弃支持向量,所产生的模型会消耗金宝app更少的内存。

丢弃支持向量和其他相关参金宝app数。

MDL = Discard金宝appSupportVectors(MDLSV)
mdl = classificationsvm chractoryName:'y'pationoricalpricictors:[] classnames:{'b'g'} scoreTransform:'none'numobservations:351 beta:[34x1 double]偏置:-3.8827内核参数:[1x1 struct] boxconstraints:[351x1DOUBLE] CONFORGENGEINFO:[1x1 struct] iss金宝appupportVector:[351x1逻辑]求解器:'smo'属性,方法

显示系数MDL.

mdl.alpha.
ans = []

显示支持向量金宝appMDL.

mdl.金宝appsupportVectors.
ans = []

显示支持向量类标签金宝appMDL.

mdl.金宝appsupportVectorLabels.
ans = []

软件列表bet在显示器而不是Α。这Α金宝app支持监视器, 和金宝appSupportVectorLabels.属性是空的。

比较模型的大小。

vars = whos('mdlsv''mdl');100 *(1  -  vars(1).bytes / vars(2).bytes)
ANS = 20.5503.

MDL.比左右约20%mdlsv.

去掉mdlsv.从工作区。

清除mdlsv.

通过丢弃存储的支持向量和其他相关估计来压缩SVM模型。金宝app通过使用压缩模型预测培训数据行的标签。

加载电离层数据集。

加载电离层RNG(1);重复性的%

使用默认选项列车SVM模型。

mdlsv = fitcsvm(x,y);

mdlsv.是A.分类VM.包含非空值的模型Α金宝app支持监视器, 和金宝appSupportVectorLabels.特性。

通过丢弃培训数据,支持向量和相关估计来减少SVM模型的大小。金宝app

cmdlsv = compact(mdlsv);%丢弃培训数据cmdl = discard金宝appsupportvectors(cmdlsv);%丢弃支持向量金宝app

CMDL.是A.CompactClassificationsVM.模型。

比较SVM模型的大小mdlsv.CMDL.

vars = whos('mdlsv''cmdl');100 *(1  -  vars(1).bytes / vars(2).bytes)
ans = 96.8174.

压实的模型CMDL.消耗比完整模型要少得多。

通过使用预测随机行的随机行的标签CMDL.。这预测功能接受压缩的SVM型号,并且对于线性SVM型号,不需要Α金宝app支持监视器, 和金宝appSupportVectorLabels.属性预测新观察标签。

idx = randsample(size(x,1),1)
Idx = 147.
predigedlabel = predict(cmdl,x(idx,:))
predightlabel =1x1细胞阵列{'B'}
truilabel = y(idx)
truilabel =1x1细胞阵列{'B'}

输入参数

全部收缩

训练有素的线性SVM模型,指定为a分类VM.或者CompactClassificationsVM.模型。

如果是这个领域mdlsv.kernelparameters.function.不是'线性'(那是,mdlsv.不是线性SVM模型),软件返回错误。

尖端

  • 对于训练有素的线性SVM模型,金宝app支持监视器属性是ANNSV.-经过-P.矩阵。NSV.是支持向量的数量(在大多数训练样本金宝app大小)和P.是预测器的数量,或功能。这Α金宝appSupportVectorLabels.属性是载体NSV.元素。对于包含许多观察或示例的复杂数据集,这些属性可以很大。这bet属性是矢量P.元素。

  • 如果训练有素的SVM型号有许多支持向量,请使用金宝app丢弃普罗斯韦普金宝app罗斯韦减少培训的线性SVM模型消耗的空间量。您可以通过输入显示支持向量矩阵的大小金宝app大小(mdlsv.su金宝apppportvectors)

算法

预测重新预订估计SVM分数FX),并随后使用标记和估计后验概率

F X = X ' β + B.

βmdl.beta.B.mdl.bias., 那就是bet偏见属性MDL., 分别。有关更多详细信息,请参阅金宝app支持向量机器进行二进制分类

在R2015A介绍