Efficient Sparse Coding Algorithm
生活随笔
收集整理的這篇文章主要介紹了
Efficient Sparse Coding Algorithm
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ http://www.stanford.edu/~hllee/nips06-sparsecoding.pdf NIPS2006講sparse coding的文章,這篇文章講的算法是如何對目標函數 argmin_{A,x} f(A, x) = || y - Ax ||^2 +? lambda || x ||_1 s.t. ||A_i||^2< c 進行優化, 找到參數A和x,使得f(x)最小;其中lambda,c是超參。 這個算法的intuitive idea是這樣的,算法想模擬人腦處理信息的模式,人腦中可以處理各種各樣的信息,比如文本,圖形,聲音,氣味,視覺,味覺,觸覺等等。但是這些信息最根本的是通過什么來表達呢?哪就是neuron,和 activation. 人腦中neuron的個數我不知道確切的有多少,但是我想是billion 甚至是更多的數量級上的。但是,顯然不是每個信息的表示都需要所有neuron參與,參與表示的neuron其實是被激活的,這就是activation的概念。這個算法中neuron對應著A,activation對應x (可能說反了,不過無所謂,以后看這個的時候能明白怎么回事)。Sparse coding的意思就包含在x里面,也就是說x是一個sparse的向量,因為在A中,只有一部分的basis 需要激活。 具體的算法,需要參看文章了。這里說一下他的大概思想,因為f(A,x)是convex的,相對于每一個參數單獨來看的話。所以f(A,x)有global minimum?(不太懂2個參數的凸函數,這個是不確定的) 可以把兩個參數分開看。當把G(x)=f(A,x)來看的話,G(x)是一個L-1 regularized least square problem; 當把 H(A)=f(A,x)來看的話,H(A)是一個L-2 constrained least square problem. H(A)通過解dual problem可以得到解。 G(x)通過他的feature sign search算法可以得到,search算法,先是initialize 一個x 通過在H(x)值下降的方向上去搜索合適的x和xi的符號,最后得到全局最優解。算法比較的時候,比LARS算法和其他算法快。 讀完這個文章有一些問題: 1.這個文章是ICML07 self taught learning算法最重要的參考文獻,還可以有別的應用么? 算法實際上會不會很慢呢? 2.Sparse coding和ICA算法有什么區別和聯系呢? 3.Sparse coding, PCA, SVD, topic model都是把original feature space 投影到 new feature space當中來,什么時候適合用那一種投影方式?不知道那個paper有講過。 |
轉自:http://johnsonnjucs.spaces.live.com/blog/cns!258E5B93443F4F10!405.entry
總結
以上是生活随笔為你收集整理的Efficient Sparse Coding Algorithm的全部內容,希望文章能夠幫你解決所遇到的問題。