文档帮助中心文档
sparsefilt
使用稀疏过滤功能提取
Mdl = sparsefilt (X,问)
Mdl = sparsefilt (X, q,名称,值)
Mdl= sparsefilt (X,问)返回一个稀疏过滤模型对象,其中包含对预测器数据表或矩阵应用稀疏过滤的结果X包含p变量。问是从中提取的功能数量X,因此sparsefilt学习一个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 =负载('samemimagepatches');大小(data.x)
ans =1×25000 363
有5000个图像补丁,每个包含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] TransformWeights: [363x100 double] InitialTransformWeights:[]属性,方法
sparsefilt发出警告,因为它是由于达到迭代限制而停止的,而不是由于达到步长限制或梯度大小限制。的方法仍然可以在返回的对象中使用学到的特性变换函数。
继续优化稀疏过滤器。
从数据中提取100个特征,并使用20个迭代限制。
rng默认的%的再现性q = 100;Mdl = sparsefilt(数据。X,问,“IterationLimit”, 20);
将得到的变换矩阵视为图像补丁。
但是= Mdl.TransformWeights;W =重塑(wts,[3 11日,11日,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;为i = 1: m为j = 1: n如果(f < = q) img((张)* dx + 1:我* dx, dy (j - 1) * + 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,…,的家
“标准化”,的确,“λ”,1
1
IterationLimit
1000
最大迭代次数,由逗号分隔对组成“IterationLimit”一个正整数。
“IterationLimit”
例子:“IterationLimit”,1 e6
“IterationLimit”,1 e6
VerbosityLevel
0
监视算法收敛的详细级别,指定为逗号分隔对组成“VerbosityLevel”和这个表中的值。
“VerbosityLevel”
融合信息
有趣的价值
规范研究生
标准步骤
曲线
好的
γ
α
接受
是的
例子:“VerbosityLevel”,1
“VerbosityLevel”,1
λ
l2正则化系数值为变换权值矩阵,指定为逗号分隔对组成“λ”和一个正数标量。如果您指定0,则目标函数中不存在正则化项。
“λ”
例子:“λ”,0.1
“λ”,0.1
标准化
假
真正的
标志来标准化预测器数据,指定为逗号分隔对,由“标准化”和真正的(1)或假(0).
“标准化”
如果标准化是真正的,那么:
sparsefilt对预测数据的每一列进行中心和标度(X)的列均值和标准偏差。
sparsefilt利用标准化的预测矩阵提取新特征,并在属性中存储预测变量均值和标准差μ和σ的Mdl.
μ
σ
例子:“标准化”,真的
“标准化”,真的
数据类型:逻辑
逻辑
InitialTransformWeights
randn (p, q)
初始化优化的转换权重,指定为逗号分隔的对,由“InitialTransformWeights”和一个p——- - - - - -问数字矩阵。p必须是列或变量的数量X和问的价值问.
“InitialTransformWeights”
提示
您可以通过在另一个调用中将其作为初始值传递,继续优化先前返回的转换权重矩阵sparsefilt.输出模型对象Mdl将学习到的变换权矩阵存储在TransformWeights财产。
TransformWeights
例子:InitialTransformWeights, Mdl。TransformWeights
InitialTransformWeights, Mdl。TransformWeights
GradientTolerance
1 e-6
梯度范数上的相对收敛容差,指定为逗号分隔对由“GradientTolerance”和一个正数标量。这个梯度就是目标函数的梯度。
“GradientTolerance”
例子:“GradientTolerance”,1的军医
“GradientTolerance”,1的军医
StepTolerance
绝对收敛公差上的步长,指定为逗号分隔对组成“StepTolerance”和一个正数标量。
“StepTolerance”
例子:“StepTolerance”,1的军医
“StepTolerance”,1的军医
学习稀疏滤波模型,返回为SparseFiltering模型对象。
访问Mdl,使用点符号。例如:
要访问学到的变换权值,请使用Mdl。TransformWeights.
获取拟合信息结构,使用Mdl。FitInfo.
Mdl。FitInfo
为新数据寻找稀疏滤波系数,使用变换函数。
的sparsefilt函数创建输入特征到输出特征的非线性变换。这种转换是基于优化一个目标函数,该目标函数鼓励用尽可能少的输出特征来表示每个示例,同时保持输出特征在示例中同样活跃。
有关详细信息,请参见稀疏的滤波算法.
黎加|SparseFiltering|变换
黎加
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系