1. 算法简介
K-SVD可以看做K-means的一种泛化形式,K-means算法总每个信号量只能用一个原子来近似表示,而K-SVD中每个信号是用多个原子的线性组合来表示的。
K-SVD通过构建字典来对数据进行稀疏表示,经常用于图像压缩、编码、分类等应用。
2. 主要问题
Y = DX
Where Y∈R(n*N), D∈R(n*K), X∈R(k*N), X is a sparse matrix.
N is number of samples;
n is dimension of feature /dimension of every word in dictionary;
K is the length of a coefficient/the number of atoms in the trained dictionary..
Y为要表示的信号,D为超完备矩阵(列数大于行数), X为系数矩阵,X与Y按列对应,表示D中元素按照Xi为系数线性组合为Y,
我们的目的是找到让X尽量稀疏的D
上面的式子本质上是相通的,只是表述形式不一样罢了。
寻找最优解(X最稀疏)是NP-Hard问题。
用追逐算法(Pursuit Al