文档帮助中心文档
sparsefilt
利用稀疏滤波进行特征提取
mdl = sparsefilt(x,q)
Mdl = sparsefilt (X, q,名称,值)
MDL.= sparsefilt(X,问)返回一个稀疏滤波模型对象,该对象包含对预测器数据的表或矩阵应用稀疏滤波的结果X包含p变量。问是从中提取的功能数量X,因此sparsefilt学习A.p-经过-问变换权的矩阵。对于不完全或过完全的特征表示,问可以分别小于或大于预测变量的数量。
MDL.= sparsefilt(X,问)
MDL.
X
问
要访问学习到的转换权值,请使用Mdl。TransformWeights.
Mdl。TransformWeights
转换X通过对所学到的新功能集进行转换,传递MDL.和X至转换.
转换
例子
MDL.= sparsefilt(X,问,名称,值)使用一个或多个指定的其他选项名称,值对参数。例如,您可以标准化预测器数据或应用l2正则化。
MDL.= sparsefilt(X,问,名称,值)
名称,值
全部折叠
创建一个SparseFiltering通过使用的对象sparsefilt函数。
SparseFiltering
加载SampleImagePatches图像补丁。
SampleImagePatches
data =负载(“SampleImagePatches”);大小(data.x)
ans =1×25000 363.
有5,000个图像修补程序,每个图像补丁包含363个功能。
从数据中提取100个特征。
RNG.默认%的再现性Q = 100;obj = sparsefilt(数据。X,问,“IterationLimit”, 100)
警告:解LBFGS无法收敛到一个解。
Obj = SparseFiltering ModelParameters:[1x1 struct] NumPredictors:363 NumLearnedFeatures:100 mu:[] Sigma:[] FitInfo:[1x1 struct]变换重量:[363x100双] InitialTransformweights:[]属性,方法
sparsefilt出现警告,因为它由于达到迭代限制而停止,而不是达到梯度大小的限制或梯度大小限制。您仍然可以通过调用返回对象中的学习功能转换函数。
继续优化稀疏滤波器。
从数据中提取100个功能并使用20的迭代限制。
RNG.默认%的再现性q = 100;Mdl = sparsefilt(数据。X,问,“IterationLimit”, 20);
将生成的变换矩阵视为图像补丁。
wts = mdl.transformuights;w =重塑(WTS,[11,11,3,Q]);[dx,dy,〜,〜] =尺寸(w);为f = 1:q wvec = w(:,:,f);wvec = wvec(:);WVEC =(WVEC - MIN(WVEC))/(MAX(WVEC) - min(WVEC));W(:,::,f)=重塑(wvec,dx,dy,3);结束m =装天花板(sqrt (q));n = m;img = 0 (m * dx, n * dy, 3);f = 1;为我= 1:m为j = 1: n如果(f <= q)img((i-1)* dx + 1:i * dx,(j-1)* dy + 1:j * dy,:) = w(:,::,f);f = f + 1;结束结束结束imshow (img,'InitialMagnification', 300);
图像补丁出现噪声。为了消除噪音,尝试更多的迭代。从停止的地方重新启动优化,再进行40次迭代。
Mdl = sparsefilt(数据。X,问,“IterationLimit”现年40岁的'InitialTransformweights',WTS);
将更新后的变换矩阵视为图像补丁。
这些图像的噪声较小。
预测器数据,指定为n-经过-p数字矩阵或表格。行对应个别观察结果,列对应个别预测变量。如果X是一个表,那么它的所有变量都必须是数字向量。
数据类型:单身的|双倍的|表格
单身的
双倍的
表格
从预测器数据中提取的特征数,指定为一个正整数。
sparsefilt存储p-经过-问转换权重矩阵Mdl。TransformWeights.因此,设置非常大的值问可能导致更大的内存消耗和增加计算时间。
数据类型:单身的|双倍的
指定可选的逗号分隔对名称,值论点。名称参数名和价值是相应的价值。名称必须出现在引号内。您可以按如下顺序指定几个名称和值对参数Name1, Value1,…,的家.
名称
价值
Name1, Value1,…,的家
'标准化',真实,'lambda',1
1
“IterationLimit”
1000
最大迭代次数,指定为逗号分隔的对,由“IterationLimit”和一个正整数。
例子:'iterationlimit',1E6
'iterationlimit',1E6
“VerbosityLevel”
0
监控算法收敛的冗长级别,指定为包括的逗号分隔对“VerbosityLevel”这个表中的值。
融合信息
有趣的价值
常规毕业
规范步骤
cur
好的
伽玛
Α
接受
是的
例子:“VerbosityLevel”,1
“VerbosityLevel”,1
“λ”
l2变换权重矩阵的正则化系数值,指定为包括的逗号分隔对“λ”一个正数标量。如果您指定0,则目标函数中不存在正则化项。
例子:'lambda',0.1
'lambda',0.1
'标准化'
假
真的
标记来标准化预测器数据,指定为逗号分隔的对,由'标准化'和真的(1)或假(0).
如果标准化是真的,那么:
标准化
sparsefilt中心并缩放预测器数据的每列(X)通过柱式和标准偏差分别。
sparsefilt使用标准化的预测矩阵提取新功能,并将预测器变量装置和标准偏差存储在属性中亩和Sigma.的MDL..
亩
Sigma.
例子:“标准化”,真的
“标准化”,真的
数据类型:逻辑
逻辑
'InitialTransformweights'
randn (p, q)
初始化优化的转换权重,指定为包括的逗号分隔对'InitialTransformweights'A.p-经过-问数字矩阵。p必须是列数或变量数吗X和问是价值问.
提示
通过在另一个调用中将其作为初始值传递,您可以继续优化先前返回的转换权重矩阵sparsefilt.输出模型对象MDL.将学习到的变换权重矩阵存储在TransformWeights财产。
TransformWeights
例子:InitialTransformWeights, Mdl。TransformWeights
InitialTransformWeights, Mdl。TransformWeights
“GradientTolerance”
1E-6
梯度范数上的相对收敛容限,指定为逗号分隔对,由“GradientTolerance”一个正数标量。这个梯度就是目标函数的梯度。
例子:“GradientTolerance”,1的军医
“GradientTolerance”,1的军医
'steptolerance'
绝对收敛公差上的步长,由逗号分隔的对组成'steptolerance'一个正数标量。
例子:“StepTolerance”,1的军医
“StepTolerance”,1的军医
学习了稀疏过滤模型,作为一个返回SparseFiltering模型对象。
访问MDL.,使用点表示法。例如:
访问学习的变换权重,使用Mdl。TransformWeights.
访问拟合信息结构,使用mdl.fitinfo..
mdl.fitinfo.
为新数据寻找稀疏滤波系数,使用转换函数。
的sparsefilt函数创建输入功能的非线性转换到输出功能。该转换基于优化的目标函数,该目标函数通过尽可能少的输出特征来鼓励每个示例的表示,同时保持输出特征在示例上同样活跃。
有关详细信息,请参见稀疏的滤波算法.
黎加|SparseFiltering|转换
黎加
您有一个abgeänderte版本dieses Beispiels。Möchten您是来拜访我的Änderungen öffnen?
Sie Haben AUF EINEN LINK GEKLICKT,DER DIESEM MATLAB-BEFEHL ONTSPRICHT:
Führensieden befehl Durch Eingabe在Das Matlab-Befehlsfenster Aus。WebBrowserUnterstützenKeineMatlab-Befehle。
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
请选择表现最佳的中国网站(中文或英文)。MathWorks的其他国家网站并没有针对您所在位置的访问进行优化。
联系您当地的办公室