Sparsity稀疏编码(三)
稀疏編碼(sparse coding)和低秩矩陣(low rank)的區別
?????? 上兩個小結介紹了稀疏編碼的生命科學解釋,也給出一些稀疏編碼模型的原型(比如LASSO),稀疏編碼之前的探討文章就不說了,今天開始進入機器學習領域的稀疏表達。稀疏編碼進入機器學習領域后,出現了很多應用,比如計算視覺領域的圖像去噪,去模糊,物體檢測,目標識別和互聯網領域的推薦系統(Collaborative filtering)用到的low rank,其實sparsecoding和low rank有點區別,前者是稀疏系數,后者是稀疏基。就統稱他們為稀疏表達吧。接下來簡單的闡述下sparse coding和low rank的區別:
????? Sparsecoding就是圍繞著開展工作,比如找到稀疏字典D和稀疏系數 alpha,如果X是人臉圖像,訓練的目標就是為了找到合適的字典基和一些系數的線性組合可以重建人臉X,假設訓練樣本有K類(即為K個人),每類有N個樣本,那么D可表達為:
,其中下標i表示第i類。
不過還是要強調一下d表示一張圖像向量,假設維度為m。這樣某個樣本可以表示為:
,其中
,這下終于和sparse coding扯上關系咯,alpha是稀疏的,好多0啊。如果假設圖像還有一些噪聲,那么再擴展一下,可以繼續表示為:
到此位置機器學習的sparse coding模型基本就搭建好了,接著要做的就是對它求解,不得不說的是公式中都是未知數,看上去解很多,不過還有一個約束沒用上,就是讓alpha和e的非零個數盡可能的少,稀疏嘛,因此最終建立模型(公式一)所示:
(公式一)
對其優化求解就行了,常用的方法有coordinate descent和Orthogonal Matching Pursuit(OMP)方法,求解的alpha和e是稀疏的,但是求解方法主要看優化,各種優化算法層出不窮,這個話題就打住吧。
現在來看下low rank,先來看一個經典問題,如(圖一)所示:
(圖一)
(圖一)是stanford人工智能教授andrew ng的課件截圖,說的是四個人對不同電影打分,其中Alice和Bob偏向于喜歡看言情的浪漫電影,而Carol和Dave偏向于動作片和武俠片,可以推測出Alice和Bob是女的吧,而Carol和Dave則可能是男的。矩陣Y中也可以大概的看出這種規律,矩陣前兩行數據(男同學打的分)很相似,可以把他們看成同一個軸,而下面兩行看成另外一個軸,這兩個軸構成了打分空間,因此軸就是基,類似于稀疏編碼的字典。但是基是稀疏的,而系數不是稀疏的。其實現實中有很多類似的數據,比如你把對齊的同一個人臉數據按照這樣的矩陣排放,同樣是類似規律。同學們可能在找系數在哪,系數如(圖二)所示:
(圖二)
優化求解模型如(公式二)所示:
(公式二)
沒錯,和上面一樣,又要求X又要求theta,求解方法仍然可以采用 coordinate descent,但也有其他求解方法,其他方法主要從凸優化的角度來考慮,數學界的新星陶哲軒證明了在RIP條件下L0范數(就是計算元素數的)優化和 L1范數優化具有相同的解,然后L1范數是個凸優化問題,順便松弛到trace norm來求解,背后有很多數學證明,今天就說到這了,優化求解方法以后慢慢來觸及吧。
對于稀疏表示的應用可以看看一篇名為“稀疏表達”的上中下博文
轉載請注明鏈接:http://blog.csdn.net/cuoqu/article/details/9040731
總結
以上是生活随笔為你收集整理的Sparsity稀疏编码(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 稀疏编码(Sparse Coding)(
- 下一篇: 谱聚类算法(Spectral Clust