稀疏表示學習
1.提出問題:什麼是稀疏表示
假設我們用一個M*N的矩陣表示資料集X,每一行代表一個樣本,每一列代表樣本的一個屬性,一般而言,該矩陣是稠密的,即大多數元素不為0。
稀疏表示的含義是,尋找一個係數矩陣A(K*N)以及一個字典矩陣B(M*K),使得B*A儘可能的還原X,且A儘可能的稀疏。A便是X的稀疏表示。
書上原文為(將一個大矩陣變成兩個小矩陣,而達到壓縮)
“為普通稠密表達的樣本找到合適的字典,將樣本轉化為合適的稀疏表達形式,從而使學習任務得以簡化,模型複雜度得以降低,通常稱為‘字典學習’(dictionary learning),亦稱‘稀疏編碼’(sparse coding)”塊內容
表達為優化問題的話,字典學習的最簡單形式為:
其中xi為第i個樣本,B為字典矩陣,aphai為xi的稀疏表示,lambda為大於0引數。
上式中第一個累加項說明了字典學習的第一個目標是字典矩陣與稀疏表示的線性組合儘可能的還原樣本;第二個累加項說明了alphai應該儘可能的稀疏。之所以用L1正規化是因為L1正規化正則化更容易獲得稀疏解。具體原因參看該書11.4章或移步機器學習中的範數規則化之(一)L0、L1與L2範數。字典學習便是學習出滿足上述最優化問題的字典B以及樣本的稀疏表示A(A{alpha1,alpha2,…,alphai})。L1正則化常用於稀疏,可以獲得稀疏解。如下圖表示,L1正則化交點在軸上,所得的解一般只是在某個軸上有實數,另外的軸為0,從而最終得到稀疏解。
2.字典學習求解 (學習字典、稀疏表示)
求解上述最優化問題的總體策略是,對字典B以及樣本稀疏表示alphai交替迭代優化。即先初始化字典B,
1.固定字典B對alphai進行優化。2.固定A對字典B進行優化。重複上述兩步,求得最終B以及X的稀疏表示A。
其中第一步可採用與LASSO正則化相似的方法(如Proximal Gradient Desent法)進行求解,第二步可採用KSVD方法進行求解。具體步驟參看該書11.5章節內容
參考:
http://blog.csdn.net/sam92/article/details/50731607
http://blog.csdn.net/zouxy09/article/details/24971995/
相關文章
- ch11 特徵選擇與稀疏學習特徵
- 表示學習介紹
- 如何解決稀疏獎勵下的強化學習?強化學習
- 深度強化學習——第十章稀疏獎勵強化學習
- 深度強化學習中稀疏獎勵問題Sparse Reward強化學習
- 正規表示式學習和練習
- Go 正規表示式學習Go
- 正規表示式學習筆記筆記
- Python學習筆記 - lambda表示式Python筆記
- 最近學習到的Lambda表示式
- 如何快速學習正規表示式
- 正規表示式入門學習
- 機器學習之稀疏性正則化:L1 正則化機器學習
- 「機器學習速成」稀疏性正則化:L1正則化機器學習
- java8學習:lambda表示式(2)Java
- java8學習:lambda表示式(1)Java
- JDK1.8 Lambda 表示式的學習JDK
- Python學習筆記 - 正規表示式Python筆記
- java 正規表示式語法學習Java
- 工作學習筆記(十一)Lambda 表示式筆記
- 正規表示式學習(2)---字元特性字元
- 學習正規表示式(js、C#)JSC#
- 龍蜥社群成立DeepRec SIG,開源大規模稀疏模型深度學習引擎模型深度學習
- 學習筆記【深度學習2】:AI、機器學習、表示學習、深度學習,第一次大衰退筆記深度學習AI機器學習
- [Java學習筆記]JDK1.8新特性學習(一)Lambda表示式Java筆記JDK
- JavaScript正規表示式學習筆記(一)JavaScript筆記
- 正規表示式re.compile的學習Compile
- js正規表示式基本語法學習JS
- 前端正規表示式學習和實踐前端
- Javascript學習筆記——4.11 賦值表示式JavaScript筆記賦值
- 從 Vue parseHTML 來學習正規表示式VueHTML
- Image Super-Resolution via Sparse Representation——基於稀疏表示的超解析度重建
- 【小白學演算法】2. 稀疏陣列演算法陣列
- 尹成學院golang學習快速筆記(2)表示式Golang筆記
- 稀疏矩陣矩陣
- 稀疏陣列陣列
- 稀疏感知&稀疏預定義資料排程器
- 符號網路的網路表示學習方法符號