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 <script type="math/tex" id="MathJax-Element-61">D</script> 矩阵的非负性(not compatible with param.modeD=2)
param.gamma1
pamma.gamma2
param.batchsizedefault 512
param.iter_updateD
param.modeParam0, 1, 2
param.rho
param.t0
param.clean
param.verbose
param.numThreadsby default -1
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值