主要内容

RegressionSVM类

超类:CompactRegressionSVM

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

描述

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

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

  • 估计再替代预测。详细信息请参见resubPredict

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

  • 计算再置换损失。详细信息请参见resubLoss

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

建设

创建一个RegressionSVM对象,使用fitrsvm

属性

全部展开

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

如果指定使用删除重复项RemoveDuplicates,那么,对于一组特定的重复观测,即支持向量,金宝appα包含一个对应于整个集合的系数。也就是MATLAB®将非零系数属性为一组重复项中的一个观测值,且系数为0集合中所有其他重复的观测值。

数据类型:|

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

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

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

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

数据类型:|

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

数据类型:|

双问题alpha系数的框约束,存储为包含n元素,n观察的数量在吗XMdl。NumObservations).

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

如果指定使用删除重复项“RemoveDuplicates”,然后对于给定的重复观测集,MATLAB对盒约束求和,然后将求和归为一个观测值和的盒约束0集合中所有其他观测值。

数据类型:|

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

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

数据类型:结构体

分类预测指标,指定为正整数向量。CategoricalPredictors包含指示相应预测符是分类的索引值。索引值在1和之间p,在那里p用于训练模型的预测器的数量。如果没有一个预测符是分类的,则此属性为空([]).

数据类型:|

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

描述
聚合 表示算法是否收敛的逻辑标志。值为1表明收敛。
ReasonForConvergence 字符向量表示软件用于检测收敛性的准则。
差距 对偶目标函数与原目标函数之间存在标量可行性差距。
GapTolerance 可行性差距的标量公差。属性设置此容差“GapTolerance”中的名称-值对参数fitrsvm
DeltaGradient 上违规者和下违规者之间的标量梯度差。
DeltaGradientTolerance 梯度差的标量公差。属性设置此容差DeltaGradientTolerance中的名称-值对参数fitrsvm
LargestKKTViolation 最大标量Karush-Kuhn-Tucker违反值。
KKTTolerance 最大KKT违规的标量容差。属性设置此容差“KKTTolerance”中的名称-值对参数fitrsvm
历史

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

  • NumIterations-软件记录收敛准则的迭代指标数组。

  • 差距- - - - - -差距这些迭代中的值。

  • DeltaGradient- - - - - -DeltaGradient这些迭代中的值。

  • LargestKKTViolation- - - - - -LargestKKTViolation这些迭代中的值。

  • Num金宝appSupportVectors-在这些迭代中支持向量的金宝app数量。

  • 客观的- - - - - -客观的这些迭代中的值。

客观的 双重目标的数值。

数据类型:结构体

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

数据类型:|

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

如果模型对分类变量使用编码,则ExpandedPredictorNames包括描述展开变量的名称。否则,ExpandedPredictorNamesPredictorNames

数据类型:细胞

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

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

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

数据类型:|

此属性是只读的。

超参数的交叉验证优化,指定为BayesianOptimization对象或超参数及相关值的表。属性为非空“OptimizeHyperparameters”在创建模型时,名称-值对参数为非空。的价值HyperparameterOptimizationResults的设置优化器HyperparameterOptimizationOptions结构。

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

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

如果指定使用删除重复项RemoveDuplicates,那么对于一个给定的重复观测集合,即支持向量,金宝appIs金宝appSupportVector仅将一个标记为支持向量。金宝app

数据类型:逻辑

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

描述
函数 内核函数名(一个字符向量)。
规模 用于划分预测值的数字比例因子。

可以为指定值KernelParameters。函数而且KernelParameters。规模通过使用KernelFunction而且KernelScale中的名称-值对参数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 将支持向量机(S金宝appVM)回归模型转换为增量学习器
石灰 局部可解释模型不可知解释(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.3800 KernelParameters: [1x1 struct] NumObservations: 93 BoxConstraints: [93x1 double] ConvergenceInfo: [1x1 struct] Is金宝appSupportVector: [93x1 logical] Solver: 'SMO' Properties, Methods

命令窗口显示了这一点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] NumObservations: 93 BoxConstraints: [93x1 double] ConvergenceInfo: [1x1 struct] Is金宝appSupportVector: [93x1 logical] Solver: 'SMO' Properties, Methods

检查模型的收敛性。

MdlStd.ConvergenceInfo.Converged
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”“戒指”};Tbl =可读(“abalone.csv”“文件类型”“文本”“ReadVariableNames”、假);Tbl.Properties.VariableNames = varnames;

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

训练SVM回归模型,使用具有自动核尺度的高斯核函数。标准化数据。

rng默认的%用于再现性Mdl = fitrsvm(Tbl,“戒指”“KernelFunction”“高斯”“KernelScale”“汽车”...“标准化”,真正的)
Mdl = RegressionSVM PredictorNames:{'性别' '长度' '直径' '高度' 'Whole_weight' 'Shucked_weight' ' a_weight' 'Shell_weight'} ResponseName: 'Rings'分类预测:1 ResponseTransform: 'none' Alpha: [3635×1 double]偏差:10.8144 KernelParameters: [1×1 struct] Mu: [0 0 0 0 0.5240 0.4079 0.1395 0.8287 0.3594 0.1806 0.2388] Sigma: [1 1 1 1 0.1201 0.0992 0.0418 0.4904 0.2220 0.1096 0.1392] NumObservations: 4177 BoxConstraints: [4177×1 double] ConvergenceInfo:[1×1 struct] Is金宝appSupportVector: [4177×1 logical] Solver: 'SMO'属性,方法

命令窗口显示了这一点Mdl是受过训练的RegressionSVM建模并显示属性列表。

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

conv = mll . convergenceinfo . converged
conv =逻辑1
iter = Mdl。NumIterations
Iter = 2759

返回的结果表明,该模型在2759次迭代后收敛。

参考文献

[1]纳什,w.j., T. L.塞勒斯,S. R.塔尔博特,A. J.考索恩,W. B.福特。“塔斯马尼亚州鲍鱼(halotis种)的种群生物学。I.黑唇鲍鱼(h . rubra)来自北海岸和巴斯海峡群岛。”海洋渔业司,1994年第48号技术报告。

[2]哇,S。级联相关的扩展和基准测试:前馈监督人工神经网络级联相关架构的扩展和基准测试。塔斯马尼亚大学计算机科学系论文, 1995年。

[3]克拉克,D.施雷特,A.亚当斯。“逆向传播与逆向传播的定量比较”,提交给1996年澳大利亚神经网络会议。

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

扩展功能

版本历史

在R2015b中引入