RegressionKernel

使用随机功能扩展高斯核回归模型

描述

RegressionKernel对于使用随机功能扩展高斯核回归训练模型对象。RegressionKernel对于具有大的训练集,但也可以应用于装入内存较小的数据集大数据的应用程序更加实用。

不像其他的回归模型,并为经济的内存使用情况,RegressionKernel模型对象不存储训练数据。但是,它们确实存储了扩展空间的维数、核尺度参数和正则化强度等信息。

您可以使用受训RegressionKernel车型继续使用训练数据训练,预测响应新的数据,并计算均方误差或ε不敏感损失。有关详细信息,请参阅恢复预测,失利

创建

创建一个RegressionKernel对象使用fitrkernel功能。该功能在低维空间成高维空间映射数据,则通过最小化正则化目标函数配合在高维空间中的线性模型。获得在高维空间中的线性模型相当于将所述高斯核在低维空间中的模型。可用的线性回归模型包括正则化的支持向量机(SVM)和最小二乘回归模型。万博1manbetx

属性

展开全部

核回归属性

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

如果学习者不是'SVM', 然后ε为空数组([])。

数据类型:|

线性回归模型类型,指定为“最小二乘法”要么'SVM'

在下表中, F X = Ť X β + b

  • X是从观察(行矢量)p预测变量。

  • Ť · 是一个观测(行矢量)的用于特征扩展的变换。ŤX地图X p 到一个高维空间( )。

  • β是向量系数。

  • b是标量偏差。

价值 算法 损失函数 FittedLoss价值
“最小二乘法” 普通最小二乘线性回归 均方误差(MSE): [ ÿ F X ] = 1 2 [ ÿ - F X ] 2 'MSE'
'SVM' 万博1manbetx支持向量机回归 小量不敏感: [ ÿ F X ] = 马克斯 [ 0 | ÿ - F X | - ε ] “epsiloninsensitive”

扩展空间的维数,指定为正整数。

数据类型:|

核心尺度参数,指定为正标量。

数据类型:|

框约束,指定为正标量。

数据类型:|

正则长期强度,指定为非标。

数据类型:|

损失函数用于拟合线性模型,指定为“epsiloninsensitive”要么'MSE'

价值 算法 损失函数 学习者价值
“epsiloninsensitive” 万博1manbetx支持向量机回归 小量不敏感: [ ÿ F X ] = 马克斯 [ 0 | ÿ - F X | - ε ] 'SVM'
'MSE' 普通最小二乘线性回归 均方误差(MSE): [ ÿ F X ] = 1 2 [ ÿ - F X ] 2 “最小二乘法”

复杂性惩罚类型,指定为“套索(L1)”要么'脊(L2)'

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

价值 描述
“套索(L1)” 套索(大号1)罚款: λ Σ Ĵ = 1 p | β Ĵ |
'脊(L2)' 脊(大号2)罚款: λ 2 Σ Ĵ = 1 p β Ĵ 2

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

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

其他回归属性

分类预测的指标,其值始终为空([]),因为RegressionKernel模型不支持分类预测。万博1manbetx

用于训练参数RegressionKernel建模,指定为结构。

访问字段ModelParameters使用点符号。例如,通过使用方法获取线性系数和偏差项的相对容差Mdl.ModelParameters.BetaTolerance

数据类型:结构体

在他们出现的顺序预测名称的预测数据X,指定为字符向量的单元阵列。长度PredictorNames等于列的数量X

数据类型:细胞

扩展预测器名,指定为字符向量的单元阵列。

由于RegressionKernel模型不支持分类预测,万博1manbetxExpandedPredictorNamesPredictorNames是相等的。

数据类型:细胞

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

数据类型:烧焦

响应转换功能,以适用于预计响应,指定为“没有”或功能句柄。

对于核回归模型和响应变革,对于观察预测的响应之前X(行矢量)是 F X = Ť X β + b

  • Ť · 是对功能扩展的观察的变换。

  • β对应于Mdl.Beta

  • b对应于Mdl.Bias

对于一个MATLAB®功能或您定义的功能,进入它的功能句柄。例如,您可以输入Mdl.ResponseTransform = @函数,其中函数接受原始响应的数值向量,并返回包含转化的反应的相同大小的数值向量。

数据类型:烧焦|function_handle

对象的功能

失利 高斯核回归模型回归损失
预测 预测高斯核回归模型的响应
恢复 简历高斯核回归模型的训练

例子

全部折叠

使用支持向量机对一个高数组的核回归模型进行训练。

当您在高数组上执行计算时,MATLAB®使用并行池(如果您有并行计算工具箱™,则默认)或本地MATLAB会话。如果您希望在拥有并行计算工具箱时使用本地MATLAB会话运行示例,则可以使用mapreducer功能。

创建数据存储引用的数据的文件夹位置。该数据可以包含在一个单一的文件,文件的集合,或整个文件夹。对待'NA'值作为缺失的数据,以便数据存储它们替换值。选择的变量使用的一个子集。在数据存储之上创建一个高台。

varnames = {'ArrTime''DepTime'“ActualElapsedTime”};DS =数据存储区('airlinesmall.csv''TreatAsMissing''NA'...“SelectedVariableNames”,varnames);T =高(DS);
开始使用“本地”轮廓平行池(parpool)......连接到并行池(工号:4)。

指定DepTimeArrTime为预测变量(X)和ActualElapsedTime作为响应变量(ÿ)。选择其中的意见ArrTime晚于DepTime

白天= t.ArrTime> t.DepTime;Y = t.ActualElapsedTime(白天);%响应数据X = t{白天,{'DepTime''ArrTime'}};%预测数据

标准化预测变量。

Z = zscore(X);%标准化数据

培养一个默认的高斯核回归模型的标准化预测。提取一个合适的汇总,确定优化算法如何适合的模型与数据。

[铜牌,FitInfo] = fitrkernel(Z,Y)
发现6块。| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = |解决梯度迭代客观/ | | | |β相对| | |数据通过| | |级变化| | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | INIT | | 0/1 4.307833 e + 01 | 4.345788 e-02 |南| | LBFGS | 0 / 2 | 3.705713 e + 01 e-02 | 1.577301 | 9.988252 e-01 | | LBFGS | 1 / 3 | 3.704022 e + 01 e-02 | 3.082836 | 1.338410 e 03 | | LBFGS | 2 / 4 | 3.701398 e + 01 e-02 | 3.006488 | 1.116070 e 03 | |LBFGS | 2/5 | 3.698797 e + 01 e-02 | 2.870642 | 2.234599 e 03 | | LBFGS | 2/6 | 3.693687 e + 01 e-02 | 2.625581 | 4.479069 e 03 | | LBFGS | 2/7 | 3.683757 e + 01 e-02 | 2.239620 | 8.997877 e 03 | | LBFGS | 2/8 | 3.665038 e + 01 e-02 | 1.782358 | 1.815682 e-02 | | LBFGS | 3/9 | 3.473411 e + 01 e-02 | 4.074480 | 1.778166 e-01 | | LBFGS | 4/10 | 3.684246 e + 01 e-01 | 1.608942 | 3.294968 e-01 | | LBFGS | 4/11 | 3.441595 e + 01 e-02 | 8.587703 | 1.420892 e-01 | | LBFGS | 5/12 | 3.377755 e + 01 | 3.760006 e-02 |4.640134 e-02 | | LBFGS | 6/13 | 3.357732 e + 01 e-02 | 1.912644 | 3.842057 e-02 | | LBFGS | 7/14 | 3.334081 e + 01 e-02 | 3.046709 | 6.211243 e-02 | | LBFGS | 8/15 | 3.309239 e + 01 e-02 | 3.858085 | 6.411356 e-02 | | LBFGS | 9/16 | 3.276577 e + 01 e-02 | 3.612292 | 6.938579 e-02 | | LBFGS | 10/17 | 3.234029 e + 01 e-02 | 2.734959 | 1.144307 e-01 | | LBFGS | 11/18 | 3.205763 e + 01 e-02 | 2.545990 | 7.323180 e-02 | | LBFGS | 12/19 | 3.183341 e + 01 e-02 | 2.472411 | 3.689625 e-02 | | LBFGS e + 01 | | | 13/20 3.1693072。064613e-02 | 2.998555e-02 | |========================================================================= | Solver | Iteration / | Objective | Gradient | Beta relative | | | Data Pass | | magnitude | change | |========================================================================= | LBFGS | 14 / 21 | 3.146896e+01 | 1.788395e-02 | 5.967293e-02 | | LBFGS | 15 / 22 | 3.118171e+01 | 1.660696e-02 | 1.124062e-01 | | LBFGS | 16 / 23 | 3.106224e+01 | 1.506147e-02 | 7.947037e-02 | | LBFGS | 17 / 24 | 3.098395e+01 | 1.564561e-02 | 2.678370e-02 | | LBFGS | 18 / 25 | 3.096029e+01 | 4.464104e-02 | 4.547148e-02 | | LBFGS | 19 / 26 | 3.085475e+01 | 1.442800e-02 | 1.677268e-02 | | LBFGS | 20 / 27 | 3.078140e+01 | 1.906548e-02 | 2.275185e-02 | |========================================================================|
MDL = RegressionKernel PredictorNames:{X1 '×2'} ResponseName: 'Y' 学习者: 'SVM' NumExpansionDimensions:64 KernelScale:1 LAMBDA:8.5385e-06 BoxConstraint:1的Epsilon:5.9303属性,方法
FitInfo =结构体字段:求解: 'LBFGS高的' LossFunction:“epsiloninsensitive的lambda:8.5385e-06 BetaTolerance:1.0000e-03 GradientTolerance:1.0000e-05 ObjectiveValue:30.7814 GradientMagnitude:0.0191 RelativeChangeInBeta:0.0228 FitTime:111.1610历史:[1x1的结构]

MdlRegressionKernel模型。要检查回归错误,你可以通过Mdl和训练数据或新数据失利功能。或者,你可以通过Mdl而新的预测数据到预测功能来预测新的观测回应。您也可以通过Mdl和训练数据的恢复功能继续培训。

FitInfo是一个包含优化信息的结构数组。使用FitInfo确定优化终端测量是否令人满意。

为了提高精度,可以提高优化迭代的最大数量('IterationLimit'),并降低公差值('BetaTolerance''GradientTolerance')通过使用的名称 - 值对参数fitrkernel。这样做可以提高类似措施ObjectiveValueRelativeChangeInBetaFitInfo。您也可以通过优化模型参数'OptimizeHyperparameters'名称 - 值对的参数。

恢复训练高斯核回归模型,更多的迭代,以改善回归损失。

加载carbig数据集。

加载carbig

指定预测变量(X)和响应变量(ÿ)。

X = [加速,缸,排气量,马力,重量];Y = MPG;

中删除行Xÿ其中任意一个数组值。删除行将数据传递到前值fitrkernel可加快训练速度和减少内存使用。

R = rmmissing([X Y]);%数据去掉缺少的项X = R(:,1:5);Y = R(:,端);

观测作为保留样本的储备10%。提取分区定义的训练和测试指标。

RNG(10)%用于重现N =长度(Y);CVP = cvpartition(N,'坚持',0.1);idxTrn =训练(CVP);%训练集指标idxTest =试验(CVP);%测试集指标

标准化的训练数据和训练内核回归模型。设置迭代限制为5,指定'冗长',1以显示诊断信息。

Xtrain = X(idxTrn,:);Ytrain = Y(idxTrn);[Ztrain,tr_mu,tr_sigma] = zscore(Xtrain);%标准化训练数据tr_sigma(tr_sigma == 0)= 1;MDL = fitrkernel(Ztrain,Ytrain,'IterationLimit'5,“放牧”,1)
| ================================================================================================================= ||求解器|通行证|迭代|目的|步骤|梯度|相对|总和(测试版〜= 0)| | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 0 | 5.691016e+00 | 0.000000e+00 | 5.852758e-02 | | 0 | | LBFGS | 1 | 1 | 5.086537e+00 | 8.000000e+00 | 5.220869e-02 | 9.846711e-02 | 256 | | LBFGS | 1 | 2 | 3.862301e+00 | 5.000000e-01 | 3.796034e-01 | 5.998808e-01 | 256 | | LBFGS | 1 | 3 | 3.460613e+00 | 1.000000e+00 | 3.257790e-01 | 1.615091e-01 | 256 | | LBFGS | 1 | 4 | 3.136228e+00 | 1.000000e+00 | 2.832861e-02 | 8.006254e-02 | 256 | | LBFGS | 1 | 5 | 3.063978e+00 | 1.000000e+00 | 1.475038e-02 | 3.314455e-02 | 256 | |=================================================================================================================|
MDL = RegressionKernel ResponseName: 'Y' 学习者: 'SVM' NumExpansionDimensions:256 KernelScale:1 LAMBDA:0.0028 BoxConstraint:1的Epsilon:0.8617的属性,方法

MdlRegressionKernel模型。

利用训练数据列的相同平均值和标准偏差标准化的测试数据。对于测试集估计的ε-不敏感的错误。

XTEST = X(idxTest,:);ZTEST =(XTEST-tr_mu)./ tr_sigma;标准化测试数据Ytest = Y(idxTest);L =损失(MDL,ZTEST,Ytest,'LossFun'“epsiloninsensitive”
L = 2.0674

继续通过训练模型恢复。此功能继续用于训练相同的选项培训Mdl

UpdatedMdl =履历(MDL,Ztrain,Ytrain);
| ================================================================================================================= ||求解器|通行证|迭代|目的|步骤|梯度|相对|总和(测试版〜= 0)| | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 0 | 3.063978e+00 | 0.000000e+00 | 1.475038e-02 | | 256 | | LBFGS | 1 | 1 | 3.007822e+00 | 8.000000e+00 | 1.391637e-02 | 2.603966e-02 | 256 | | LBFGS | 1 | 2 | 2.817171e+00 | 5.000000e-01 | 5.949008e-02 | 1.918084e-01 | 256 | | LBFGS | 1 | 3 | 2.807294e+00 | 2.500000e-01 | 6.798867e-02 | 2.973097e-02 | 256 | | LBFGS | 1 | 4 | 2.791060e+00 | 1.000000e+00 | 2.549575e-02 | 1.639328e-02 | 256 | | LBFGS | 1 | 5 | 2.767821e+00 | 1.000000e+00 | 6.154419e-03 | 2.468903e-02 | 256 | | LBFGS | 1 | 6 | 2.738163e+00 | 1.000000e+00 | 5.949008e-02 | 9.476263e-02 | 256 | | LBFGS | 1 | 7 | 2.719146e+00 | 1.000000e+00 | 1.699717e-02 | 1.849972e-02 | 256 | | LBFGS | 1 | 8 | 2.705941e+00 | 1.000000e+00 | 3.116147e-02 | 4.152590e-02 | 256 | | LBFGS | 1 | 9 | 2.701162e+00 | 1.000000e+00 | 5.665722e-03 | 9.401466e-03 | 256 | | LBFGS | 1 | 10 | 2.695341e+00 | 5.000000e-01 | 3.116147e-02 | 4.968046e-02 | 256 | | LBFGS | 1 | 11 | 2.691277e+00 | 1.000000e+00 | 8.498584e-03 | 1.017446e-02 | 256 | | LBFGS | 1 | 12 | 2.689972e+00 | 1.000000e+00 | 1.983003e-02 | 9.938921e-03 | 256 | | LBFGS | 1 | 13 | 2.688979e+00 | 1.000000e+00 | 1.416431e-02 | 6.606316e-03 | 256 | | LBFGS | 1 | 14 | 2.687787e+00 | 1.000000e+00 | 1.621956e-03 | 7.089542e-03 | 256 | | LBFGS | 1 | 15 | 2.686539e+00 | 1.000000e+00 | 1.699717e-02 | 1.169701e-02 | 256 | | LBFGS | 1 | 16 | 2.685356e+00 | 1.000000e+00 | 1.133144e-02 | 1.069310e-02 | 256 | | LBFGS | 1 | 17 | 2.685021e+00 | 5.000000e-01 | 1.133144e-02 | 2.104248e-02 | 256 | | LBFGS | 1 | 18 | 2.684002e+00 | 1.000000e+00 | 2.832861e-03 | 6.175231e-03 | 256 | | LBFGS | 1 | 19 | 2.683507e+00 | 1.000000e+00 | 5.665722e-03 | 3.724026e-03 | 256 | | LBFGS | 1 | 20 | 2.683343e+00 | 5.000000e-01 | 5.665722e-03 | 9.549119e-03 | 256 | |=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 21 | 2.682897e+00 | 1.000000e+00 | 5.665722e-03 | 7.172867e-03 | 256 | | LBFGS | 1 | 22 | 2.682682e+00 | 1.000000e+00 | 2.832861e-03 | 2.587726e-03 | 256 | | LBFGS | 1 | 23 | 2.682485e+00 | 1.000000e+00 | 2.832861e-03 | 2.953648e-03 | 256 | | LBFGS | 1 | 24 | 2.682326e+00 | 1.000000e+00 | 2.832861e-03 | 7.777294e-03 | 256 | | LBFGS | 1 | 25 | 2.681914e+00 | 1.000000e+00 | 2.832861e-03 | 2.778555e-03 | 256 | | LBFGS | 1 | 26 | 2.681867e+00 | 5.000000e-01 | 1.031085e-03 | 3.638352e-03 | 256 | | LBFGS | 1 | 27 | 2.681725e+00 | 1.000000e+00 | 5.665722e-03 | 1.515199e-03 | 256 | | LBFGS | 1 | 28 | 2.681692e+00 | 5.000000e-01 | 1.314940e-03 | 1.850055e-03 | 256 | | LBFGS | 1 | 29 | 2.681625e+00 | 1.000000e+00 | 2.832861e-03 | 1.456903e-03 | 256 | | LBFGS | 1 | 30 | 2.681594e+00 | 5.000000e-01 | 2.832861e-03 | 8.704875e-04 | 256 | | LBFGS | 1 | 31 | 2.681581e+00 | 5.000000e-01 | 8.498584e-03 | 3.934768e-04 | 256 | | LBFGS | 1 | 32 | 2.681579e+00 | 1.000000e+00 | 8.498584e-03 | 1.847866e-03 | 256 | | LBFGS | 1 | 33 | 2.681553e+00 | 1.000000e+00 | 9.857038e-04 | 6.509825e-04 | 256 | | LBFGS | 1 | 34 | 2.681541e+00 | 5.000000e-01 | 8.498584e-03 | 6.635528e-04 | 256 | | LBFGS | 1 | 35 | 2.681499e+00 | 1.000000e+00 | 5.665722e-03 | 6.194735e-04 | 256 | | LBFGS | 1 | 36 | 2.681493e+00 | 5.000000e-01 | 1.133144e-02 | 1.617763e-03 | 256 | | LBFGS | 1 | 37 | 2.681473e+00 | 1.000000e+00 | 9.869233e-04 | 8.418484e-04 | 256 | | LBFGS | 1 | 38 | 2.681469e+00 | 1.000000e+00 | 5.665722e-03 | 1.069722e-03 | 256 | | LBFGS | 1 | 39 | 2.681432e+00 | 1.000000e+00 | 2.832861e-03 | 8.501930e-04 | 256 | | LBFGS | 1 | 40 | 2.681423e+00 | 2.500000e-01 | 1.133144e-02 | 9.543716e-04 | 256 | |=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 41 | 2.681416e+00 | 1.000000e+00 | 2.832861e-03 | 8.763251e-04 | 256 | | LBFGS | 1 | 42 | 2.681413e+00 | 5.000000e-01 | 2.832861e-03 | 4.101888e-04 | 256 | | LBFGS | 1 | 43 | 2.681403e+00 | 1.000000e+00 | 5.665722e-03 | 2.713209e-04 | 256 | | LBFGS | 1 | 44 | 2.681392e+00 | 1.000000e+00 | 2.832861e-03 | 2.115241e-04 | 256 | | LBFGS | 1 | 45 | 2.681383e+00 | 1.000000e+00 | 2.832861e-03 | 2.872858e-04 | 256 | | LBFGS | 1 | 46 | 2.681374e+00 | 1.000000e+00 | 8.498584e-03 | 5.771001e-04 | 256 | | LBFGS | 1 | 47 | 2.681353e+00 | 1.000000e+00 | 2.832861e-03 | 3.160871e-04 | 256 | | LBFGS | 1 | 48 | 2.681334e+00 | 5.000000e-01 | 8.498584e-03 | 1.045502e-03 | 256 | | LBFGS | 1 | 49 | 2.681314e+00 | 1.000000e+00 | 7.878714e-04 | 1.505118e-03 | 256 | | LBFGS | 1 | 50 | 2.681306e+00 | 1.000000e+00 | 2.832861e-03 | 4.756894e-04 | 256 | | LBFGS | 1 | 51 | 2.681301e+00 | 1.000000e+00 | 1.133144e-02 | 3.664873e-04 | 256 | | LBFGS | 1 | 52 | 2.681288e+00 | 1.000000e+00 | 2.832861e-03 | 1.449821e-04 | 256 | | LBFGS | 1 | 53 | 2.681287e+00 | 2.500000e-01 | 1.699717e-02 | 2.357176e-04 | 256 | | LBFGS | 1 | 54 | 2.681282e+00 | 1.000000e+00 | 5.665722e-03 | 2.046663e-04 | 256 | | LBFGS | 1 | 55 | 2.681278e+00 | 1.000000e+00 | 2.832861e-03 | 2.546349e-04 | 256 | | LBFGS | 1 | 56 | 2.681276e+00 | 2.500000e-01 | 1.307940e-03 | 1.966786e-04 | 256 | | LBFGS | 1 | 57 | 2.681274e+00 | 5.000000e-01 | 1.416431e-02 | 1.005310e-04 | 256 | | LBFGS | 1 | 58 | 2.681271e+00 | 5.000000e-01 | 1.118892e-03 | 1.147324e-04 | 256 | | LBFGS | 1 | 59 | 2.681269e+00 | 1.000000e+00 | 2.832861e-03 | 1.332914e-04 | 256 | | LBFGS | 1 | 60 | 2.681268e+00 | 2.500000e-01 | 1.132045e-03 | 5.441369e-05 | 256 | |=================================================================================================================|

使用更新的模型测试集估计的ε-不敏感的错误。

UpdatedL =损耗(UpdatedMdl,ZTEST,Ytest,'LossFun'“epsiloninsensitive”
UpdatedL = 1.8933

回归误差减少了大约一倍0.08恢复更新回归模型更多的迭代。

介绍了在R2018a