RegressionSVM类

超:CompactRegressionSVM

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

描述

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

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

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

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

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

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

建设

创建一个RegressionSVM对象的使用fitrsvm

属性

全部展开

偶问题的系数,指定为数字值的向量。α包含元素,在训练的SVM回归模型的支持向量的万博1manbetx数量。对偶问题引入了对每个支撑向量2倍拉格朗日乘数。万博1manbetx值α为支持向量的两个估计拉格朗日乘数之间的差异。万博1manbetx有关更多细节,请参见理解支持向量机回归万博1manbetx

如果你指定要删除重复使用RemoveDuplicates,对于支持向量的一组特定的重复观测,万博1manbetxα包含一个对应于整个集合的系数,即MATLAB®从该组重复的和系数的属性一个非零系数,以一个观测0到集合中所有其他重复的观测值。

数据类型:|

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

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

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

预测方法计算预测的响应值的模型作为YFIT = (X/S)×+偏差,在那里小号内核尺度的值是否存储在KernelParameters.Scale属性。

数据类型:|

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

数据类型:|

框约束偶问题的α系数,存储为包含数字矢量ñ元素,ñ是观测的数量XMdl.NumObservations)。

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

如果指定使用'RemoveDuplicates',然后对给定的一组重复观测值,用MATLAB对box约束条件求和,然后将求和条件归结为一个观测值和的box约束条件0所有其他的观测值。

数据类型:|

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

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

数据类型:结构

分类预测指标,指定为正整数的向量。CategoricalPredictors包含对应于包含分类预测所述预测数据的列的索引值。如果没有预测的是分类的,则此属性是空的([])。

数据类型:|

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

领域 描述
聚合 逻辑标志,指示算法是否收敛。的价值1表明收敛。
ReasonForConvergence 特征向量表示准则,软件用来检测收敛性。
差距 双重和原始目标函数之间的标量可行性间隙。
GapTolerance 可操作性缺口的标量容限。您可以使用此设置公差'GapTolerance'中的名-值对参数fitrsvm
DeltaGradient 上、下违反者之间的标量梯度差。
DeltaGradientTolerance 标容忍的梯度差。您可以使用此设置公差DeltaGradientTolerance中的名-值对参数fitrsvm
LargestKKTViolation 最大标量Karush-Kuhn-Tucker (KKT)违逆值。
KKTTolerance 对最大的KKT违规的标量容忍度。您可以使用此设置公差“KKTTolerance”中的名-值对参数fitrsvm
历史

结构包含在模型训练过程中每隔一段时间记录收敛信息。该结构包含以下字段:

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

  • 差距-差距在这些迭代值。

  • DeltaGradient-DeltaGradient在这些迭代值。

  • LargestKKTViolation-LargestKKTViolation在这些迭代值。

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

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

客观的 数值对偶目标。

数据类型:结构

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

数据类型:|

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

如果编码分类变量,那么该模型的用途ExpandedPredictorNames包括描述展开变量的名称。否则,ExpandedPredictorNames是相同的PredictorNames

数据类型:细胞

在训练数据梯度值,存储为含有2数字矢量ñ元素,ñ为训练数据中观察到的个数。

元素一世梯度的梯度值α在观测时对应于不灵敏带的上边界的系数一世在优化结束。

元素我+ NumObservations梯度的梯度值α对应于观测时不灵敏带的下边界的系数一世在优化结束。

数据类型:|

超参数的交叉验证优化描述,指定为BayesianOptimization对象或超参数和相关联的值的表。这个属性不为空,如果'OptimizeHyperparameters'当你创建模型名称 - 值对的说法是空的。的价值HyperparameterOptimizationResults取决于。的设置优化字段HyperparameterOptimizationOptions创建模型时的结构,如表中所述。

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

标志指示是否一个观察是一个支持向量,存储为万博1manbetxñ1逻辑向量。ñ是观测的数量X(见NumObservations)。的价值1表明,在训练数据中的对应的观察是一个支持向量。万博1manbetx

如果指定使用RemoveDuplicates,然后给定一组重复的意见,即是支持向量,万博1manbetxIs万博1manbetxSupportVector只将一个标记为支持向量。万博1manbetx

数据类型:合乎逻辑

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

领域 描述
功能 核函数名(字符向量)。
规模 用来划分预测值的数字比例因子。

您可以为指定的值KernelParameters.FunctionKernelParameters.Scale通过使用KernelFunctionKernelScale名称 - 值对的参数中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有大小ñ——- - - - - -p,在那里ñ是行数和p是预测变量或列的训练数据的数量。

数据类型:||

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

数据类型:|

方法

紧凑的 紧凑支持向量机回万博1manbetx归模型
crossval 交叉验证支持向量机回归模型万博1manbetx
resubLoss 支持向量机回归模型Resubstitution损万博1manbetx失
resubPredict 预测支持向量机回归模型的替代反应万博1manbetx
恢复 恢复训练支持向量机回归模型万博1manbetx

继承的方法

discard万博1manbetxSupportVectors 丢弃的支持向量万博1manbetx
损失 支持向量机回归模型回归错误万博1manbetx
预测 使用支持向量机回归模型预测响应万博1manbetx

复制语义

值。要了解值类如何影响复制操作,请参阅复制对象(MATLAB)。

例子

全部收缩

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

加载carsmall数据集。

加载carsmallRNG默认的%,持续重现

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

X = [马力,重量];Y = MPG;

训练线性SVM回归模型。

Mdl = fitrsvm (X, Y)
MDL = RegressionSVM ResponseName: 'Y' CategoricalPredictors:[] ResponseTransform: '无' 阿尔法:[76x1双]偏压:43.1920 KernelParameters:[1x1的结构] NumObservations:93个BoxConstraints:[93x1双] ConvergenceInfo:[1x1的结构] IsSupportVector:万博1manbetx93x1逻辑]求解: 'SMO' 的属性,方法

在命令窗口中显示,MDL是一个培训RegressionSVM模型及其属性列表。

检查模型是否收敛。

Mdl.ConvergenceInfo.Converged
ANS =合乎逻辑0

0表示模型不收敛。

MdlStd = fitrsvm(X,Y,“标准化”,真正的)
MdlStd = RegressionSVM ResponseName:‘Y’CategoricalPredictors: [] ResponseTransform:‘没有’α:[77 x1双]偏见:22.9131 KernelParameters: [1 x1 struct]μ:[109.3441 - 2.9625 e + 03]σ:[45.3545 - 805.9668]NumObservations: 93 BoxConstraints: x1双[93]ConvergenceInfo: [1 x1 struct] IsSupportVector: x1逻辑[93]解算器:S万博1manbetxMO的属性,方法

检查模型是否收敛。

MdlStd.ConvergenceInfo.Converged
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”(女性)“我”(婴幼儿)。我们的目标是预测(环的数量存储在戒指),并利用物理测量方法确定鲍鱼的年龄。

训练SVM回归模型,使用高斯核函数与自动内核的规模。标准化的数据。

RNG默认的%的再现性Mdl = fitrsvm(资源描述,“戒指”'KernelFunction'“高斯”“KernelScale”'汽车'“标准化”,真正的)
MDL = RegressionSVM PredictorNames:{1×8细胞} ResponseName: '环' CategoricalPredictors:1个ResponseTransform: '无' 阿尔法:[3635×1双]偏压:10.8144 KernelParameters:[1×1结构]穆:[1×10双]西格玛:[1×10双] NumObservations:4177个BoxConstraints:[4177×1双] ConvergenceInfo:[1×1结构] IsSupportVector:[4177×1逻辑]万博1manbetx求解: 'SMO'

在命令窗口中显示,MDL是一个培训RegressionSVM建模并显示属性列表。

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

CONV = Mdl.ConvergenceInfo.Converged ITER = Mdl.NumIterations
CONV =逻辑1名ITER = 2759

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

参考文献

[1]纳什,w.j., t.l.塞勒斯,s.r.塔尔伯特,a.j.考索恩和w.b.福特。鲍鱼(鲍种)在塔斯马尼亚的种群生物学。一,黑蝶鲍鱼(H.杨梅)从北部海岸和巴斯海峡群岛海洋水产部,技术报告第48号,1994年。

[2]沃,S。扩展和对级联相关性进行基准测试,博士论文,计算机科学系,塔斯马尼亚大学,1995年。

[3] Clark, D., Z. Schreter, A. Adams。Dystal和反向传播的量化比较,提交给神经网络,1996年澳大利亚的会议。

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

扩展功能

介绍了R2015b