改装
类:FeatureSelectionNCARegression
修正邻域成分分析(NCA)模型进行回归
语法
mdlrefit = refit(mdl,名称,值)
输入参数
mdl
- - - - - -回归的邻域成分分析模型
FeatureSelectionNCARegression
对象
邻域成分分析模型或分类,指定为FeatureSelectionNCARegression
对象。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
FitMethod
- - - - - -模型拟合方法
mdl。FitMethod
(默认)|“准确”
|“没有”
|“平均”
拟合模型的方法,指定为逗号分隔的对,由“FitMethod”
下面是其中之一。
“准确”
-使用所有数据进行拟合。“没有”
-不合身。使用此选项可使用调用中提供的初始特征权重来评估NCA模型的泛化误差fsrnca
.“平均”
-该函数将数据划分为分区(子集),使用确切的
方法,并返回特征权重的平均值。属性指定分区的数量NumPartitions
名称-值对参数。
例子:“FitMethod”、“没有”
λ
- - - - - -正则化参数
mdl。λ
(默认)|非负标量值
正则化参数,指定为逗号分隔的对,由“λ”
和一个非负标量值。
为n观察是最好的λ
将NCA模型的泛化误差最小化的值预期为1/的倍数n
例子:“λ”,0.01
数据类型:双
|单
解算器
- - - - - -解算器类型
mdl。解算器
(默认)|“lbfgs”
|“sgd”
|“minibatch-lbfgs”
用于估计特征权重的求解器类型,指定为逗号分隔的对,由“规划求解”
下面是其中之一。
“lbfgs”
-有限内存BFGS算法(broyden - fletche - goldfarb - shanno)“sgd”
-随机梯度下降“minibatch-lbfgs”
随机梯度下降与LBFGS算法应用于小批量
例子:“规划求解”、“minibatch-lbfgs”
InitialFeatureWeights
- - - - - -初始特征权重
mdl。InitialFeatureWeights
(默认)|p-by-1向量的实正标量值
初始特征权重,由逗号分隔的对组成“InitialFeatureWeights”
和一个p-by-1向量的实正标量值。
数据类型:双
|单
详细的
- - - - - -详细级别指示器
mdl。详细的
(默认)|0|1|> 1
收敛摘要显示的详细级别指示符,指定为逗号分隔的对,由“详细”
下面是其中之一。
0 -没有收敛摘要
1 -收敛总结,包括迭代次数,梯度范数,目标函数值。
>1 -更多的收敛信息取决于拟合算法
使用求解器时
“minibatch-lbfgs”
和详细级别>1,收敛信息包括中间小批量LBFGS拟合的迭代日志。
例子:“详细”,2
数据类型:双
|单
GradientTolerance
- - - - - -相对收敛公差
mdl。GradientTolerance
(默认)|正实标量值
求解器在梯度范数上的相对收敛公差lbfgs
,指定为逗号分隔的对,由“GradientTolerance”
和一个正的实标量。
例子:“GradientTolerance”,0.00001
数据类型:双
|单
InitialLearningRate
- - - - - -求解器的初始学习率sgd
mdl。InitialLearningRate
(默认)|正实标量值
求解器的初始学习率sgd
,指定为逗号分隔的对,由“InitialLearningRate”
一个正标量。
使用求解器类型时“sgd”
时,学习率从指定的值开始在迭代中衰减“InitialLearningRate”
.
例子:“InitialLearningRate”,0.8
数据类型:双
|单
PassLimit
- - - - - -求解器的最大通过数“sgd”
mdl。PassLimit
(默认)|正整数值
求解器的最大通过数“sgd”
(随机梯度下降),指定为逗号分隔的对,由“PassLimit”
一个正整数。每道工序尺寸(mdl.X, 1)
观察。
例子:“PassLimit”,10
数据类型:双
|单
IterationLimit
- - - - - -最大迭代次数
mdl。IterationLimit
(默认)|正整数值
最大迭代次数,指定为由逗号分隔的对组成的“IterationLimit”
一个正整数。
例子:“IterationLimit”,250年
数据类型:双
|单
输出参数
mdlrefit
-邻域成分分析回归模型
FeatureSelectionNCARegression
对象
邻域成分分析模型或分类,返回为FeatureSelectionNCARegression
对象。您可以将结果另存为新模型,也可以将现有模型更新为mdl = refit(mdl,Name,Value)
.
例子
修正NCA模型的回归设置
加载样例数据。
负载(“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,“罗”)
调优正则化参数通常会改善结果。假设在调优之后
使用交叉验证调整回归NCA中的正则化参数最好的
发现值为0.0035。改装的nca
使用这个模型
值和随机梯度下降作为求解器。计算预测损失。
Nca3 =改装(nca2,“FitMethod”,“准确”,“λ”, 0.0035,...“规划求解”,“sgd”);L3 = loss(nca3,Xtest,ytest)
L3 = 0.0573
绘制特征权重。
图()图(nca3。FeatureWeights,“罗”)
调整正则化参数后,损失进一步减少,软件确定了四个相关的特征。
参考文献
[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
版本历史
在R2016b中引入
第一MATLAB
海脂循环匹配函数对应求解MATLAB:
Esegui il commanmando inserendolo nella finestra di commanmando MATLAB。我的浏览器web不支持和MATLAB万博1manbetx。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。