ksvd字典學習

K-SVD

Rachel Zhang

 

1. k-SVD introduction

1.     K-SVD usage:

Design/Learn a dictionary adaptively to betterfit the model and achieve sparse signal representations.

2.     Main Problem:

Y = DX

Where Y∈R(n*N), D∈R(n*K), X∈R(k*N), X is a sparse matrix.

N is # of samples;

n is measurement dimension;

K is the length of a coefficient.



 

2. Derivation from K-Means

3.       K-Means:

1)       The sparse representationproblem can be viewed as generalization of the VQ objective. K-SVD can be viewed as generalization of K-Means.

2)       K-Means algorithm for vectorquantization:

Dictionary of VQ codewords is typically trained using K-Means algorithm.

When Dictionary D is given, each signal is represented as its closestcodeword (under l2-norm distance). I.e.

Yi = Dxi

Where xi = ej is a vector from the trivial basis,with all zero entries except a one in the j-th position.

3)       VQ的字典訓練:

K-Means被視作一個sparse coding的特例,在係數x中只有一個非零元,MSE定義爲:


所以VQ的問題是:


4)       K-Means 算法實現的迭代步驟:

1) 求X的係數編碼

2) 更新字典

 



 

3. K-SVDgeneralizing the K-Means

4.       Objective function

 

5.       K-SVD的求解

Iterative solution: 求X的係數編碼(MP/OMP/BP/FOCUSS),更新字典(Regression).

K-SVD優化:也是K-SVD與MOD的不同之處,字典的逐列更新:

假設係數X和字典D都是固定的,要更新字典的第k列dk,領稀疏矩陣X中與dk相乘的第k行記做,則目標函數可以重寫爲:

 

上式中,DX被分解爲K個秩爲1的矩陣的和,假設其中K-1項都是固定的,剩下的1列就是要處理更新的第k個。矩陣Ek表示去掉原子dk的成分在所有N個樣本中造成的誤差。

 

6.       提取稀疏項

 如果在5.中這一步就用SVD更新dk,SVD能找到距離Ek最近的秩爲1的矩陣,但這樣得到的係數不稀疏,換句話說,與更新dk的非零元所處位置和value不一樣。那怎麼辦呢?直觀地想,只保留係數中的非零值,再進行SVD分解就不會出現這種現象了。所以對Ek做變換,中只保留x中非零位置的,Ek只保留dk中非零位置乘積後的那些項。形成,將做SVD分解,更新dk



7.       總結

K-SVD總可以保證誤差單調下降或不變,但需要合理設置字典大小和稀疏度。

在我的實驗中,隨着字典的增大,K-SVD有整體效果提升的趨勢,但不一定隨着稀疏度的增大使得整體誤差下降


 

 

 

8.       Reference:

1)       K-SVD: An algorithm fordesigning overcomplete dictionaries for sparse representation (IEEE Trans. OnSignal Processing 2006)

2)       From sparse solutions of systemsof equations to sparse modeling of signals and images (SIAM Review 2009 240')

轉自:http://blog.csdn.net/abcjennifer/article/details/8693342


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章