主要内容

丢弃支持向量万博1manbetx

丢弃支持向量万博1manbetx

语法

mdlOut=丢弃支持向量(md万博1manbetxl)

描述

姆德洛特=丢弃支持向量(万博1manbetxmdl)返回经过训练的线性支持向量机(SVM)回归模型万博1manbetx姆德洛特,这与经过训练的线性SVM回归模型类似mdl,除了:

  • 这个阿尔法万博1manbetx支持向量属性为空([]).

  • 如果你显示姆德洛特,软件将列出贝塔属性,而不是阿尔法所有物

输入参数

全部展开

经过训练的线性SVM回归模型,指定为RegressionSVMCompactRegressionSVM模型

如果您使用非线性的核函数训练模型(即,如果核函数不是“线性”),则软件返回错误。你只能丢弃线性模型的支持向量。万博1manbetx

输出参数

全部展开

经过训练的线性SVM回归模型,作为RegressionSVMCompactRegressionSVM模型姆德洛特类型与mdl

在丢弃支持向量之后,属性万博1manbetx阿尔法万博1manbetx支持向量是空的([])。软件列出了属性贝塔在其显示中,并没有列出属性阿尔法.这个预测再预测方法使用存储在数据库中的系数计算预测响应贝塔所有物

例子

全部展开

该模型展示了如何通过丢弃支持向量和其他相关参数来减少经过训练的线性支持向量机回归模型所使用的磁盘空间。万博1manbetx

加载carsmall数据集。具体说明马力重量为预测变量(X),及MPG作为响应变量(Y).

负载carsmallX =(功率、重量);Y = MPG;

训练线性支持向量机回归模型,将数据标准化。显示支持向量的数量。万博1manbetx

mdl = fitrsvm (X, Y,“标准化”,true)numSV=size(mdl.Sup万博1manbetxportVectors,1)
mdl=RegressionSVM PredictorNames:{'x1'x2'}ResponseName:'Y'类别预测器:[]ResponseTransform:'none'Alpha:[77x1 double]偏差:22.9131内核参数:[1x1结构]Mu:[109.3441 2.9625e+03]西格玛:[45.3545 805.9668]NumObservations:93框约束:[93x1 double]收敛信息:[1x1结构]IsupportVector:[93x1逻辑]解算器:“SMO”属性、方法numSV=77万博1manbetx

默认情况下,fitrsvm训练一个线性支持向量机回归模型。软件列出阿尔法在显示。模型有77个支持向量。万博1manbetx

请注意,预测器和响应变量包含几个价值观训练模特时,,fitrsvm将删除包含来自预测值和响应数据的值。因此,经过训练的模型只使用样本数据中包含的100个总观察值中的93个。

丢弃支持向量和其他相关参万博1manbetx数。

mdlOut=丢弃支持向量(md万博1manbetxl)mdlOut.Alpha mdlOut.SupportVectors
mdlOut=RegressionSVM PredictorNames:{'x1''x2'}ResponseName:'Y'类别预测器:[]ResponseTransform:'none'Beta:[2x1 double]偏差:22.9131内核参数:[1x1结构]Mu:[109.3441 2.9625e+03]西格玛:[45.3545 805.9668]NumObservations:93框约束:[93x1 double]收敛信息:[1x1结构]IsupportVector:[93x1逻辑]解算器:“SMO”属性、方法ans=[]ans=[]万博1manbetx

软件列出贝塔在显示而不是阿尔法.这个阿尔法万博1manbetx支持向量属性是空的。

比较模型的大小。

vars=谁(“mdl”,“mdlOut”);(var (1) .bytes一样,var (2) .bytes]
Ans = 15004 13156

姆德洛特消耗的内存少于mdl因为它不存储支持向量。万博1manbetx

这个例子展示了如何通过压缩模型和丢弃支持向量来减少一个完整的、训练有素的支持向量机回归模型的内存消耗。万博1manbetx

加载carsmall样本数据。

负载carsmallrng违约%为了再现性

利用遗传算法训练线性支持向量机回归模型重量作为预测变量和MPG作为响应变量。标准化数据。

mdl = fitrsvm(重量,英里/加仑,“标准化”,对);

注意MPG包含几个价值观训练模特时,,fitrsvm将删除包含来自预测器和响应数据的值。因此,经过训练的模型只使用了样本数据中包含的100个观测数据中的94个。

压缩回归模型,丢弃训练数据和一些与训练过程相关的信息。

紧凑型mdl=紧凑型(mdl);

compactMdl是一个CompactRegressionSVM具有与相同参数、支持向量和相关估计的模型万博1manbetxmdl,但不再存储训练数据。

丢弃压缩模型的支持向量和万博1manbetx相关估计。

mdlOut = discard万博1manbetxSupportVectors (compactMdl);

姆德洛特是一个CompactRegressionSVM具有相同参数的mdlcompactMdl,但不再存储支持向量和相关估计。万博1manbetx

比较三个SVM回归模型的大小,compactMdl,mdl,姆德洛特

vars=谁(“compactMdl”,“mdl”,“mdlOut”); [vars(1).字节,vars(2).字节,vars(3).字节]
ans=3601 13727 2305

压缩模型compactMdl消耗3601字节的内存,而整个型号mdl消耗13727字节内存。该模型姆德洛特,它也丢弃支持向量,消耗2305字节的内存。万博1manbetx

提示

对于训练过的线性支持向量机回归模型万博1manbetx支持向量财产是一种财富Nsv——- - - - - -P矩阵Nsv支持向量的数量(最多为训练样本量)万博1manbetx和P为预测变量的数量。如果有任何预测是绝对的,那么P包括解释所有分类预测水平所需的虚拟变量数量。这个阿尔法属性是具有Nsv元素。

这个万博1manbetx支持向量阿尔法对于包含许多观察值或示例的复杂数据集,属性可能很大。但是,贝塔属性是具有P元素,可能要小得多。您可以使用训练有素的支持向量机回归模型来预测响应值,即使您丢弃支持向量,因为万博1manbetx预测再预测方法使用贝塔计算预测响应。

如果经过训练的线性支持向量机回归模型有许多支持向量,则使用万博1manbetx丢弃支持向量万博1manbetx为了减少经过训练的线性SVM回归模型消耗的磁盘空间量。您可以通过输入来显示支持向量矩阵的大小万博1manbetx大小(mdlIn.Su万博1manbetxpportVectors)

算法

这个预测再预测使用公式估算响应值

F ( x ) = ( X s ) β + β 0 ,

哪里:

  • β是β值,存储为mdl。β

  • β0偏差值是否存储为偏误

  • X是训练数据。

  • s是内核比例值,存储为mdl.KernelParameters.Scale

这样,软件的使用才有价值mdl。β即使在丢弃支持向量后也能进行预测。万博1manbetx

介绍了R2015b