主要内容

预测

使用支持向量机(SVM)分类器分类观察金宝app

描述

例子

标签=预测(svmmodel.X返回表或矩阵中的预测器数据的预测类标签的向量X,基于培训的支持向量机(SVM)分类模型金宝appsvmmodel..训练有素的SVM模型可以是完全或紧凑的。

例子

[标签分数) =预测(svmmodel.X还返回分数的矩阵(分数)表示标签来自特定类的可能性。对于SVM来说,可能性措施要么分级分数或课堂后概率.对于每次观察X,预测类标签对应于所有类中的最大分数。

例子

全部收缩

加载电离层数据集。

加载电离层rng (1);%的再现性

训练一个SVM分类器。指定15%的残留样品进行测试,标准化数据,并指定'G'是积极的课程。

cvsvmmodel = fitcsvm(x,y,'坚持',0.15,“类名”,{'B''G'},......“标准化”,真的);compactsvmmodel = cvsvmmodel.trined {1};%提取培训,紧凑型分类器testinds = test(cvsvmmodel.partition);%提取测试索引xtest = x(testinds,:);ytest = y(testinds,:);

cvsvmmodel.是A.ClassificationededModel.分类器。它包含该物业训练有素,这是一个1 × 1单元格数组,包含一个CompactClassificationSVM使用培训集训练的软件的分类器。

标记测试样本的观察结果。显示测试示例中前10个观察结果。

[标签,分数] =预测(CompactSvmModel,XTest);表(ytest(1:10),标签(1:10),得分(1:10,2),'variablenames'......{“TrueLabel”'predightlabel''分数'})
ans =10×3表TrueLabel PredictedLabel分数_________ ______________ ________ { 'B'} { 'B'} {-1.7177 'G'} { 'G'} 2.0003 { 'B'} { 'B'} {-9.6844 'G'} { 'G'} {2.5617 'b'} { 'b'} {-1.5483 'G'} { 'G'} 2.0983 { 'b'} { 'b'} {-2.7016 'b'} { 'b'} {-0.66313'g'} {'g'} 1.6046 {'g'} {'g'} 1.773

使用SVM分类器标记新的观察。

加载电离层数据集。假设在训练SVM分类器之后,最后10个观察结果是可用的。

加载电离层rng (1);%的再现性n =尺寸(x,1);%训练样本大小isinds = 1:(n-10);百分比样本指数Oosinds =(n-9):n;%超出样本指数

训练一个SVM分类器。标准化数据并指定该数据'G'是积极的课程。通过减少训练的SVM分类器的大小来节省内存。

SVMModel = fitcsvm(X(isInds,:),Y(isInds),“标准化”,真的,......“类名”,{'B''G'});CompactSvmmodel = Compact(SVMModel);谁是('svmmodel'“CompactSVMModel”
名称大小字节类属性CompactSVMModel 1x1 30482 ClassReg.Learning.Classif.comPactClassificsVM SVMModel 1x1 137582分类VM

CompactClassificationSVM分类器(CompactSVMModel)使用的空间少于ClassificationSVM分类器(svmmodel.) 因为svmmodel.存储数据。

估计最佳分数到后概率变换功能。

CompactSvmmodel = FitPosterior(CompactSvmModel,......x(isinds,:),y(isinds))
CompactSvmModel = CompactClassificationsVM ResponsionSame:'Y'类分类:[] ClassNames:{'B'G'} ScoreTransform:'@(s)sigmoid(s,-1.968433e + 00,3.121233e-01)'alpha:[88x1双倍]偏见:-0.2143内核参数:[1x1结构] mu:[1x34双] sigma:[1x34双]支持监视器:[88x34双] SupportSVectorLabels:[8金宝app8x1双]属性,方法

最佳分数转换功能(compactsvmmodel.scoretransform.)是双曲线函数,因为类是分不开的。

预测样本外标记和正类后验概率。由于有真标签,请将其与预测的标签进行比较。

[标签,PostProbs] =预测(CompactSVMModel,X(oosInds,:));表(y(oosinds),标签,postprobs(:,2),'variablenames'......{'truelabels''predightlabels''posclassposterior'})
ans =10×3表Truelabels PredightLabels PosclassPosterior __________ _______________ _________________ {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} 0.67794 {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} 0.94448{'g'} {'g'} 0.98745 {'g'} {'g'} 0.92481 {'g'} {'g'} {'g'} {'g'} 0.9711 {'g'} {'g'{'g'} {'g'} {'g'} {'g'} 0.96986 {'g'}'g'} 0.97803 {'g'} {'g'} 0.94361

Postprobs.是一个10×2的矩阵,第一列是负类后验概率,第二列是与新观察相对应的正类后验概率。

输入参数

全部收缩

SVM分类模型,指定为ClassificationSVM模型对象或CompactClassificationSVM返回的模型对象fitcsvm或者紧凑的, 分别。

对预测器数据进行分类,指定为数字矩阵或表格。

每一排X对应一个观察结果,每一列对应一个变量。

  • 对于数字矩阵:

    • 列中的变量X必须具有与培训的预测变量相同的顺序svmmodel.

    • 如果你训练有素svmmodel.使用表格(例如,资源描述) 和资源描述然后包含所有数字预测变量变量X可以是一个数字矩阵。中处理数字预测器资源描述在培训期间,通过使用来确定分类预测因子CategoricalPredictors名称 - 值对参数fitcsvm.如果资源描述包含异构的预测变量(例如,数字和分类数据类型)和X是一个数字矩阵,然后预测抛出错误。

  • 一个表:

    • 预测不支持字符向量的单金宝app元格阵列以外的多列变量或单元格阵列。

    • 如果你训练有素svmmodel.使用表格(例如,资源描述),然后输入所有预测变量X必须具有相同的变量名和数据类型,那些训练有素svmmodel.(存储在svmmodel.predictornames.).但是,列的顺序X不需要对应于列顺序资源描述.还,资源描述X可以包含其他变量(响应变量,观察权重等),但是预测忽略它们。

    • 如果你训练有素svmmodel.使用数字矩阵,然后是预测器名称svmmodel.predictornames.和相应的预测变量名称X必须是一样的。要在培训期间指定预测器名称,请参阅PredictorNames名称 - 值对参数fitcsvm.所有预测因子变量X必须是数字向量。X可以包含其他变量(响应变量,观察权重等),但是预测忽略它们。

如果你设置了'标准化',真实fitcsvm训练svmmodel.,然后该软件标准化列的列X使用相应的手段svmmodel.mu.和标准偏差SVMModel.Sigma

数据类型:桌子|双倍的|单身的

输出参数

全部收缩

预测的类标签,作为类别或字符数组、逻辑或数字vector或字符vector的单元数组返回。

标签具有与观察到的类标签相同的数据类型(y)训练有素svmmodel.,其长度等于行的数量X(该软件将字符串数组视为字符向量的单元格阵列。)

对于单级学习,标签是观察到的类标签中的一个类。

预测的课堂得分或者后概率,作为数字列向量或数字矩阵返回。

  • 对于单级学习,分数是与观察值(X).元素分数是相应观察结果的正类别分数。你不能获得一个一流的学习后验概率。

  • 对于两班学习,分数是一个双列矩阵,具有相同数量的行X

    • 如果你用最优分数到后验概率的变换函数FitleDosterior.或者fitsvmposterior., 然后分数包含类后验概率。也就是说,如果值svmmodel.scoretransform.不是没有任何,然后是第一个和第二列分数包含负类(svmmodel.classnames {1})和正班(svmmodel.classnames {2})分别对相应观察的后验概率。

    • 否则,第一列包含负类分数,第二列包含相应观察的正类分数。

如果svmmodel..kernelparameters.function.'线性',那么观察的分类分数X

F X = X / S. ' β + B.

svmmodel.βB., 和S.在物业中bet偏见, 和内核参数。规模, 分别。

要手动估计分类评分,您必须首先将任何转换应用于在培训期间应用的预测数据。具体来说,如果您指定'标准化',真实使用时fitcsvm,然后您必须通过使用均值来手动标准化预测器数据svmmodel.mu.和标准偏差SVMModel.Sigma,然后通过内核缩放划分结果SVMModel.KernelParameters.Scale

所有SVM功能,如重新预订预测,在估计之前应用任何所需的转换。

如果svmmodel..kernelparameters.function.不是'线性', 然后bet是空的 ([]).

更多关于

全部收缩

分数分数

的支持向量机分数分数用于分类观察X距离是带符号的吗X到从负无穷到正无穷区间的决策边界。一门课的正分数表明X预计将在那个课程中。负分数否则表示。

正类分类得分 F X 是训练有素的SVM分类功能。 F X 也是数值预测的响应X或预测的分数X进入正班。

F X = σ. j = 1 N α j y j G X j X + B.

在哪里 α 1 ...... α N B. 为估计的SVM参数, G X j X 点积是在预测器之间的空间吗X和支持向量,并且金宝app总和包括训练集观察。负类分类分数X或预测的分数X进入消极课程,是 -FX).

如果GXjX)=Xj'X(线性内核),那么得分功能会减少到

F X = X / S. ' β + B.

S.是内核比例和β是拟合线性系数的矢量。

有关更多详细信息,请参阅了解支持向量机金宝app

后验概率

后验概率考虑到数据,观察属于特定类别的概率。

对于SVM,后验概率是分数的函数P.S.),观察j是在课堂上K.= {-1,1}。

  • 对于可分离的类,后验概率是阶梯功能

    P. S. j = { 0. ; S. < 最大限度 y K. = - 1 S. K. π ; 最大限度 y K. = - 1 S. K. ≤. S. j ≤. y K. = + 1 S. K. 1 ; S. j > y K. = + 1 S. K.

    在哪里:

    • S.j是观察的分数j

    • +1和-1分别表示正和负类。

    • π是观察在正类中的现有概率。

  • 对于不可分类,后概率是s型函数

    P. S. j = 1 1 + exp. 一种 S. j + B.

    参数在哪里一种B.是斜率和截距参数,分别。

之前的概率

之前的概率一类是与从该类观测发生在一个群体中的假设的相对频率。

提示

  • 如果你使用线性支持向量机模型进行分类,并且该模型有很多支持向量,那么使用金宝app预测对于预测方法可以很慢。要有效地对基于线性SVM模型进行分类的观察,请通过使用删除模型对象的支持向量金宝app丢弃普罗斯韦普金宝app罗斯韦

算法

  • 默认和不考虑模型的核函数,MATLAB®使用得分函数的双表示来基于训练的SVM模型来分类观测,具体

    F ^ X = σ. j = 1 N α ^ j y j G X X j + B. ^

    该预测方法需要训练有素的支持向量和金宝appα系数(见金宝app支持监视器ΑSVM模型的属性)。

  • 默认情况下,软件使用PLATT方法计算最佳的后验概率[1]

    1. 执行10倍交叉验证。

    2. 将SIGMOID函数参数拟合到交叉验证中返回的分数。

    3. 通过将交叉验证分数进入拟合的S形函数来估计后验概率。

  • 在训练过程中,该软件将先验概率加入到SVM目标函数中。

  • 支持向量机,预测重新预订将观察分类为阶级,产生最大的得分(最大的后验概率)。软件通过在培训分类器之前应用平均成本校正来占用错误分类成本。也就是说,给定上课P.,错误分类成本矩阵C,观测权向量W.,该软件定义了一个新的观察重量向量(W.)这样的

    W. j = W. j P. j σ. K. = 1 K. C j K.

替代功能

金宝app仿真软件块

将SVM分类模型的预测集成到Simulink中金宝app®,你可以使用分类vm预测统计和机器学习工具箱™库或Matlab功能块中的块预测函数。有关示例,请参见使用分类支持向量机预测块预测类标签用MATLAB函数块预测类标签

在确定使用哪种方法时,请考虑以下内容:

  • 如果使用“统计和机器学习工具箱”库块,则可以使用固定点工具(定点设计师)将浮点模型转换为固定点。

  • 金宝app变量的MATLAB函数块必须支持可变大小的数组预测函数。

  • 如果使用MATLAB功能块,你可以使用MATLAB功能之前,或在同一MATLAB功能块的预测之后预处理或后处理。

参考文献

支持向量机的概率输出以及与正则似然方法的比较。金宝app大保证金分类器的进展.MIT Press,1999,第61-74页。

扩展能力

在R2014A介绍