主要内容

RegressionSVM类

超类:CompactRegressionSVM

万博1manbetx支持向量机回归模型

描述

RegressionSVM是一种支持万博1manbetx向量机(SVM)回归模型。训练RegressionSVM模型使用fitrsvm以及样本数据。

RegressionSVM模型存储数据、参数值、支持向量和算法实现信息。万博1manbetx您可以使用这些模型:

  • 估计resubstitution预测。有关详细信息,请参见resubPredict

  • 预测新数据的值。有关详细信息,请参见预测

  • 计算resubstitution损失。有关详细信息,请参见resubLoss

  • 计算均方误差或不敏感损失。有关详细信息,请参见损失

建设

创建一个RegressionSVM通过使用fitrsvm

属性

全部展开

对偶问题系数,指定为数值向量。α包含元素,为训练后的支持向量机回归模型中支持万博1manbetx向量的个数。对偶问题为每个支持向量引入两个拉格朗日乘数。万博1manbetx的值α是支持向量的两个估计拉格朗日乘子之间的差异。万博1manbetx有关详细信息,请参见理解支持向量机回归万博1manbetx

使用。删除副本RemoveDuplicates,那么,对于支持向量的特定重复观测集,万博1manbetxα包含一个系数对应于整个集合。也就是说,MATLAB®将非零系数赋给从一组重复数据中得到的一个观测值,并将系数赋给0到集合中所有其他重复的观测值。

数据类型:|

原始线性问题系数,存储为长度的数字向量p,在那里p为支持向量机回归模型中预测因子的个数。

中的值β为原优化问题的线性系数。

如果模型是使用核函数而不是“线性”,此属性为空(“[]”).

预测方法计算模型的预测响应值YFIT=(X/S)×β+偏差,在那里年代内核规模的值是否存储在KernelParameters。规模财产。

数据类型:|

支持向量机回归模型中的偏置项,存储为标量值。

数据类型:|

对偶问题阿尔法系数的框约束,存储为包含数值向量的n元素,n观察的次数在吗XMdl。NumObservations).

对偶系数的绝对值α为观察不能超过BoxConstraints(我)

如果使用“RemoveDuplicates”,然后对给定的一组重复观测值,MATLAB对方框约束求和,然后将求和归为一个观测值和的方框约束0所有其他的观察结果。

数据类型:|

缓存信息,存储为具有以下字段的结构。

描述
“大小” 表示软件为存储Gram矩阵项而保留的缓存大小(单位为MB)的正标量值。属性设置缓存大小“缓存大小”中的名称-值对参数fitrsvm
“算法” 包含算法名称的字符向量,该算法用于在超出缓存容量时从缓存中删除条目。目前,唯一可用的缓存算法是“队列”.无法设置缓存算法。

数据类型:结构体

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

数据类型:|

收敛信息,存储为具有以下字段的结构。

描述
聚合 指示算法是否收敛的逻辑标志。的值1表明收敛。
ReasonForConvergence 字符向量指示准则,用于软件检测收敛性。
差距 对偶目标函数与原目标函数之间的标量可行性差距。
宽容 标量公差的可行性差距。可以使用“GapTolerance”中的名称-值对参数fitrsvm
DeltaGradient 上下限之间的标量梯度差。
DeltaGradientTolerance 梯度差的标量公差。可以使用DeltaGradientTolerance中的名称-值对参数fitrsvm
LargestKKTViolation 最大标量Karush-Kuhn-Tucker (KKT)违背值。
KKTTolerance 最大KKT违例的标量公差。可以使用“容忍”中的名称-值对参数fitrsvm
历史

在模型训练过程中,包含以周期间隔记录的收敛信息的结构。该结构包含以下字段:

  • NumIterations—软件记录收敛准则的迭代索引数组。

  • 差距- - - - - -差距值。

  • DeltaGradient- - - - - -DeltaGradient值。

  • LargestKKTViolation- - - - - -LargestKKTViolation值。

  • Num万博1manbetxSupportVectors-支持向量的数量在这些迭万博1manbetx代。

  • 客观的- - - - - -客观的值。

客观的 双目标的数值。

数据类型:结构体

不敏感带宽度的一半,存储为非负标量值。

数据类型:|

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

如果模型对分类变量使用编码,那么ExpandedPredictorNames包括描述扩展变量的名称。否则,ExpandedPredictorNames是一样的PredictorNames

数据类型:细胞

训练数据中的梯度值,存储为包含2的数值向量n元素,n为训练数据中的观测次数。

元素梯度的渐变值α在观测时对应于不敏感带的上边界的系数在优化的最后。

元素我+ NumObservations梯度的渐变值α在观测时对应于不敏感带下界的系数在优化的最后。

数据类型:|

此属性是只读的。

超参数的交叉验证优化,指定为BayesianOptimization对象或包含超参数和关联值的表。该属性是非空的“OptimizeHyperparameters”在创建模型时,名称-值对参数是非空的。的价值HyperparameterOptimizationResults取决于优化器字段HyperparameterOptimizationOptions结构,当您创建模型时。

的价值优化器 的价值HyperparameterOptimizationResults
“bayesopt”(默认) 对象的类BayesianOptimization
“gridsearch”“randomsearch” 使用的超参数表、观察到的目标函数值(交叉验证损失)以及从最低(最佳)到最高(最差)的观察排名

表示观察是否为支持向量的标志,存储为万博1manbetxn1逻辑向量。n观察的次数在吗X(见NumObservations).的值1表示训练数据中对应的观测值为支持向量。万博1manbetx

如果使用RemoveDuplicates,那么对于给定的一组重复观测,这些观测是支持向量,万博1manbetxIs万博1manbetxSupportVector只标记一个作为支持向量。万博1manbetx

数据类型:逻辑

内核函数参数,存储为具有以下字段的结构。

描述
函数 内核函数名(字符向量)。
规模 用于分割预测值的数值尺度因子。

您可以指定的值核参数函数KernelParameters。规模通过使用KernelFunction核尺度中的名称-值对参数fitrsvm,分别。

数据类型:结构体

参数值用于训练SVM回归模型,存储为模型参数对象。访问ModelParameters使用点符号。例如,访问的值ε用来训练模型为Mdl.ModelParameters.Epsilon

预测器表示,存储为数值向量。

如果预测是标准化的,那么μ是长度的数字向量吗p,在那里p为用于训练模型的预测器数量。在这种情况下预测方法中心预测矩阵X减去对应的元素μ从每一列。

如果预测指标没有标准化,那么μ是空的(“[]”).

如果数据包含分类预测,那么μ包括那些预测器的虚拟变量的元素。中相应的条目μ是0,因为虚拟变量没有居中或缩放。

数据类型:|

优化例程达到收敛所需的迭代次数,存储为正整数值。

要设置迭代次数的限制,请使用“IterationLimit”的名称-值对参数fitrsvm

数据类型:|

训练数据中观测值的个数,存储为正整数。

数据类型:|

预测器名称,存储为字符向量的单元格数组,其中包含每个预测器的名称,按它们出现的顺序排列XPredictorNames长度是否等于列数X

数据类型:细胞

训练集中异常值的期望分数,存储为[0,1]范围内的标量值。属性可以指定离群值的预期比例“OutlierFraction”中的名称-值对参数fitrsvm

数据类型:

响应变量名,存储为字符向量。

数据类型:字符

响应转换函数,规定为“没有”或者函数句柄。ResponseTransform描述软件如何转换原始响应值。

对于MATLAB函数或您定义的函数,输入其函数句柄。例如,输入Mdl。ResponseTransform = @函数,在那里函数接受原始响应的数字向量,并返回大小相同的数字向量,其中包含转换后的响应。

数据类型:字符|function_handle

优化期间活动集缩减之间的迭代次数,存储为非负整数值。

属性可以设置收缩周期“ShrinkagePeriod”中的名称-值对参数fitrsvm

数据类型:|

预测标准偏差,存储为数值向量。

如果预测是标准化的,那么σ是长度的数字向量吗p,在那里p为用于训练模型的预测器数量。在这种情况下预测方法对预测器矩阵进行标度X每一列除以对应的元素σ,定心后各元件使用μ

如果预测指标没有标准化,那么σ是空的(“[]”).

如果数据包含分类预测因子,σ包括那些预测器的虚拟变量的元素。中相应的条目σ为1,因为虚拟变量不是居中或缩放的。

数据类型:|

用于解决优化问题的求解算法的名称,作为值存储在该表中。

价值 描述
SMO的 序列最小优化
ISDA的 迭代单数据算法
“L1QP” 通过二次规划L1软边距最小化(需要最优化工具箱™许可证)。

万博1manbetx支持向量,存储为——- - - - - -p数值矩阵。为支持向量的个数(万博1manbetx总和(Mdl.IsS万博1manbetxupportVector)),p预测器的数量在吗X

使用。删除副本RemoveDuplicates,那么对于给定的一组重复观测,这些观测是支持向量,万博1manbetx万博1manbetxSupportVectors包含一个唯一的支持向量。万博1manbetx

数据类型:|

观测权值用于训练模型,存储为包含的数值向量NumObservation元素的数量。fitrsvm将用于训练的权重归一化,使其总和为1。

数据类型:|

用于训练模型的预测值,如果模型在一个矩阵上训练,则存储为一个数值矩阵,如果模型在一个表上训练,则存储为一个表。X有大小n——- - - - - -p,在那里n是行数和吗p为训练数据中预测变量或列的数量。

数据类型:||表格

观察到的响应值,存储为包含NumObservations元素的数量。

数据类型:|

对象的功能

紧凑的 紧凑支持向量机回万博1manbetx归模型
crossval 交叉验证的支持向量机回归模型万博1manbetx
discard万博1manbetxSupportVectors 丢弃的支持向量万博1manbetx
incrementalLearner 将支持向量机回归万博1manbetx模型转换为增量学习器
石灰 局部可解释的模型不可知解释(LIME)
损失 支持向量机回归模型的回归误差万博1manbetx
partialDependence 计算部分依赖
plotPartialDependence 创建部分依赖图(PDP)和个人条件期望图(ICE)
预测 使用支持向量机回归模型预测响应万博1manbetx
resubLoss 支持向量机回归模型的再替换损失万博1manbetx
resubPredict 预测支持向量机回归模型的再替代响应万博1manbetx
的简历 恢复训练支持向量机回归模型万博1manbetx
沙普利 沙普利值

复制语义

价值。要了解值类如何影响复制操作,请参见复制对象

例子

全部折叠

这个例子展示了如何使用存储在矩阵中的样本数据来训练线性支持向量机(SVM)回归模型万博1manbetx。

加载carsmall数据集。

负载carsmallrng默认的%的再现性

指定马力重量为预测变量(X),英里/加仑为响应变量(Y).

X =(功率、重量);Y = MPG;

训练线性支持向量机回归模型。

Mdl = fitrsvm (X, Y)
Mdl = RegressionSVM ResponseName: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' Alpha: [75x1 double] Bias: 57.3958 KernelParameters: [1x1 struct] NumObservations: 93 BoxConstraints: [93x1 struct] ConvergenceInfo: [1x1 struct] Is万博1manbetxSupportVector: [93x1 logical] Solver: 'SMO'属性,方法

命令窗口显示了这一点Mdl是一个培训RegressionSVM模型及其属性列表。

检查模型是否收敛。

Mdl.ConvergenceInfo.Converged
ans =逻辑0

0表示模型不收敛。

MdlStd = fitrsvm (X, Y,“标准化”,真正的)
MdlStd = RegressionSVM ResponseName: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' Alpha: [77x1 double] Bias: 22.9131 KernelParameters: [1x1 struct] Mu: [109.3441 2.9625e+03] Sigma: [45.3545 805.9668] numobservers: 93 BoxConstraints: [93x1 double] ConvergenceInfo: [1x1 struct] IsSup万博1manbetxportVector: [93x1 logical] Solver:SMO的属性,方法

检查模型是否收敛。

MdlStd.ConvergenceInfo.convergented
ans =逻辑1

1表明模型确实收敛。

计算新模型的再替换均方误差。

lStd = resubLoss (MdlStd)
lStd = 17.0256

使用UCI机器学万博1manbetx习库中的鲍鱼数据训练支持向量机回归模型。

下载数据并使用名称将其保存在当前文件夹中“abalone.csv”

url =“https://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data”;websave (“abalone.csv”url);

将数据读入表中。指定变量名。

varnames = {“性”“长度”“直径”“高度”“Whole_weight”...“Shucked_weight”“Viscera_weight”“Shell_weight”“戒指”};台= readtable (“abalone.csv”“文件类型”“文本”“ReadVariableNames”、假);Tbl.Properties.VariableNames = varnames;

样本数据包含4177个观察结果。所有的预测变量都是连续的,除了,这是一个具有可能值的分类变量“我是(男性)“F”(女性)“我”(婴儿)。目标是预测环的数量(存储在),并通过物理测量来确定鲍鱼的年龄。

训练一个支持向量机回归模型,使用高斯核函数与自动核尺度。标准化数据。

rng默认的%的再现性Mdl = fitrsvm(资源描述,“戒指”“KernelFunction”“高斯”“KernelScale”“汽车”...“标准化”,真正的)
Mdl = RegressionSVM PredictorNames:{1×8细胞}ResponseName:“戒指”CategoricalPredictors: 1 ResponseTransform:‘没有’α:(3635×1双)偏见:10.8144 KernelParameters:[1×1 struct]μ:[1×10双]σ:[1×10双]NumObservations: 4177 BoxConstraints:[4177×1双]ConvergenceInfo:[1×1 struct] IsSupportVector:万博1manbetx[4177×1 logical]解算器:'SMO'

命令窗口显示了这一点Mdl是一个培训RegressionSVM建模并显示属性列表。

显示的属性Mdl使用点符号。例如,检查以确认模型是否收敛以及它完成了多少次迭代。

conv = Mdl. convergenceinfo . converiter = Mdl. conv = Mdl. convergenceinfo . converiterNumIterations
Conv =逻辑1 iter = 2759

返回结果表明,模型经过2759次迭代后收敛。

工具书类

纳什、w.j.、t.l.塞勒斯、s.r.塔尔博特、a.j.考索恩和w.b.福特。塔斯马尼亚鲍鱼种群生物学。I.黑唇鲍鱼(h . rubra)从北海岸和巴斯海峡群岛。”海洋渔业司,技术报告第48号,1994年。

[2]沃,S。串级相关的扩展和基准:前馈监督人工神经网络的串级相关体系结构和基准的扩展。塔斯马尼亚大学计算机科学系毕业论文, 1995年。

克拉克,D., Z. Schreter, A. Adams。《Dystal和Backpropagation的定量比较》提交给澳大利亚神经网络会议,1996年。

[4] Lichman, M。UCI机器学习知识库[http://archive.ics.uci.edu/ml]。加州欧文:加州大学信息与计算机科学学院。

扩展功能

介绍了R2015b