您的位置:首页 > 大数据 > 人工智能

mexTrainDL - SPAms

2015-09-19 16:17 1536 查看
稀疏分解 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

minD∈C1n∑i=1n12||xi−Dαi||22,s.t.||αi||1≤λ

2) if param.mode=1

minD∈C1n∑i=1n||αi||1s.t.||xi−Dαi||22≤λ

3) if param.mode=2 (default)

minD∈C1n∑i=1n{12||xi−Dαi||22+λ||αi||1+λ2||αi||22}

4) if param.mode=3

minD∈C1n∑i=1n12||xi−Dαi||22s.t.||αi||0≤λ

5) if param.mode=4

minD∈C1n∑i=1n||αi||0s.t.||xi−Dαi||22≤λ

6) if param.mode=5

minD∈C1n∑i=1n{12||xi−Dα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={D∈Rm×p,s.t.∀j,||dj||22≤1}

2) if param.modeD=1

C={D∈Rm×p,s.t.∀j,||dj||22+γ1||dj||1≤1}

3) if param.modeD=2

C={D∈Rm×p,s.t.∀j,||dj||22+γ1||dj||1+γ2FL(dj)≤1}

4) if param.modeD=3

C={D∈Rm×p,s.t.∀j,(1−γ1)||dj||22+γ1||dj||1≤1}

参数说明

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.batchsizedefault 512
param.iter_updateD
param.modeParam0, 1, 2
param.rho
param.t0
param.clean
param.verbose
param.numThreadsby default -1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: