主要内容

改装

类:FeatureSelectionNCARegression

修正邻域成分分析(NCA)模型进行回归

语法

mdlrefit = refit(mdl,名称,值)

描述

mdlrefit=改装(mdl名称,值改装模型mdl,使用由一个或多个指定的已修改参数名称,值对参数。

输入参数

全部展开

邻域成分分析模型或分类,指定为FeatureSelectionNCARegression对象。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

合适的选项

全部展开

拟合模型的方法,指定为逗号分隔的对,由“FitMethod”下面是其中之一。

  • “准确”-使用所有数据进行拟合。

  • “没有”-不合身。使用此选项可使用调用中提供的初始特征权重来评估NCA模型的泛化误差fsrnca

  • “平均”-该函数将数据划分为分区(子集),使用确切的方法,并返回特征权重的平均值。属性指定分区的数量NumPartitions名称-值对参数。

例子:“FitMethod”、“没有”

正则化参数,指定为逗号分隔的对,由“λ”和一个非负标量值。

n观察是最好的λ将NCA模型的泛化误差最小化的值预期为1/的倍数n

例子:“λ”,0.01

数据类型:|

用于估计特征权重的求解器类型,指定为逗号分隔的对,由“规划求解”下面是其中之一。

  • “lbfgs”-有限内存BFGS算法(broyden - fletche - goldfarb - shanno)

  • “sgd”-随机梯度下降

  • “minibatch-lbfgs”随机梯度下降与LBFGS算法应用于小批量

例子:“规划求解”、“minibatch-lbfgs”

初始特征权重,由逗号分隔的对组成“InitialFeatureWeights”和一个p-by-1向量的实正标量值。

数据类型:|

收敛摘要显示的详细级别指示符,指定为逗号分隔的对,由“详细”下面是其中之一。

  • 0 -没有收敛摘要

  • 1 -收敛总结,包括迭代次数,梯度范数,目标函数值。

  • >1 -更多的收敛信息取决于拟合算法

    使用求解器时“minibatch-lbfgs”和详细级别>1,收敛信息包括中间小批量LBFGS拟合的迭代日志。

例子:“详细”,2

数据类型:|

LBFGS或Mini-Batch LBFGS选项

全部展开

求解器在梯度范数上的相对收敛公差lbfgs,指定为逗号分隔的对,由“GradientTolerance”和一个正的实标量。

例子:“GradientTolerance”,0.00001

数据类型:|

SGD或Mini-Batch LBFGS选项

全部展开

求解器的初始学习率sgd,指定为逗号分隔的对,由“InitialLearningRate”一个正标量。

使用求解器类型时“sgd”时,学习率从指定的值开始在迭代中衰减“InitialLearningRate”

例子:“InitialLearningRate”,0.8

数据类型:|

求解器的最大通过数“sgd”(随机梯度下降),指定为逗号分隔的对,由“PassLimit”一个正整数。每道工序尺寸(mdl.X, 1)观察。

例子:“PassLimit”,10

数据类型:|

SGD或LBFGS或Mini-Batch LBFGS选项

全部展开

最大迭代次数,指定为由逗号分隔的对组成的“IterationLimit”一个正整数。

例子:“IterationLimit”,250年

数据类型:|

输出参数

全部展开

邻域成分分析模型或分类,返回为FeatureSelectionNCARegression对象。您可以将结果另存为新模型,也可以将现有模型更新为mdl = refit(mdl,Name,Value)

例子

全部展开

加载样例数据。

负载(“robotarm.mat”

robotarm(pumadyn32nm)数据集使用机械臂模拟器创建,有7168个训练和1024个测试观测,32个特征[1],[2]。这是原始数据集的预处理版本。数据通过减去线性回归拟合进行预处理,然后将所有特征归一化到单位方差。

计算不选择特征的泛化误差。

nca = fsrnca(Xtrain,ytrain,“FitMethod”“没有”“标准化”1);L =损失(nca,Xtest,ytest)
L = 0.9017

现在,改装模型,计算预测损失与特征选择,与 λ = 0(无正则化项),并与之前的损失值进行比较,以确定特征选择对于这个问题似乎是必要的。对于您不更改的设置,改装使用初始模型的设置nca.例如,它使用中找到的特征权重nca作为初始特征权重。

Nca2 =改装nca,“FitMethod”“准确”“λ”, 0);L2 =损失(nca2,Xtest,ytest)
L2 = 0.1088

损失的减少表明特征选择是必要的。

绘制特征权重。

图()图(nca2。FeatureWeights,“罗”

图中包含一个轴对象。axis对象包含一个line类型的对象。

调优正则化参数通常会改善结果。假设在调优之后 λ 使用交叉验证调整回归NCA中的正则化参数最好的 λ 发现值为0.0035。改装的nca使用这个模型 λ 值和随机梯度下降作为求解器。计算预测损失。

Nca3 =改装(nca2,“FitMethod”“准确”“λ”, 0.0035,...“规划求解”“sgd”);L3 = loss(nca3,Xtest,ytest)
L3 = 0.0573

绘制特征权重。

图()图(nca3。FeatureWeights,“罗”

图中包含一个轴对象。axis对象包含一个line类型的对象。

调整正则化参数后,损失进一步减少,软件确定了四个相关的特征。

参考文献

[1]拉斯穆森,C. E.尼尔,G. E.欣顿,D.范坎普,M. Revow, Z. Ghahramani, R. Kustra和R. Tibshirani。DELVE手册,1996,https://mlg.eng.cam.ac.uk/pub/pdf/RasNeaHinetal96.pdf

[2]https://www.cs.toronto.edu/~delve/data/datasets.html

版本历史

在R2016b中引入