sparsefilt
特征提取,利用稀疏的过滤
描述
例子
创建稀疏的过滤器
创建一个SparseFiltering
通过使用对象sparsefilt
函数。
加载SampleImagePatches
图像补丁。
data =负载(“SampleImagePatches”);大小(data.X)
ans =1×25000 363
363年有5000个图像补丁,每个都包含的特性。
从数据中提取100特性。
rng默认的%的再现性Q = 100;obj = sparsefilt (data.X Q“IterationLimit”,100)
警告:解决LBFGS无法收敛到一个解决方案。
obj = SparseFiltering ModelParameters: [1 x1 struct] NumPredictors: 363 NumLearnedFeatures: 100亩:σ[]:[]FitInfo: [1 x1 struct] TransformWeights: [363 x100双]InitialTransformWeights:[]属性,方法
sparsefilt
发出一个警告,因为它停止由于迭代达到极限,而不是达到一个步长限制或gradient-size极限。你仍然可以使用学到的特性通过调用返回的对象变换
函数。
重新启动sparsefilt
继续优化稀疏的过滤器。
加载SampleImagePatches
图像补丁。
data =负载(“SampleImagePatches”);大小(data.X)
ans =1×25000 363
363年有5000个图像补丁,每个都包含的特性。
从数据中提取100特性和使用迭代20的极限。
rng默认的%的再现性q = 100;Mdl = sparsefilt (data.X q“IterationLimit”,20);
警告:解决LBFGS无法收敛到一个解决方案。
查看生成的变换矩阵作为图像补丁。
但是= 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 (data.X q“IterationLimit”现年40岁的“InitialTransformWeights”wts);
警告:解决LBFGS无法收敛到一个解决方案。
视图的更新变换矩阵作为图像补丁。
但是= 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);
这些图片不太吵了。
输入参数
X
- - - - - -预测数据
数字矩阵|表
预测数据,指定为一个n——- - - - - -p数字矩阵或表。行对应于个人观察和列对应个人预测变量。如果X
是一个表,那么所有的变量必须是一个数字向量。
数据类型:单
|双
|表
问
- - - - - -特征提取的数量
正整数
数量的特征提取的预测数据,指定为一个正整数。
sparsefilt
存储p——- - - - - -问
重量转换矩阵Mdl.TransformWeights
。因此,设置非常大的值问
会导致更大的内存消耗和增加计算时间。
数据类型:单
|双
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“标准化”,的确,“λ”,1
标准化的预测数据和应用一个点球1
权重矩阵的变换。
IterationLimit
- - - - - -最大迭代次数
1000年
(默认)|正整数
最大迭代次数,指定为逗号分隔组成的“IterationLimit”
和一个正整数。
例子:“IterationLimit”, 1 e6
数据类型:单
|双
VerbosityLevel
- - - - - -冗长的水平
0
(默认)|非负整数
冗长水平监测算法收敛,指定为逗号分隔组成的“VerbosityLevel”
在这个表和一个值。
价值 | 描述 |
---|---|
0 |
sparsefilt 在命令行中不显示融合信息。 |
正整数 | sparsefilt 在命令行显示融合信息。 |
融合信息
标题 | 意义 |
---|---|
有趣的价值 |
目标函数值。 |
规范研究生 |
规范的目标函数的梯度。 |
标准步骤 |
迭代步骤的规范,这意味着以前的点和当前点之间的距离。 |
曲线 |
好吧 意味着软弱的沃尔夫条件满足。这个条件是充分的结合减少目标函数和曲率条件。 |
γ |
内积的一步倍梯度差异,除以梯度差异与自身的内积。梯度差异是当前点的梯度-前面点的梯度。在目标函数曲率提供诊断信息。 |
α |
不同于一步方向乘数1 当算法执行一行搜索。 |
接受 |
是的 意味着算法找到一个可接受的一步。 |
例子:“VerbosityLevel”, 1
数据类型:单
|双
λ
- - - - - -l2正则化系数值
0
(默认)|积极的数字标量
l2正则化系数值权重矩阵的变换,指定为逗号分隔组成的“λ”
和积极的数字标量。如果您指定0
默认,然后没有目标函数正则化项。
例子:“λ”,0.1
数据类型:单
|双
GradientTolerance
- - - - - -相对收敛公差梯度准则
1 e-6
(默认)|积极的数字标量
相对收敛公差梯度准则,指定为逗号分隔组成的“GradientTolerance”
和积极的数字标量。这是目标函数的梯度渐变。
例子:“GradientTolerance”, 1的军医
数据类型:单
|双
StepTolerance
- - - - - -绝对收敛步长公差
1 e-6
(默认)|积极的数字标量
绝对收敛步长公差,指定为逗号分隔组成的“StepTolerance”
和积极的数字标量。
例子:“StepTolerance”, 1的军医
数据类型:单
|双
输出参数
Mdl
——学习稀疏过滤模型
SparseFiltering
模型对象
学会了稀疏的过滤模型,作为一个返回SparseFiltering
模型对象。
访问的属性Mdl
,使用点符号。例如:
访问学习改变权重,使用
Mdl.TransformWeights
。访问信息结构,使用
Mdl.FitInfo
。
寻找新的数据稀疏的滤波系数,使用变换
函数。
算法
的sparsefilt
函数创建一个非线性变换的输入特性输出特性。转换是基于优化一个目标函数,鼓励每个示例的代表尽可能少的输出特性,同时保持输出特性同样活跃在示例。
有关详细信息,请参见稀疏的滤波算法。
版本历史
介绍了R2017a
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。