mexTrainDL - SPAms

稀疏分解 Y=Dα 分爲兩個步驟:

  • sparse coding stage: means given D, to get sparse coefficients. (根據對稀疏係數向量的稀疏範數要求,分爲算法OMP for L0 , 算法LARS for L1,L2 )
  • atoms updating stage: means given α , to update atoms in dictionary D .

1) if param.mode=0

minDC1ni=1n12||xiDαi||22,s.t.||αi||1λ

2) if param.mode=1
minDC1ni=1n||αi||1s.t.||xiDαi||22λ

3) if param.mode=2 (default)
minDC1ni=1n{12||xiDαi||22+λ||αi||1+λ2||αi||22}

4) if param.mode=3
minDC1ni=1n12||xiDαi||22s.t.||αi||0λ

5) if param.mode=4
minDC1ni=1n||αi||0s.t.||xiDαi||22λ

6) if param.mode=5
minDC1ni=1n{12||xiDαi||22+λ||αi||0}

When param.mode=1, 2, 可以考慮 mexTrainDL_Memory()
When param.mode=3, 4, 5, sparse coding stage is solved by OMP.

對D的約束:C

C is a convex set verifing:

1) if param.modeD=0 (default)

C={DRm×p,s.t.j,||dj||221}

2) if param.modeD=1
C={DRm×p,s.t.j,||dj||22+γ1||dj||11}

3) if param.modeD=2
C={DRm×p,s.t.j,||dj||22+γ1||dj||1+γ2FL(dj)1}

4) if param.modeD=3
C={DRm×p,s.t.j,(1γ1)||dj||22+γ1||dj||11}

參數說明

parameter 說明
param.D
param.K
param.lamda
param.lamda2
param.iter
param.mode
param.posAlpha 係數矩陣 α 非負性(not compatible with param.mode =3,4))
param.modeD
param.posD 字典D 矩陣的非負性(not compatible with param.modeD=2)
param.gamma1
pamma.gamma2
param.batchsize default 512
param.iter_updateD
param.modeParam 0, 1, 2
param.rho
param.t0
param.clean
param.verbose
param.numThreads by default -1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章