主要内容

RegressionSVM类

超类:CompactRegressionSVM

金宝app支持向量机回归模型

描述

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

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

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

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

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

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

建设

创建一个RegressionSVM对象的使用fitrsvm

属性

全部展开

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

使用。删除副本RemoveDuplicates,那么,对于支持向量的特定重复观测集,金宝appα包含一个系数对应于整个集合。也就是说,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金宝appSupportVectors-支持向量的数量在这些迭金宝app代。

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

客观的 双目标的数值。

数据类型:结构体

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

数据类型:|

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

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

数据类型:细胞

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

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

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

数据类型:|

此属性是只读的。

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

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

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

如果使用RemoveDuplicates,那么对于给定的一组重复观测,这些观测是支持向量,金宝appIs金宝appSupportVector只标记一个作为支持向量。金宝app

数据类型:逻辑

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

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

您可以指定的值核参数函数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软边距最小化(需要最优化工具箱™许可证)。

金宝app支持向量,存储为——- - - - - -p数值矩阵。为支持向量的个数(金宝app总和(Mdl.IsS金宝appupportVector)),p预测器的数量在吗X

使用。删除副本RemoveDuplicates,那么对于给定的一组重复观测,这些观测是支持向量,金宝app金宝appSupportVectors包含一个唯一的支持向量。金宝app

数据类型:|

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

数据类型:|

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

数据类型:||表格

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

数据类型:|

对象的功能

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

复制语义

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

例子

全部折叠

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

加载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金宝appSupportVector: [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金宝appportVector: [93x1 logical] Solver:SMO的属性,方法

检查模型是否收敛。

MdlStd.ConvergenceInfo.convergented
ans =逻辑1

1表明模型确实收敛。

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

lStd = resubLoss (MdlStd)
lStd = 17.0256

使用UCI机器学金宝app习库中的鲍鱼数据训练支持向量机回归模型。

下载数据并使用名称将其保存在当前文件夹中“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:金宝app[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