字典学习。比如一个向量,是k维的,我现在有一个kn的字典,其中n>>k,所谓的字典学习,就是在这包含n个向量的字典当中寻找一个线性表示可以表示出当前这个k维的向量。
之所以称为“稀疏表示”,因为一般n大于k,比如n=512,k=64。这时候你的字典一定是一个Redundant的。因此你的表示里面一定有很多系数为0,因而被称作稀疏表示。
入门你看Elad那篇IEEE的文章,讲Sparse去噪的。
音序查法:先教学生查拼音首字母,在检字表里然后补全拼音来查,最后按照声调来确定字在字典中的排序
部首查字法:先让学生说字的部首,从部首检字表里找到对应的部首(部首的笔画),然后数出剩余的笔画在对应的部首检字表里查。如果是独体字和难检字,直接去难检字表里查找就好了
四角号码新课标没要求教,学生可以了解。
在解释KSVD去噪原理之前先解释几个名词,首先:
原子:信号的基本构成成分,比如一个长为N的列向量;
字典:许多原子的排序集合,一个NT的矩阵,如果T>N(列数大于行数),则为过完备或冗余字典。信号稀疏之前在压缩感知学习的时候有介绍过,就是信号的非零值很少,这个概念主要应用与信号处理领域,自然信号中主要是低频信息,高频信息大多就是噪声了,在图像中应用滤波器滤除高频成分也就是去噪了。具体怎么完成,就要依靠下面介绍的KSVD。
KSVD的目的就是找到最稀疏的稀疏矩阵X,使得原始矩阵(Y)有最稀疏的表示。假设现在有了一个NT的过完备字典 D,一个要表示的对象y(要还原的图像),求一套系数x,使得y=Dx,这里y是一个已知的长为N的列向量,x是一个未知的长为T的列向量,解方程。这是一个T个未知数,N个方程的方程组,T>N,所以是有无穷多解,但是针对问题目标我们会给这个方程添加约束条件,比如在图像去噪中,我们想要x最稀疏,就是非零值最少,这个在已知D和y求解x的过程就是稀疏编码。
稀疏编码求解的模型就是:x = argminxnorm(y − Dx, 2)2, stnorm(x, 1)≤ε。这里又被分为了两种可能,D已知情况下可以用OMP算法(大意是先找到D和y最接近的一个原子D(m),求出合适的系数x(m),新的y'=D(m) x(m),再找下一个最接近的原子,直到找完合适的x);当D未知时就变成了矩阵分解问题,比如MOD算法的路子:Sparse Coding和Dictionary Update,两步走,第一步固定D,更新x:x = argminxnorm(y − Ax, 2)2, stnorm(x, 1)≤k;第二步更新D: D = argminxnorm(y − Ax, 2)2很像EM算法。
KSVD和MOD最大的不同就是K每次只更新D当中的一个原子,就是D矩阵当中的某一列,因为矩阵相乘可以看做是前一个矩阵的列向量分别乘后一个矩阵的行向量。Loss函数在这里可以进行转化:
而SVD就用在对E的分解,和上面的MOD类似,也是迭代进行就是每次更改D的原子。就比如说KSVD用于图像去噪的话,假如有一个零均值高斯白噪声,即 n ∼ N(0, σ) ,σ是噪声的标准差,有噪声的图像为 z = y + n ,目的是从信号 z 中恢复出原始无噪信号 y,通过最大后验概率,求得目标函数的解,即可恢复出y:x = argminx∥z−Dx∥22, st∥x∥0 ≤ T 。其中T依赖于 ε 和 σ 。为方便优化计算,实际 *** 作中往往转化成: x = argminx∥z−Dx∥22+ μ∥x∥0选取恰当的μ可以让上面两式等价。
以上就是关于ksvd训练出来的字典是什么特征全部的内容,包括:ksvd训练出来的字典是什么特征、ksvd训练的到的字典,进行稀疏表示之后怎么还原、KSVD去噪等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)