文档

RegressionLinear类

高维数据的线性回归模型

描述

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

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

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

建设

Mdl= fitrlinear (XY返回经过训练的线性回归模型对象,其中包含将支持向量机回归模型拟合到预测器数据的结果金宝appX和响应数据Y

Mdl= fitrlinear (___名称,值返回经过训练的线性回归模型,其中包含一个或多个指定的附加选项名称,值对参数,使用前面的任何语法。例如,您可以指定实现逻辑回归、指定交叉验证或指定正则化的类型。

如果指定以下四个选项之一,则Mdl是一个RegressionPartitionedLinear模型:“CrossVal”“CVPartition”“坚持”,或“KFold”

输入参数

全部展开

预测器数据,指定为n——- - - - - -p全矩阵或稀疏矩阵。

的长度Y观察的次数X必须是相等的。

    注意:如果你定位你的预测矩阵,使观察结果与列相对应,并指定“ObservationsIn”、“列”,那么优化执行时间可能会显著减少。

响应数据,指定为n-维数值向量。的长度Y观察的次数X必须是相等的。

数据类型:|

详情请参见fitrlinear

属性

全部展开

线性回归性质

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

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

数据类型:|

正则化术语强度,指定为非负标量或非负值的向量。

数据类型:字符||

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

在这个表格中, f x β x + b

  • β的向量p系数。

  • x是来自p预测变量。

  • b是标量偏置。

价值 算法 损失函数 FittedLoss价值
“leastsquares” 用普通最小二乘进行线性回归 均方误差(MSE): y f x 1 2 y f x 2 mse的
“支持向量机” 金宝app支持向量机回归 Epsilon-insensitive: y f x 马克斯 0 | y f x | ε “epsiloninsensitive”

数据类型:字符

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

数据类型:

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

用于拟合模型的损失函数,指定为“epsiloninsensitive”mse的

价值 算法 损失函数 学习者价值
“epsiloninsensitive” 金宝app支持向量机回归 Epsilon-insensitive: y f x 马克斯 0 | y f x | ε “支持向量机”
mse的 用普通最小二乘进行线性回归 均方误差(MSE): y f x 1 2 y f x 2 “leastsquares”

复杂度惩罚类型,指定为“套索”“岭”

该软件从平均损失函数的和组成最小化的目标函数(见FittedLoss)和该表中的正则化项。

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

λ指定正则化术语强度(请参阅λ).

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

数据类型:字符

其他回归属性

预测器名称的出现顺序X,指定为字符向量的单元格数组。PredictorNames长度是否等于其中的列数X

数据类型:细胞

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

因为线性分类和回归模型不支持分类预测因子,金宝appExpandedPredictorNamesPredictorNames是相等的。

数据类型:细胞

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

数据类型:字符

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

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

数据类型:字符|function_handle

方法

损失 线性回归模型的回归损失
预测 预测线性回归模型的响应
selectModels 选择拟合的正则化线性回归模型

复制语义

价值。要了解值类如何影响复制操作,请参见复制对象(MATLAB)中的MATLAB文档。

例子

全部展开

使用SVM、双SGD和山脊正则化训练线性回归模型。

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

$$y = x_{100} + 2x_{200} + e.$$

  • $X = {x_1,…,x_{1000}}$是一个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);

训练一个线性回归模型。默认情况下,fitrlinear采用带山脊金宝app惩罚的支持向量机,并使用双SGD优化支持向量机。通过提取拟合摘要来确定优化算法对模型与数据的拟合程度。

[Mdl,FitInfo] = fitrlinear(X,Y)
Mdl = RegressionLinear ResponseName: 'Y' ResponseTransform: 'none' Beta: [1000×1 double]偏差:-0.0056 Lambda: 1.0000 -04学习者:'svm' FitInfo = struct with fields: Lambda: 1.0000 -04目标:0.2726 PassLimit: 10 NumPasses: 10 BatchLimit: [] NumIterations: 100000 GradientNorm: NaN GradientTolerance: 0 RelativeChangeInBeta: 0.4908 BetaTolerance: 1.0000 -04 DeltaGradient: 1.5818 DeltaGradientTolerance: 0.1000 TerminationCode: 0 TerminationStatus: 0{'已达到最大迭代次数。'} Alpha: [10000×1 double]历史记录:[]FitTime: 0.0879求解器:{'dual'}

Mdl是一个RegressionLinear模型。你可以通过Mdl而训练或新的数据损失检验样本内均方误差。或者,你可以通过Mdl新的预测数据预测预测对新观测结果的反应。

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

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

$$y = x_{100} + 2x_{200} + e.$$

  • $X = \{x_1,…,x_{1000}\}$是一个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 = cvpartition(n,“坚持”, 0.05)
ans =保留交叉验证分区NumObservations: 10000 NumTestSets: 1 TrainSize: 9500 TestSize: 500

本量利是一个CVPartition对象的随机分区n数据进入训练集和测试集。

使用训练集训练线性回归模型。为了更快的训练时间,定向预测器数据矩阵,使观察结果列。

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

预测样本的观测值和均方误差(MSE)。

idxTest = test(cvp);提取测试集索引yHat = predict(Mdl,X(:,idxTest),“ObservationsIn”“列”);L = loss(Mdl,X(:,idxTest),Y(idxTest),“ObservationsIn”“列”
L = 0.1852

保留样本MSE为0.1852。

在R2016a中引入

这个话题有用吗?