fsrnca

使用回归邻里成分分析的特征选择

描述

MDL= fsrnca(Xÿ执行特征选择用于使用在预测回归X和响应ÿ

fsrnca通过用正则邻里成分分析(NCA)的对角自适应学习的特征权重。

MDL= fsrnca(Xÿ名称,值执行特征选择用于与由一个或多个名称值对参数中指定的附加选项消退。

例子

全部收缩

生成,响应变量取决于3日,9日,15日和预测数据的玩具。

RNG(0,“扭腰”);%用于重现N = 100;X =兰特(N,20);Y = 1 + X(:,3)* 5 + SIN(X(:,9)./ X(:,15)​​+ 0.25 * randn(N,1));

适合回归邻里成分分析模型。

MDL = fsrnca(X,Y,“放牧”1,“拉姆达”,0.5 / N);
ø求解= LBFGS,HessianHistorySize = 15,LineSearchMethod = weakwolfe | ==================================================================================================== ||ITER |FUN VALUE |NORM GRAD |NORM STEP |CURV |GAMMA |ALPHA |接受| |====================================================================================================| | 0 | 1.636932e+00 | 3.688e-01 | 0.000e+00 | | 1.627e+00 | 0.000e+00 | YES | | 1 | 8.304833e-01 | 1.083e-01 | 2.449e+00 | OK | 9.194e+00 | 4.000e+00 | YES | | 2 | 7.548105e-01 | 1.341e-02 | 1.164e+00 | OK | 1.095e+01 | 1.000e+00 | YES | | 3 | 7.346997e-01 | 9.752e-03 | 6.383e-01 | OK | 2.979e+01 | 1.000e+00 | YES | | 4 | 7.053407e-01 | 1.605e-02 | 1.712e+00 | OK | 5.809e+01 | 1.000e+00 | YES | | 5 | 6.970502e-01 | 9.106e-03 | 8.818e-01 | OK | 6.223e+01 | 1.000e+00 | YES | | 6 | 6.952347e-01 | 5.522e-03 | 6.382e-01 | OK | 3.280e+01 | 1.000e+00 | YES | | 7 | 6.946302e-01 | 9.102e-04 | 1.952e-01 | OK | 3.380e+01 | 1.000e+00 | YES | | 8 | 6.945037e-01 | 6.557e-04 | 9.942e-02 | OK | 8.490e+01 | 1.000e+00 | YES | | 9 | 6.943908e-01 | 1.997e-04 | 1.756e-01 | OK | 1.124e+02 | 1.000e+00 | YES | | 10 | 6.943785e-01 | 3.478e-04 | 7.755e-02 | OK | 7.621e+01 | 1.000e+00 | YES | | 11 | 6.943728e-01 | 1.428e-04 | 3.416e-02 | OK | 3.649e+01 | 1.000e+00 | YES | | 12 | 6.943711e-01 | 1.128e-04 | 1.231e-02 | OK | 6.092e+01 | 1.000e+00 | YES | | 13 | 6.943688e-01 | 1.066e-04 | 2.326e-02 | OK | 9.319e+01 | 1.000e+00 | YES | | 14 | 6.943655e-01 | 9.324e-05 | 4.399e-02 | OK | 1.810e+02 | 1.000e+00 | YES | | 15 | 6.943603e-01 | 1.206e-04 | 8.823e-02 | OK | 4.609e+02 | 1.000e+00 | YES | | 16 | 6.943582e-01 | 1.701e-04 | 6.669e-02 | OK | 8.425e+01 | 5.000e-01 | YES | | 17 | 6.943552e-01 | 5.160e-05 | 6.473e-02 | OK | 8.832e+01 | 1.000e+00 | YES | | 18 | 6.943546e-01 | 2.477e-05 | 1.215e-02 | OK | 7.925e+01 | 1.000e+00 | YES | | 19 | 6.943546e-01 | 1.077e-05 | 6.086e-03 | OK | 1.378e+02 | 1.000e+00 | YES | |====================================================================================================| | ITER | FUN VALUE | NORM GRAD | NORM STEP | CURV | GAMMA | ALPHA | ACCEPT | |====================================================================================================| | 20 | 6.943545e-01 | 2.260e-05 | 4.071e-03 | OK | 5.856e+01 | 1.000e+00 | YES | | 21 | 6.943545e-01 | 4.250e-06 | 1.109e-03 | OK | 2.964e+01 | 1.000e+00 | YES | | 22 | 6.943545e-01 | 1.916e-06 | 8.356e-04 | OK | 8.649e+01 | 1.000e+00 | YES | | 23 | 6.943545e-01 | 1.083e-06 | 5.270e-04 | OK | 1.168e+02 | 1.000e+00 | YES | | 24 | 6.943545e-01 | 1.791e-06 | 2.673e-04 | OK | 4.016e+01 | 1.000e+00 | YES | | 25 | 6.943545e-01 | 2.596e-07 | 1.111e-04 | OK | 3.154e+01 | 1.000e+00 | YES | Infinity norm of the final gradient = 2.596e-07 Two norm of the final step = 1.111e-04, TolX = 1.000e-06 Relative infinity norm of the final gradient = 2.596e-07, TolFun = 1.000e-06 EXIT: Local minimum found.

绘制选择的要素。的不相关特征的权重应该是接近于零。

图()图(mdl.FeatureWeights,'RO')网格xlabel(“特色指标”)ylabel(“特征权重”

fsrnca正确地检测此响应的相关预测。

加载样本数据。

加载robotarm.mat

robotarm(pumadyn32nm)数据集使用具有7168点训练的观测,并与32个特征[1] [2] 1024个测试观察机器人臂模拟器创建。这是原始数据集的预处理版本。的数据由减去关闭线性回归拟合预处理,随后的所有特征正常化单位方差。

执行邻里成分分析(NCA)特征选择回归与默认 λ (正则化参数)值。

NCA = fsrnca(Xtrain,ytrain,'使用fitmethod''精确'...“求解”'lbfgs');

绘制选定的值。

图图(nca.FeatureWeights,'RO')xlabel(“特色指标”)ylabel(“特征权重”)网格

以上的功能权重的一半是非零。计算使用测试通过使用所选择的特征设定为性能的测量的损失。

L =损失(NCA,XTEST,ytest)
L = 0.0837

尝试改善性能。调整调整参数 λ 用于使用特征选择5倍交叉验证。调音 λ 手段找到 λ 值产生最小回归损失。调 λ 使用交叉验证:

1.分区数据成五倍。对于每个倍,cvpartition受让人4/5中的数据作为训练集,并且所述数据作为测试组的1/5。

RNG(1)%用于重现N =长度(ytrain);CVP = cvpartition(长度(ytrain),'kfold',5);numvalidsets = cvp.NumTestSets;

分配 λ 对于搜索值。乘以常数响应值增加了由恒定的因子的损失函数项。因此,包括STD(ytrain)在要素 λ 值平衡违约损失函数('狂',平均绝对偏差)项和目标函数的调整项。在这个例子中,STD(ytrain)因子是一个,因为所加载的样品的数据是原始数据集的预处理版本。

lambdavals = linspace(0,50,20)* STD(ytrain)/ N;

创建一个数组来存储损失值。

lossvals =零(长度(lambdavals),numvalidsets);

2.培养每个NCA模型 λ 值,使用在各个折叠训练集。

3.计算用于使用NCA模型在折叠相应的测试集的回归损失。记录的损耗值。

4.重复此为每个 λ 值和每个折。

对于I = 1:长度(lambdavals)对于K = 1:numvalidsets X = Xtrain(cvp.training(K),:);Y = ytrain(cvp.training(K),:);Xvalid = Xtrain(cvp.test(K),:);yvalid = ytrain(cvp.test(K),:);NCA = fsrnca(X,Y,'使用fitmethod''精确'...“求解”'minibatch-lbfgs'“拉姆达”,lambdavals(i)中,...'GradientTolerance',1E-4,'IterationLimit',30);lossvals(I,K)=损失(NCA,Xvalid,yvalid,'LossFunction''MSE');结束结束

计算从折叠每个获得的平均损失 λ 值。

meanloss =平均值(lossvals,2);

绘制的平均损失兑 λ 值。

图图(lambdavals,meanloss,“滚装”)xlabel(“拉姆达”)ylabel('损失(MSE)')网格

找出 λ 值,使得最小损耗值。

[〜,IDX] =分钟(meanloss)
IDX = 17
bestlambda = lambdavals(IDX)
bestlambda = 0.0059
bestloss = meanloss(IDX)
bestloss = 0.0590

适合使用回归的最佳NCA功能,选择模型 λ 值。

NCA = fsrnca(Xtrain,ytrain,'使用fitmethod''精确'...“求解”'lbfgs'“拉姆达”,bestlambda);

绘制选择的要素。

图图(nca.FeatureWeights,'RO')xlabel(“特色指标”)ylabel(“特征加权”)网格

大部分的功能权重为零。fsrnca识别四种最相关的特征。

计算的测试集的损失。

L =损失(NCA,XTEST,ytest)
L = 0.0571

调整调整参数, λ ,消除更多的不相关特征和改进的性能。

此示例使用鲍鱼数据[3][4]从UCI机器学习库[5]。下载数据,并将其与名称保存在当前文件夹'abalone.data'

将数据存储到一个表。显示前七行。

TBL = readtable('abalone.data''文件类型''文本''ReadVariableNames',假);tbl.Properties.VariableNames = {'性别''长度''直径''高度'...'WWeight''SWeight''VWeight''ShWeight''NoShellRings'};TBL(1:7,:)
ANS =7×9表性别长度直径高度WWeight SWeight VWeight ShWeight NoShellRings _____ ______ ________ ______ _______ _______ ________ ____________ { 'M'} 0.455 0.365 0.095 0.514 0.2245 0.101 0.15 15 { 'M'} 0.35 0.265 0.09 0.2255 0.0995 0.0485 0.07 7 { 'F'} 0.530.42 0.135 0.677 0.2565 0.1415 0.21 9 { 'M'} 0.44 0.365 0.125 0.516 0.2155 0.114 0.155 10 { 'I'} 0.33 0.255 0.08 0.205 0.0895 0.0395 0.055 7 { 'I'} 0.425 0.3 0.095 0.3515 0.141 0.0775 0.12 8 { 'F'} 0.53 0.415 0.15 0.7775 0.237 0.1415 0.33 20

该数据集有4177个观察。我们的目标是从八个物理测量预测鲍鱼的年龄。最后一个变量,环箍的数量,显示了鲍鱼的年龄。第一预测是分类变量。该表中的最后一个变量是响应变量。

准备预测和响应变量fsrnca。的最后一列TBL包含壳环的数量,这是响应变量。第一个预测变量,性别,是绝对的。您必须创建虚拟变量。

Y = table2array(TBL(:,端));X(:,1:3)= dummyvar(分类(tbl.Sex));X = [X,table2array(TBL(:,2:端-1))];

使用交叉验证四倍调整在NCA模型调整参数。第一个分区的数据划分为四个倍。

RNG('默认'%用于重现N =长度(Y);CVP = cvpartition(N,'kfold',4);numtestsets = cvp.NumTestSets;

cvpartition将数据划分成四个分区(倍)。在各个折叠,数据的大约四分之三被分配作为训练集和四分之一被分配作为测试集合。

生成各种 λ (正则化参数),用于拟合模型来确定的最佳值 λ 值。创建一个向量来从各装配收集损耗值。

lambdavals = linspace(0,25,20)* STD(Y)/ N;lossvals =零(长度(lambdavals),numtestsets);

的行lossvals对应于 λ 值和列对应于折叠。

使用适合回归模型NCAfsrnca从每个数据倍使用每个 λ 值。计算用于使用来自各个折叠测试数据的每个模型的损失。

对于I = 1:长度(lambdavals)对于K = 1:numtestsets Xtrain = X(cvp.training(K),:);ytrain = Y(cvp.training(K),:);XTEST = X(cvp.test(K),:);ytest = Y(cvp.test(K),:);NCA = fsrnca(Xtrain,ytrain,'使用fitmethod''精确'...“求解”'lbfgs'“拉姆达”,lambdavals(i)中,“标准化”,真正);lossvals(I,K)=损失(NCA,XTEST,ytest,'LossFunction''MSE');结束结束

计算所述褶皱的平均损失,即,计算的平均值中的第二维lossvals

meanloss =平均值(lossvals,2);

绘出 λ 值相对于从四个褶皱的平均损失。

图图(lambdavals,meanloss,“滚装”)xlabel(“拉姆达”)ylabel('损失(MSE)')网格

找出 λ 值最小化均损失。

[〜,IDX] =分钟(meanloss);bestlambda = lambdavals(IDX)
bestlambda = 0.0071

计算最佳的损耗值。

bestloss = meanloss(IDX)
bestloss = 4.7799

适合使用最好上的所有数据的NCA模型 λ 值。

NCA = fsrnca(X,Y,'使用fitmethod''精确'“求解”'lbfgs'...“放牧”1,“拉姆达”,bestlambda,“标准化”,真正);
ø求解= LBFGS,HessianHistorySize = 15,LineSearchMethod = weakwolfe | ==================================================================================================== ||ITER |FUN VALUE |NORM GRAD |NORM STEP |CURV |GAMMA |ALPHA |接受| |====================================================================================================| | 0 | 2.469168e+00 | 1.266e-01 | 0.000e+00 | | 4.741e+00 | 0.000e+00 | YES | | 1 | 2.375166e+00 | 8.265e-02 | 7.268e-01 | OK | 1.054e+01 | 1.000e+00 | YES | | 2 | 2.293528e+00 | 2.067e-02 | 2.034e+00 | OK | 1.569e+01 | 1.000e+00 | YES | | 3 | 2.286703e+00 | 1.031e-02 | 3.158e-01 | OK | 2.213e+01 | 1.000e+00 | YES | | 4 | 2.279928e+00 | 2.023e-02 | 9.374e-01 | OK | 1.953e+01 | 1.000e+00 | YES | | 5 | 2.276258e+00 | 6.884e-03 | 2.497e-01 | OK | 1.439e+01 | 1.000e+00 | YES | | 6 | 2.274358e+00 | 1.792e-03 | 4.010e-01 | OK | 3.109e+01 | 1.000e+00 | YES | | 7 | 2.274105e+00 | 2.412e-03 | 2.399e-01 | OK | 3.557e+01 | 1.000e+00 | YES | | 8 | 2.274073e+00 | 1.459e-03 | 7.684e-02 | OK | 1.356e+01 | 1.000e+00 | YES | | 9 | 2.274050e+00 | 3.733e-04 | 3.797e-02 | OK | 1.725e+01 | 1.000e+00 | YES | | 10 | 2.274043e+00 | 2.750e-04 | 1.379e-02 | OK | 2.445e+01 | 1.000e+00 | YES | | 11 | 2.274027e+00 | 2.682e-04 | 5.701e-02 | OK | 7.386e+01 | 1.000e+00 | YES | | 12 | 2.274020e+00 | 1.712e-04 | 4.107e-02 | OK | 9.461e+01 | 1.000e+00 | YES | | 13 | 2.274014e+00 | 2.633e-04 | 6.720e-02 | OK | 7.469e+01 | 1.000e+00 | YES | | 14 | 2.274012e+00 | 9.818e-05 | 2.263e-02 | OK | 3.275e+01 | 1.000e+00 | YES | | 15 | 2.274012e+00 | 4.220e-05 | 6.188e-03 | OK | 2.799e+01 | 1.000e+00 | YES | | 16 | 2.274012e+00 | 2.859e-05 | 4.979e-03 | OK | 6.628e+01 | 1.000e+00 | YES | | 17 | 2.274011e+00 | 1.582e-05 | 6.767e-03 | OK | 1.439e+02 | 1.000e+00 | YES | | 18 | 2.274011e+00 | 7.623e-06 | 4.311e-03 | OK | 1.211e+02 | 1.000e+00 | YES | | 19 | 2.274011e+00 | 3.038e-06 | 2.528e-04 | OK | 1.798e+01 | 5.000e-01 | YES | |====================================================================================================| | ITER | FUN VALUE | NORM GRAD | NORM STEP | CURV | GAMMA | ALPHA | ACCEPT | |====================================================================================================| | 20 | 2.274011e+00 | 6.710e-07 | 2.325e-04 | OK | 2.721e+01 | 1.000e+00 | YES | Infinity norm of the final gradient = 6.710e-07 Two norm of the final step = 2.325e-04, TolX = 1.000e-06 Relative infinity norm of the final gradient = 6.710e-07, TolFun = 1.000e-06 EXIT: Local minimum found.

绘制选择的要素。

图图(nca.FeatureWeights,'RO')xlabel(“特色指标”)ylabel(“特征加权”)网格

不相关的特征具有零个权重。根据该图中,设有1,图3和未被选择9。

适合使用回归量方法的参数估计和所述子集用于预测的完全独立的条件方法高斯过程回归(GPR)模型。使用ARD平方指数核函数,其中个体重量分配给每个预测。规范的预测。

gprMdl = fitrgp(TBL,'NoShellRings''KernelFunction''ardsquaredexponential'...'使用fitmethod''SR''PredictMethod'“同人”“标准化”,真正)
gprMdl = RegressionGP PredictorNames:{ '性别' '长度' '直径' '身高' 'WWeight' 'SWeight' 'VWeight' 'ShWeight'} ResponseName: 'NoShellRings' CategoricalPredictors:1个ResponseTransform: '无' NumObservations:4177 KernelFunction:'ARDSquaredExponential” KernelInformation:[1×1结构] BasisFunction: '恒' 贝塔:11.4959西格玛:2.0282 PredictorLocation:[10×1双] PredictorScale:[10×1双]阿尔法:[1000×1双] ActiveSetVectors:[1000×10双] PredictMethod: 'FIC' ActiveSetSize:1000使用fitmethod: 'SR' ActiveSetMethod: '随机' IsActiveSetVector:[4177×1逻辑]对数似然:-9.0019e + 03 ActiveSetHistory:[1×1结构] BCDInformation:[]属性,方法

计算上的训练模型训练数据(resubstitution损失)回归损失。

L = resubLoss(gprMdl)
L = 4.0306

用最小的交叉验证损失fsrnca是与使用具有ARD内核GPR模型获得的损失。

输入参数

全部收缩

预测器变量值,指定为ñ-通过-p矩阵,其中ñ是观测值的数量和p是预测变量的数目。

数据类型:|

响应值,指定为长度的数字实向量ñ,其中ñ是观测值的数量。

数据类型:|

名称 - 值对参数

指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和是对应的值。名称必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N

例:'解算器', 'SGD', '权重',W, 'LAMBDA',0.0003指定求解器作为随机梯度下降,观察权重向量中的值w ^,并设置在0.0003调整参数。

配件选项

全部收缩

用于装配模型的方法,指定为逗号分隔的一对组成的'使用fitmethod'和以下情况之一:

  • '精确'- 执行使用所有数据的拟合。

  • '没有'- 无配件。使用此选项使用在调用fsrnca提供的初始特征权评估NCA模型的泛化误差。

  • '平均'- 将所述数据划分为分区(子集),使用适合的每个分区精确方法,并且返回的平均特征权重。您可以使用指定的分区数NumPartitions名称 - 值对的参数。

例:'使用fitmethod', '无'

分区的号码拆分数据使用'使用fitmethod', '平均'选项,指定为逗号分隔的一对组成的'NumPartitions'和2之间的整数值ñ,其中ñ是观测值的数量。

例:'NumPartitions',15

数据类型:|

正则化参数,以防止过度拟合,指定为逗号分隔的一对组成的“拉姆达”和一个非负标量。

随着观测次数ñ增加,减少过度拟合的机会和所需的正规化量也减少。看到调正则化参数在NCA的回归如何学会调整调整参数。

例:'LAMBDA',0.002

数据类型:|

内核的宽度,被指定为逗号分隔的一对组成的“长度尺度”和正实标。

当所有的预测器相同的规模的1的长度刻度值是合理的。如果在预测X有很大的不同幅度,那么可以考虑使用标准化的预测值“标准化”,真和设置'长度尺度',1

例:'长度尺度',1.5

数据类型:|

初始特征权重,指定为逗号分隔的一对组成的'InitialFeatureWeights'p×1实阳性标量,其中的矢量p是预测的训练数据的数量。

优化要素权重正规化目标函数非凸。其结果是,使用不同的初始要素权重,可以得到不同的结果。所有的初始要素权重设置为1,总体运行良好,但在某些情况下,随机初始化使用兰特(P,1)可以提供更好品质的解决方案。万博 尤文图斯

数据类型:|

观察权重,指定为逗号分隔的一对组成的'ObservationWeights'ñ×1矢量真实阳性标量。使用观察权重指定比别人一些意见的重要性更高。默认的权重分配给所有的意见同等的重要性。

数据类型:|

用于标准化预测数据指示符,指定为逗号分隔的一对组成的“标准化”,要么要么真正。欲了解更多信息,请参阅标准化的影响

例:“标准化”,真

数据类型:合乎逻辑

为收敛概要显示详细级别指示符,指定为逗号分隔的一对组成的“放牧”和以下情况之一:

  • 0 - 没有收敛汇总

  • 1 - 收敛摘要,包括梯度的范数和目标函数值

  • > 1 - 更收敛信息,根据不同的拟合算法上

    当使用'minibatch-lbfgs'解算器和详细级别> 1时,收敛性信息包括迭代从中间小批量LBFGS配合日志。

例:'冗长',1

数据类型:|

解算器类型用于估计的特征权重,指定为逗号分隔的一对组成的“求解”和以下情况之一:

  • 'lbfgs'- 有限的存储器的Broyden-弗莱彻-戈德法布-Shanno无(LBFGS)算法

  • “新元”- 随机梯度下降(SGD)算法

  • 'minibatch-lbfgs'- 施加到微型批次,LBFGS算法随机梯度下降

默认值是'lbfgs'对于ñ≤1000,“新元”对于ñ> 1000。

例:'求解', 'minibatch-lbfgs'

损耗函数,指定为逗号分隔的一对组成的'LossFunction'和以下情况之一:

  • '狂'- 平均绝对偏差

    ÿ 一世 ÿ Ĵ = | ÿ 一世 - ÿ Ĵ |

  • 'MSE'- 均方误差

    ÿ 一世 ÿ Ĵ = ÿ 一世 - ÿ Ĵ 2

  • 'epsiloninsensitive'- ε不敏感损失函数

    ÿ 一世 ÿ Ĵ = 最大 0 | ÿ 一世 - ÿ Ĵ | - ε

    这种损失功能更强大的异常值比均方误差或平均绝对偏差。

  • @lossfun- 自定义损失函数句柄。损失函数具有这种形式。

    功能L = lossfun(于,YV)损失的%计算...
    ü×1矢量和YVv×1向量。大号ü-通过-v损失的矩阵值,使得L(I,J)对于损耗值宇(I)YV(J)

为最小化的目标函数包括丧失功能ÿ一世ÿĴ如下:

F w ^ = 1 ñ Σ 一世 = 1 ñ Σ Ĵ = 1 Ĵ 一世 ñ p 一世 Ĵ ÿ 一世 ÿ Ĵ + λ Σ [R = 1 p w ^ [R 2

哪里w ^是特征权重向量,ñ是观测值的数量,并且p是预测变量的数目。pIJ是的概率XĴ为基准点X一世。有关详细信息,请参阅对于回归NCA特征选择

例:'LossFunction',@ lossfun

用于ε-值'LossFunction', 'epsiloninsensitive'选项,指定为逗号分隔的一对组成的'LossFunction'和非负实标。缺省值是使用响应变量的四分位数间距样本标准偏差的估计值。

例:'小量',0.1

数据类型:|

存储器大小(MB),以用于目标函数和梯度计算,指定为逗号分隔的一对组成的'的CacheSize'和一个整数。

例:'CacheSize的',1500MB

数据类型:|

LBFGS选项

全部收缩

历史缓冲区的大小为黑森州逼近'lbfgs'解算器,指定为逗号分隔的一对组成的'HessianHistorySize'和一个正整数。在每次迭代函数使用最新的HessianHistorySize迭代建立一个近似逆黑森州。

例:'HessianHistorySize',20

数据类型:|

初始步骤的规模的'lbfgs'解算器,指定为逗号分隔的一对组成的'InitialStepSize'和正实标。缺省情况下,函数自动确定初始步长。

数据类型:|

线搜索方法中,指定为逗号分隔的一对组成的'LineSearchMethod'和以下情况之一:

  • 'weakwolfe'- 弱Wolfe线搜索

  • 'strongwolfe'- 强Wolfe线搜索

  • “回溯”- 回溯线搜索

例:'LineSearchMethod', '回溯'

线搜索的迭代的最大次数,指定为逗号分隔的一对组成的'MaxLineSearchIterations'和一个正整数。

例:'MaxLineSearchIterations',25

数据类型:|

对求解器的梯度范相对收敛容差lbfgs,指定为逗号分隔的一对组成的'GradientTolerance'和正实标。

例:'GradientTolerance',0.000002

数据类型:|

SGD选项

全部收缩

初始学习速率为“新元”解算器,指定为逗号分隔的一对组成的'InitialLearningRate'和正实标。

当使用类型解算器“新元”,学习率衰减了迭代开始值指定'InitialLearningRate'

默认'汽车'装置,所述初始学习速率使用上的数据的子集的小实验确定。使用NumTuningIterations名称 - 值对参数指定的迭代次数为自动调谐初始学习速率。使用TuningSubsetSize名称 - 值对参数指定的观测数到使用用于自动地调整初始学习速率。

为了求解类型'minibatch-lbfgs',你可以设置'InitialLearningRate'到非常高的价值。在这种情况下,该函数分别应用到LBFGS每个小批量和来自先前小批量初始特征权重。

为了确保所选择的初始学习率降低每次迭代的客观价值,情节迭代相对于目的值保存在mdl.FitInfo属性。

您可以使用改装'InitialFeatureWeights'等于mdl.FeatureWeights从目前的解决方案启动和运行额外的迭代

例:'InitialLearningRate',0.9

数据类型:|

观察数在每批次为使用“新元”解算器,指定为逗号分隔的一对组成的'MiniBatchSize'和一个正整数从1到ñ

例:'MiniBatchSize',25

数据类型:|

通过所有道的最大数量ñ为求解意见“新元”,指定为逗号分隔的一对组成的'PassLimit'和一个正整数。每次通过的所有数据被称为一个划时代。

例:'PassLimit',10

数据类型:|

批次的频率显示收敛摘要“新元”解算器,指定为逗号分隔的一对组成的'NumPrint'和一个正整数。这种说法适用于当“放牧”值大于0。NumPrint迷你批被处理为所显示的命令行上的收敛总结每一行。

例:'NumPrint',5

数据类型:|

调整迭代的次数“新元”解算器,指定为逗号分隔的一对组成的'NumTuningIterations'和一个正整数。此选项仅对'InitialLearningRate', '汽车'

例:'NumTuningIterations',15

数据类型:|

观察到使用数用于调谐初始学习速率,指定为逗号分隔的一对组成的'TuningSubsetSize'和正整数值从1到ñ。此选项仅对'InitialLearningRate', '汽车'

例:'TuningSubsetSize',25

数据类型:|

SGD或LBFGS选项

全部收缩

最大迭代次数,指定为逗号分隔的一对组成的'IterationLimit'和一个正整数。默认值是10000新元和1000 LBFGS和小批量LBFGS。

每次通过一个批次是迭代。每次通过所有的数据是一个划时代。如果数据被分成ķ小批量,那么每一个时代相当于ķ迭代。

例:'IterationLimit',250

数据类型:|

上步长收敛容差,指定为逗号分隔的一对组成的'StepTolerance'和正实标。该'lbfgs'解算器使用一个绝对的一步宽容,和“新元”求解器使用相对步骤的耐受性。

例:'StepTolerance',0.000005

数据类型:|

小批量LBFGS选项

全部收缩

每小批量最大迭代次数LBFGS步骤,指定为逗号分隔的一对组成的'MiniBatchLBFGSIterations'和一个正整数。

例:'MiniBatchLBFGSIterations',15

小批量LBFGS算法是SGD和LBFGS相结合的方法。因此,所有适用于SGD和LBFGS求解器的名称 - 值对的论点也适用于小批量LBFGS算法。

数据类型:|

输出参数

全部收缩

邻里成分分析模型进行回归,返回为FeatureSelectionNCARegression目的。

参考

[1] Rasmussen的,C. E.,R. M.尼尔,G. E.欣顿,D.面包车Campand,M. Revow,Z. Ghahramani,R. Kustra,R. Tibshirani。该DELVE手册,1996年,http://mlg.eng.cam.ac.uk/pub/pdf/RasNeaHinetal96.pdf。

[2]多伦多大学计算机科学系。藏坑的数据集。http://www.cs.toronto.edu/~delve/data/datasets.html。

[3]沃里克J.N。,T. L.卖方,S. R.塔尔博特,A. J.考索恩,和W. B.福特。“鲍鱼(鲍种)从北海岸和巴斯海峡的岛屿塔斯马尼亚一,黑蝶鲍鱼(H.杨梅)的人口生物学研究。”海洋渔业部门,技术报告第48号(ISSN 1034-3288),1994年。

[4] S.沃。“扩展和基准级联关系”,博士论文。计算机科学系,塔斯马尼亚州,1995年大学。

[5] Lichman,M. UCI机器学习知识库。尔湾,CA:加州大学信息与计算机科学学院,2013年http://archive.ics.uci.edu/ml。

介绍了在R2016b