主要内容

RegressionLinear类

高维数据的线性回归模型

描述

RegressionLinear是经过训练的回归线性模型对象;线性模型是支持向量机回归(SVM)或线性回归金宝app模型。菲特利恩符合一个RegressionLinear通过使用减少高维数据集计算时间的技术(例如,随机梯度下降)最小化目标函数来建模。回归损失加上正则化项构成目标函数。

与其他回归模型不同,为了节省内存使用,RegressionLinear模型对象不存储训练数据。然而,它们确实存储,例如,估计的线性模型系数、估计的系数和正则化强度。

你可以使用训练有素的RegressionLinear预测新数据响应的模型。有关详细信息,请参见预测.

建设

创建一个RegressionLinear对象的使用菲特利恩.

属性

全部展开

线性回归的属性

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

如果学习者不是“支持向量机”那么ε为空数组([]).

数据类型:|

正则项强度,指定为非负标量或非负值向量。

数据类型:|

线性回归模型类型,指定为“租赁广场”“支持向量机”.

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

  • β是一个向量p系数。

  • x这是来自p预测变量。

  • b是标量偏差。

价值 算法 损失函数 适应损失价值
“租赁广场” 通过普通最小二乘的线性回归 均方误差(MSE): [ y , f ( x ) ] = 1 2 [ y f ( x ) ] 2 mse的
“支持向量机” 金宝app支持向量机回归 ε不敏感: [ y , f ( x ) ] = 最大值 [ 0 , | y f ( x ) | ε ] ‘ε敏感’

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

数据类型:

估计偏差项或模型截距,指定为数值标量。

数据类型:

用于拟合模型的损失函数,指定为‘ε敏感’mse的.

价值 算法 损失函数 学习者价值
‘ε敏感’ 金宝app支持向量机回归 ε不敏感: [ y , f ( x ) ] = 最大值 [ 0 , | y f ( x ) | ε ] “支持向量机”
mse的 通过普通最小二乘的线性回归 均方误差(MSE): [ y , f ( x ) ] = 1 2 [ y f ( x ) ] 2 “租赁广场”

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

该软件由平均损失函数的总和组成最小化目标函数(见适应损失)以及此表中的正则化值。

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

λ指定正则化项强度(参见兰姆达).

软件排除了偏差项(β0)从正规化处罚。

其他回归性质

分类预测指标,指定为一个正整数向量。假设预测数据包含成行的观测数据,CategoricalPredictors包含与包含分类预测器的预测器数据列对应的索引值。如果没有任何预测器是绝对的,则此属性为空([]).

数据类型:|

用于培训的参数RegressionLinear模型,指定为结构。

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

数据类型:结构

预测器名称按其在预测器数据中的出现顺序排列,指定为字符向量的单元格数组。的长度PredictorNames等于训练数据中变量的个数X资源描述用作预测变量。

数据类型:细胞

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

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

数据类型:细胞

响应变量名,指定为字符向量。

数据类型:字符

响应转换函数,指定为“没有”或者函数句柄。ResponseTransform描述软件如何转换原始响应值。

对于MATLAB®函数或您定义的函数,输入其函数句柄。例如,输入Mdl。ResponseTransform = @函数,在那里函数接受原始响应的数字向量,并返回大小相同的数字向量,其中包含转换后的响应。

数据类型:字符|功能手柄

目标函数

incrementalLearner 将线性回归模型转换为增量学习器
损失 线性回归模型的回归损失
部分依赖 计算部分依赖
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 × 1000稀疏矩阵,含有10%的非零标准正规元素。

  • e为随机正态误差,均值为0,标准差为0.3。

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

训练线性回归模型。默认情况下,菲特利恩使用带岭惩金宝app罚的支持向量机,并使用双SGD对SVM进行优化。通过提取拟合摘要确定优化算法使模型与数据拟合的程度。

[Mdl, FitInfo] = fitrlinear (X, Y)
Mdl=RegressionLinear ResponseName:'Y'ResponseTransform:'none'Beta:[1000x1 double]偏差:-0.0056 Lambda:1.0000e-04学习者:“svm”属性、方法
FitInfo =带字段的结构:Lambda: 1.0000e-04 Objective: 0.2725 PassLimit: 10 NumPasses: 10 BatchLimit: [] NumIterations: 100000 GradientNorm: NaN GradientTolerance: 0 RelativeChangeInBeta: 0.4907 BetaTolerance: 1.0000e-04 DeltaGradient: 1.5816 DeltaGradientTolerance: 0.1000 TerminationCode: 0 TerminationStatus:{'迭代限制超过。Alpha: [10000x1 double] History: [] FitTime: 0.0679 Solver: {'dual'}

Mdl是一个RegressionLinear模特,你可以通过Mdl和培训或新数据损失检验样本内均方误差。或者,你可以不去Mdl和新的预测数据预测来预测对新观测的反应。

FitInfo是一个结构数组,其中包含终止状态(TerminationStatus)以及求解器将模型与数据拟合所需的时间(FitTime).这是很好的实践FitInfo确定优化终止测量是否令人满意。在这种情况下,,菲特利恩已达到最大迭代次数。由于训练时间很快,您可以重新训练模型,但可以增加通过数据的次数。或者,尝试其他解算器,例如LBFGS。

从这个模型中模拟10000次观测

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

  • X = { x 1 , . . . , x 1 0 0 0 } 是一个10000 × 1000稀疏矩阵,含有10%的非零标准正规元素。

  • e为随机正态误差,均值为0,标准差为0.3。

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

拿出5%的数据。

rng (1);%的再现性cvp=cvp(n,“坚持”, 0.05)
cvp = hold out cross validation partition nummobations: 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

持度样本的MSE为0.1852。

扩展功能

R2016a中引入