close

Paper Information

Mairal, Julien, et al. “Online dictionary learning for sparse coding.Proceedings of the 26th annual international conference on machine learning. ACM, 2009.

Introduction

Sparse coding指的是將高維空間的data想成是一些基本元素(basis)的相加,有點類似抽feature的概念. 論文中要求的D很類似於auto-encoder的decoder的部分,與D不同在於: auto-encoder

不會要求中間的編碼是sparse的. 至於要求sparse的原因是更少的非零基本元素有更佳的解釋效果,也代表model有更好的抽取feature的能力.

Contribution

作者提出利用online learning的方式去得到dictionary,而非傳統的Batch learning,以下為兩者的比較.

Online learning vs Batch learning:

1. Online learning:

Online learning強調的學習是即時的, 每次訓練不用使用全部的資料, 而是以之前訓練好的模型為基礎, 每次處理一筆資料就更新一次模型, 這種方法叫做OGD(online gradient descent)。

2. Batch learning:

每次訓練都需要使用全部資料, 所以無法處理過大的training data。

Summarization

假設有m維的資料x, 那目的就是找到一個m*k維的D(也就是標題dictionary), 讓我們可以找到一組稀疏的線性組合逼近x。在此處k指的的是basis的數目。有了合適的D後, 就可以用basis的weight來代表整個x:

1

擷取

為了避免過大的D可以使得α太小, 每一個column vector的長度不大於1:

2

統整以上兩者:

3.PNG

因為loss function 為non-convex , 所以作者提出一種iterative學習的方法:
1. 固定D, 學習α

2. 固定α, 學習D

以下為學習的演算法:

4

5

Result:

6

7

arrow
arrow
    全站熱搜

    李祐賢 發表在 痞客邦 留言(0) 人氣()