RegressionSVM类
金宝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。规模
财产。
数据类型:单
|双
偏见
- - - - - -偏见术语
标量值
支持向量机回归模型中的偏置项,存储为标量值。
数据类型:单
|双
BoxConstraints
- - - - - -对偶问题系数的框约束
数值向量
双问题alpha系数的框约束,存储为包含n元素,n观察的数量在吗X
(Mdl。NumObservations
).
对偶系数的绝对值α
为观察我不能超过BoxConstraints(我)
.
如果指定使用删除重复项“RemoveDuplicates”
,然后对于给定的重复观测集,MATLAB对盒约束求和,然后将求和归为一个观测值和的盒约束0
集合中所有其他观测值。
数据类型:单
|双
CacheInfo
- - - - - -缓存信息
结构
缓存信息,存储为具有以下字段的结构。
场 | 描述 |
---|---|
“大小” |
指示软件为存储Gram矩阵条目而预留的缓存大小(单位为MB)的正标量值。属性设置缓存大小“CacheSize” 中的名称-值对参数fitrsvm . |
“算法” |
字符向量,包含当缓存容量超出时用于从缓存中删除条目的算法的名称。目前,唯一可用的缓存算法是“队列” .不能设置缓存算法。 |
数据类型:结构体
CategoricalPredictors
- - - - - -分类预测因子的索引
正整数向量|[]
分类预测指标,指定为正整数向量。CategoricalPredictors
包含指示相应预测符是分类的索引值。索引值在1和之间p
,在那里p
用于训练模型的预测器的数量。如果没有一个预测符是分类的,则此属性为空([]
).
数据类型:单
|双
ConvergenceInfo
- - - - - -融合信息
结构
收敛信息,存储为具有以下字段的结构。
场 | 描述 |
---|---|
聚合 |
表示算法是否收敛的逻辑标志。值为1 表明收敛。 |
ReasonForConvergence |
字符向量表示软件用于检测收敛性的准则。 |
差距 |
对偶目标函数与原目标函数之间存在标量可行性差距。 |
GapTolerance |
可行性差距的标量公差。属性设置此容差“GapTolerance” 中的名称-值对参数fitrsvm . |
DeltaGradient |
上违规者和下违规者之间的标量梯度差。 |
DeltaGradientTolerance |
梯度差的标量公差。属性设置此容差DeltaGradientTolerance 中的名称-值对参数fitrsvm . |
LargestKKTViolation |
最大标量Karush-Kuhn-Tucker违反值。 |
KKTTolerance |
最大KKT违规的标量容差。属性设置此容差“KKTTolerance” 中的名称-值对参数fitrsvm . |
历史 |
结构,包含在模型训练过程中以周期性间隔记录的收敛信息。该结构包含以下字段:
|
客观的 |
双重目标的数值。 |
数据类型:结构体
ε
- - - - - -不敏感带宽度的一半
非负标量值
不敏感带宽度的一半,存储为非负标量值。
数据类型:单
|双
ExpandedPredictorNames
- - - - - -扩展的预测器名称
字符向量的单元格数组
扩展的预测器名称,存储为字符向量的单元格数组。
如果模型对分类变量使用编码,则ExpandedPredictorNames
包括描述展开变量的名称。否则,ExpandedPredictorNames
和PredictorNames
.
数据类型:细胞
梯度
- - - - - -训练数据中的梯度值
数值向量
训练数据中的梯度值,存储为包含2的数值向量n元素,n是训练数据中的观察数。
元素我的梯度
控件的梯度值α
在观测时对应于ε不敏感带的上边界的系数我在优化的最后。
元素i + NumObservations的梯度
控件的梯度值α
在观测时对应于ε不敏感带下界的系数我在优化的最后。
数据类型:单
|双
HyperparameterOptimizationResults
- - - - - -超参数的交叉验证优化
BayesianOptimization
对象|表格
此属性是只读的。
超参数的交叉验证优化,指定为BayesianOptimization
对象或超参数及相关值的表。属性为非空“OptimizeHyperparameters”
在创建模型时,名称-值对参数为非空。的价值HyperparameterOptimizationResults
的设置优化器
在HyperparameterOptimizationOptions
结构。
的价值优化器 场 |
的价值HyperparameterOptimizationResults |
---|---|
“bayesopt” (默认) |
类的对象BayesianOptimization |
“gridsearch” 或“randomsearch” |
使用的超参数表,观察到的目标函数值(交叉验证损失),以及从最低(最好)到最高(最差)的观察值排序 |
Is金宝appSupportVector
- - - - - -标志,表示观测值是否为支持向量金宝app
逻辑向量
标记,指示观测值是否是存储为支持向量的支持向量金宝appn-by-1逻辑向量。n观察的数量在吗X
(见NumObservations
).值为1
表示训练数据中对应的观测值为支持向量。金宝app
如果指定使用删除重复项RemoveDuplicates
,那么对于一个给定的重复观测集合,即支持向量,金宝appIs金宝appSupportVector
仅将一个标记为支持向量。金宝app
数据类型:逻辑
KernelParameters
- - - - - -核函数参数
结构
内核函数参数,存储为具有以下字段的结构。
场 | 描述 |
---|---|
函数 |
内核函数名(一个字符向量)。 |
规模 |
用于划分预测值的数字比例因子。 |
可以为指定值KernelParameters。函数
而且KernelParameters。规模
通过使用KernelFunction
而且KernelScale
中的名称-值对参数fitrsvm
,分别。
数据类型:结构体
ModelParameters
- - - - - -参数值
模型参数对象
用于训练SVM回归模型的参数值,存储为模型参数对象。访问的属性ModelParameters
使用点表示法。例如,访问的值ε
用于训练模型为Mdl.ModelParameters.Epsilon
.
μ
- - - - - -预测方法
数值向量|“[]”
预测器是指存储为数值向量的数据。
如果预测器是标准化的,那么μ
是长度的数字向量吗p,在那里p用于训练模型的预测器的数量。在这种情况下,预测
方法中心预测矩阵X
减去对应的元素μ
从每一列。
如果预测因子不是标准化的,那么μ
为空(“[]”
).
如果数据包含分类预测因子,那么μ
包括那些预测器的虚拟变量的元素。中相应的条目μ
为0,因为虚拟变量没有居中或缩放。
数据类型:单
|双
NumIterations
- - - - - -收敛所需的迭代次数
正整数值
NumObservations
- - - - - -观察次数
正整数值
训练数据中的观察数,存储为正整数值。
数据类型:单
|双
PredictorNames
- - - - - -预测的名字
字符向量的单元格数组
预测器名称,存储为字符向量的单元格数组,其中包含每个预测器的名称,按它们出现的顺序排列X
.PredictorNames
长度是否等于其中的列数X
.
数据类型:细胞
OutlierFraction
- - - - - -异常值的期望比例
范围[0,1]中的标量值
训练集中异常值的期望分数,存储为范围[0,1]中的标量值。属性指定异常值的期望比例“OutlierFraction”
中的名称-值对参数fitrsvm
.
数据类型:双
ResponseName
- - - - - -响应变量名
特征向量
响应变量名,存储为字符向量。
数据类型:字符
ResponseTransform
- - - - - -响应变换函数
“没有”
|函数处理
响应转换函数,指定为“没有”
或者一个函数句柄。ResponseTransform
描述软件如何转换原始响应值。
对于MATLAB函数或您定义的函数,输入其函数句柄。例如,输入Mdl。ResponseTransform = @函数
,在那里函数
接受原始响应的数字向量,并返回包含已转换响应的相同大小的数字向量。
数据类型:字符
|function_handle
ShrinkagePeriod
- - - - - -活动集约简之间的迭代次数
非负整数值
σ
- - - - - -预测标准偏差
数值向量|“[]”
预测器标准偏差,存储为数值向量。
如果预测器是标准化的,那么σ
是长度的数字向量吗p,在那里p用于训练模型的预测器的数量。在这种情况下,预测
方法对预测矩阵进行缩放X
每一列都除以对应的元素σ
,将每个元素居中后使用μ
.
如果预测因子不是标准化的,那么σ
为空(“[]”
).
如果数据包含分类预测因子,σ
包括那些预测器的虚拟变量的元素。中相应的条目σ
为1,因为虚拟变量没有居中或缩放。
数据类型:单
|双
解算器
- - - - - -求解器算法名称
特征向量
用于解决优化问题的求解器算法的名称,存储为此表中的值。
价值 | 描述 |
---|---|
SMO的 |
顺序最小优化 |
ISDA的 |
迭代单数据算法 |
“L1QP” |
通过二次编程最小化L1软裕度(需要优化工具箱™许可证)。 |
金宝appSupportVectors
- - - - - -金宝app支持向量
数值矩阵
金宝app支持向量,存储为米——- - - - - -p数值矩阵。米为支持向量的个数(金宝app总和(Mdl.IsS金宝appupportVector)
),p预测因子的数量在吗X
.
如果指定使用删除重复项RemoveDuplicates
,那么对于一个给定的重复观测集合,即支持向量,金宝app金宝appSupportVectors
包含一个唯一的支持向量。金宝app
数据类型:单
|双
W
- - - - - -观察权重
数值向量
用于训练模型的观测权重,存储为包含NumObservation
元素的数量。fitrsvm
规范化用于训练的权重,使它们的和为1。
数据类型:单
|双
X
- - - - - -预测的值
数值矩阵|数值表
用于训练模型的预测值,如果模型在矩阵上训练,则存储为数值矩阵,如果模型在表上训练,则存储为表。X
有大小n——- - - - - -p,在那里n行数是和吗p是训练数据中预测变量或列的数量。
数据类型:单
|双
|表格
Y
- - - - - -观察到的响应值
数值向量
观察到的响应值,存储为包含NumObservations
元素的数量。
数据类型:单
|双
对象的功能
紧凑的 |
紧凑的支持向量机金宝app回归模型 |
crossval |
交叉验证的支持向量机回归模型金宝app |
discard金宝appSupportVectors |
丢弃支持向量金宝app |
incrementalLearner |
将支持向量机(S金宝appVM)回归模型转换为增量学习器 |
石灰 |
局部可解释模型不可知解释(LIME) |
损失 |
支持向量机回归模型的回归误差金宝app |
partialDependence |
计算部分依赖关系 |
plotPartialDependence |
创建部分依赖图(PDP)和个别条件期望图(ICE) |
预测 |
使用支持向量机回归模型预测反应金宝app |
resubLoss |
支持向量机回归模型的再替换损失金宝app |
resubPredict |
预测支持向量机回归模型的再替代响应金宝app |
重新开始 |
简历训练支持向量机回归模型金宝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
训练支持向量金宝app机回归模型
使用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]。加州欧文市:加州大学信息与计算机科学学院。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
将SVM回归模型的预测集成到Simulink中金宝app®,你可以使用RegressionSVM预测的统计和机器学习工具箱™库中的函数块或MATLAB函数块
预测
函数。当你训练SVM回归模型时使用
fitrsvm
,则适用以下限制。的值
“ResponseTransform”
名称-值对参数必须为“没有”
(默认)。对于定点代码生成,的值
“KernelFunction”
名称-值对参数必须为“高斯”
,“线性”
,或多项式的
.定点代码生成和使用编码器配置器的代码生成不支持分类预测器(金宝app
逻辑
,分类
,字符
,字符串
,或细胞
).您不能使用“CategoricalPredictors”
名称-值参数。若要在模型中包含分类预测器,请使用dummyvar
在拟合模型之前。
有关更多信息,请参见代码生成简介.
版本历史
在R2015b中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。