文件帮助中心文件
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.那问:那名称,价值)使用一个或多个指定的其他选项名称,价值对论点。例如,您可以标准化预测器数据或应用L.2正规化。
MDL.= sparsefilt(X.那问:那名称,价值)
名称,价值
崩溃
创建A.SparseFiltering.通过使用的对象Sparsefilt.功能。
SparseFiltering.
加载SampleImagePatches.图像补丁。
SampleImagePatches.
data = load('samemimagepatches');大小(data.x)
ans =.1×25000 363.
有5,000个图像修补程序,每个图像补丁包含363个功能。
从数据中提取100个功能。
RNG.默认重复性的%q = 100;obj = sparsefilt(data.x,q,'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(data.x,q,'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 = CEIL(SQRT(Q));n = m;IMG =零(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(data.x,q,'iterationlimit',40,'InitialTransformweights',WTS);
将更新的转换矩阵视为图像修补程序。
这些图像令人噪声较小。
预测数据,指定为一个N-P.数字矩阵或表。行对应于各个观测和列对应于各个预测变量。如果X.是一个表,那么它的所有变量都必须是数字向量。
数据类型:单身|双人间|表格
单身
双人间
表格
从预测器数据中提取的功能数量指定为正整数。
Sparsefilt.商店A.P.-问:转换权重矩阵mdl.transformweights.。因此,设置非常大的值问:可以导致更大的内存消耗和增加的计算时间。
数据类型:单身|双人间
指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen。
名称
价值
name1,value1,...,namen,valuen
'标准化',真实,'lambda',1
1
'iterationlimit'
1000
指定为逗号分隔对的最大迭代次数'iterationlimit'和一个正整数。
示例:'iterationlimit',1e6
'iterationlimit',1e6
'promoylevel'
0.
监控算法收敛的冗长级别,指定为包括的逗号分隔对'promoylevel'和这个表中的一个值。
收敛信息
有趣的价值
常规毕业
规范步骤
cur
好的
伽玛
alpha.
接受
是的
示例:'promoylevel',1
'promoylevel',1
'lambda'
L.2变换权重矩阵的正则化系数值,指定为包括的逗号分隔对'lambda'和一个正数标量。如果您指定0.,默认情况下,目标函数中没有正则化术语。
示例:'lambda',0.1
'lambda',0.1
'标准化'
假
真实
标志为标准化预测的数据,指定为逗号分隔的配对'标准化'和真实(1)或者假(0.)。
如果标准化是真实然后:
标准化
Sparsefilt.中心并缩放预测器数据的每列(X.)通过柱式和标准偏差分别。
Sparsefilt.使用标准化的预测矩阵提取新功能,并将预测器变量装置和标准偏差存储在属性中穆和Sigma.ofMDL.。
穆
Sigma.
示例:'标准化',真实
'标准化',真实
数据类型:逻辑
逻辑
'InitialTransformweights'
Randn(P,Q)
初始化优化的转换权重,指定为包括的逗号分隔对'InitialTransformweights'A.P.-问:数字矩阵。P.必须是列或变量的数量X.和问:是值的价值问:。
提示
您可以通过将其传递为另一个呼叫中的初始值来继续优化先前返回的变换权重矩阵Sparsefilt.。输出模型对象MDL.存储学习的转换权重矩阵变换重量财产。
变换重量
示例:'InitialTransformweights',mdl.transformwuights
'InitialTransformweights',mdl.transformwuights
'gradienttolerance'
1E-6
梯度范围的相对收敛耐受性,指定为包括的逗号分隔对'gradienttolerance'和一个正数标量。该梯度是目标函数的梯度。
示例:'gradienttolerance',1E-4
'gradienttolerance',1E-4
'steptolerance'
阶梯大小的绝对收敛公差,指定为逗号分隔对组成'steptolerance'和一个正数标量。
示例:'steptolerance',1e-4
'steptolerance',1e-4
学习了稀疏过滤模型,作为一个返回SparseFiltering.模型对象。
访问属性MDL.,使用点表示法。例如:
访问学习的变换权重,使用mdl.transformweights.。
访问拟合信息结构,使用mdl.fitinfo.。
mdl.fitinfo.
要找到新数据的稀疏过滤系数,请使用转变功能。
当Sparsefilt.函数创建输入功能的非线性转换到输出功能。该转换基于优化的目标函数,该目标函数通过尽可能少的输出特征来鼓励每个示例的表示,同时保持输出特征在示例上同样活跃。
有关详细信息,请参阅稀疏过滤算法。
r|SparseFiltering.|转变
r
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室