主要内容

RegressionLinear类

高维数据的线性回归模型

描述

RegressionLinear是一个训练有素的线性回归模型对象;线性模型是一个支持向量机回归(SVM)或线性万博1manbetx回归模型。fitrlinear符合一个RegressionLinear模型通过最小化目标函数的使用技术,减少计算时间为高维数据集(例如,随机梯度下降法)。回归损失+目标函数的正则化项组成。

不像其他的回归模型,对经济的内存使用情况,RegressionLinear模型对象不存储训练数据。然而,他们做的商店,例如,估计线性模型系数,估计系数,正规化的力量。

您可以使用训练RegressionLinear为新数据模型预测的反应。有关详细信息,请参见预测

建设

创建一个RegressionLinear对象的使用fitrlinear

属性

全部展开

线性回归的属性

ε不敏感频带的宽度的一半,指定为负的标量。

如果学习者不是“支持向量机”,然后ε是一个空数组([])。

数据类型:|

正则化项,指定为负的标量或矢量非负价值。

数据类型:|

线性回归模型类型,指定为“leastsquares”“支持向量机”

在这个表中, f ( x ) = x β + b

  • β是一个向量的p系数。

  • x是一个观察从p预测变量。

  • b是标量的偏见。

价值 算法 损失函数 FittedLoss价值
“支持向量机” 万博1manbetx支持向量机回归 ε不敏感: ( y , f ( x ) ] = 马克斯 ( 0 , | y f ( x ) | ε ] “epsiloninsensitive”
“leastsquares” 通过普通的最小二乘线性回归 均方误差(MSE): ( y , f ( x ) ] = 1 2 ( y f ( x ) ] 2 mse的

线性系数的估计,指定为一个数值向量长度等于预测的数量。

数据类型:

估计偏差或拦截模型,指定为数字标量。

数据类型:

损失函数用来适应模型,指定为“epsiloninsensitive”mse的

价值 算法 损失函数 学习者价值
“epsiloninsensitive” 万博1manbetx支持向量机回归 ε不敏感: ( y , f ( x ) ] = 马克斯 ( 0 , | y f ( x ) | ε ] “支持向量机”
mse的 通过普通的最小二乘线性回归 均方误差(MSE): ( y , f ( x ) ] = 1 2 ( y f ( x ) ] 2 “leastsquares”

复杂性处罚类型,指定为“套索(L1)”“岭(L2)”

软件组成的目标函数最小化的平均损失函数(见的总和FittedLoss从这个表)和正则化的价值。

价值 描述
“套索(L1)” 套索(l1)罚款: λ j = 1 p | β j |
“岭(L2)” 脊(l2)罚款: λ 2 j = 1 p β j 2

λ指定了正则化项强度(见λ)。

软件不包括偏差项(β0从正则化处罚)。

其他回归属性

分类预测指标,指定为一个向量的正整数。CategoricalPredictors包含索引值表明相应的预测分类。索引值介于1和p,在那里p预测的数量被用来训练模型。如果所有的预测都直言,那么这个属性是空的([])。

数据类型:|

参数用于训练RegressionLinear模型,指定为一个结构。

访问字段ModelParameters使用点符号。例如,访问线性系数的相对公差和偏差项使用Mdl.ModelParameters.BetaTolerance

数据类型:结构体

预测出他们名字的顺序出现在预测数据,指定为一个单元阵列的特征向量。的长度PredictorNames等于在训练数据变量的数量X资源描述作为预测变量。

数据类型:细胞

扩展预测名称,指定为一个单元阵列的特征向量。

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

数据类型:细胞

响应变量名称,指定为一个特征向量。

数据类型:字符

响应变换函数,指定为“没有”或一个函数处理。ResponseTransform描述了软件转换原始响应值。

对于一个MATLAB®函数或你定义一个函数,输入它的功能处理。例如,您可以输入Mdl。ResponseTransform = @函数,在那里函数接受一个数字矢量的原始响应并返回一个同样大小的数值向量包含转换后的反应。

数据类型:字符|function_handle

对象的功能

incrementalLearner 线性回归模型转换为增量学习
石灰 本地可model-agnostic解释(石灰)
损失 回归线性回归模型的损失
partialDependence 计算部分依赖
plotPartialDependence 创建部分依赖图(PDP)和个人条件期望(ICE)情节
预测 线性回归模型的预测反应
selectModels 选择安装正规化的线性回归模型
沙普利 沙普利值
更新 更新模型参数代码生成

复制语义

价值。学习如何价值类影响复制操作,明白了复制对象

例子

全部折叠

使用支持向量机训练线性回归模型,双SGD,脊正规化。

从这个模型模拟10000年观测

y = x 1 0 0 + 2 x 2 0 0 + e

  • X = x 1 , , x 1 0 0 0 是一个10000 - 10% - 1000稀疏矩阵非零标准正态元素。

  • e是随机的正常误差均值为0和标准偏差0.3。

rng (1)%的再现性n = 1 e4;d = 1 e3;新西兰= 0.1;X = sprandn (n, d,新西兰);Y = X (:, 100) + 2 * (:, 200) + 0.3 * randn (n, 1);

火车一个线性回归模型。默认情况下,fitrlinear使用支持向万博1manbetx量机与一个脊点球,优化使用双重SGD SVM。了解数据的优化算法适应模型提取总结。

[Mdl, FitInfo] = fitrlinear (X, Y)
Mdl = RegressionLinear ResponseName:‘Y’ResponseTransform:“没有一个”测试:[1000 x1双]偏见:-0.0056λ:1.0000 e-04学习者:“支持向量机”属性,方法
FitInfo =结构体字段:λ:1.0000 e-04目的:0.2725 PassLimit: 10 NumPasses: 10 BatchLimit: [] NumIterations: 100000 GradientNorm:南GradientTolerance: 0 RelativeChangeInBeta: 0.4907 BetaTolerance: 1.0000 e-04 DeltaGradient: 1.5816 DeltaGradientTolerance: 0.1000 TerminationCode: 0 TerminationStatus:{“迭代超过限制。'}α(10000 x1双):历史:[]FitTime: 0.0331解决:{“双重”}

Mdl是一个RegressionLinear模型。你可以通过Mdl和培训或新数据损失检查样本均方误差。或者,你也可以通过Mdl和新的预测数据预测预测反应的新观察。

FitInfo是一个结构数组包含,除此之外,终止状态(TerminationStatus)和多长时间解决了适合模型的数据(FitTime)。是一种很好的做法FitInfo确定optimization-termination测量是否令人满意。在这种情况下,fitrlinear达到最大迭代次数。因为培训时间是快,你可以重新训练模型,但是通过数据的增加。或者尝试一下另一个解算器,如LBFGS。

从这个模型模拟10000年观测

y = x 1 0 0 + 2 x 2 0 0 + e

  • X = { x 1 , , x 1 0 0 0 } 是一个10000 - 10% - 1000稀疏矩阵非零标准正态元素。

  • e是随机的正常误差均值为0和标准偏差0.3。

rng (1)%的再现性n = 1 e4;d = 1 e3;新西兰= 0.1;X = sprandn (n, d,新西兰);Y = X (:, 100) + 2 * (:, 200) + 0.3 * randn (n, 1);

坚持5%的数据。

rng (1);%的再现性本量利= cvpartition (n,“坚持”,0.05)
本量利=抵抗交叉验证分区NumObservations: 10000 NumTestSets: 1 TrainSize: 9500 TestSize: 500

本量利是一个CVPartition对象定义了随机分区n数据分为训练集和测试集。

使用训练集训练线性回归模型。为更快的训练时间,东方的预测数据矩阵,以便观察列。

idxTrain =培训(cvp);%提取训练集指标X = X ';Mdl = fitrlinear (X (:, idxTrain), Y (idxTrain),“ObservationsIn”,“列”);

观察和预测均方误差(MSE)坚持样品。

idxTest =测试(cvp);%提取测试集指标yHat =预测(Mdl X (:, idxTest),“ObservationsIn”,“列”);L =损失(Mdl X (:, idxTest), Y (idxTest),“ObservationsIn”,“列”)
L = 0.1851

尚未签署的样本均方误差是0.1852。

扩展功能

版本历史

介绍了R2016a