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.
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}
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.batchsize | default 512 |
param.iter_updateD | |
param.modeParam | 0, 1, 2 |
param.rho | |
param.t0 | |
param.clean | |
param.verbose | |
param.numThreads | by default -1 |
相关文章推荐
- “warning C4251::CStringT<BaseType,StringTraits>需要有 dll 接口”解决办法
- Git Step By Step - Step 1: Start Over Again
- AI-路径导航(最短路径算法 and A算法)
- xcode7报错:does not contain bitcode
- nginx: [emerg] getpwnam(“www”) failed
- poj3250 Bad Hair Day
- 关于在虚拟设备上运行项目的时候遇到INSTALL_FAILED_NO_MATCHING_ABIS,提示卸载以前安装的版本
- Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统
- LintCode --number-of-airplanes-in-the-sky(数飞机)
- *LeetCode-Container With Most Water
- office outlook 2010/2013 问题 求助 help
- A. Raising Bacteria
- 错误Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1
- 纪念人工智能(AI)奠基60周年(续)
- Raising Bacteria (Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] )
- LightOJ 1282 Leading and Trailing(截取前n位输出)
- codeforces #320 div 2A - Raising Bacteria (位运算)
- zoj1163The Staircases
- 【CodeForces】80D Time to Raid Cowavans 分块