K-SVD算法


它與K-mean算法原理上是類似的;

K-mean 算法:

(之前寫過:http://www.cnblogs.com/yinheyi/p/6132362.html

對於初始化的類別中心,可以看作初化的字典(每一列為一個類別中心); 而每一樣本的表示可以用一個稀疏向量表示(此向量只有對應的類別為1,其余為0)

 

K-svd算法:

http://blog.csdn.net/garrison2012/article/details/48135619

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

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

K-SVD是一種經典的字典訓練算法,依據誤差最小原則,對誤差項進行SVD分解,選擇使誤差最小的分解項作為更新的字典原子和對應的原子系數,經過不斷的迭代從而得到優化的解。

具體可以看看參考文獻;

總結一句話:當更新字典中的一個原子時,把該原子對誤差的貢獻清零,然后對剩余的誤差矩陣進行SVD分解(原因是SVD分解可以把最影響該矩陣的向量找出來,可以說成參量沿主軸的分布,  與主成分分析的原理差不多);

對於k-SVD算法,里面還有一些小細節注意,直接看參考文獻吧;

 

 

這里有OMP與K-SVD的工具箱;

http://www.cs.technion.ac.il/~ronrubin/software.html

很好很好的,幫助文檔也很好,很詳細;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM