K-SVD与On-line dictionary learning

   字典学习是Sparse Coding的重要部分,字典学习通常采用两种方法,一种是K-SVD,另一种则是On-line dictionary learning。两者的区别在于K-SVD是

  

   

K-SVD


K-SVD优化时,字典逐列更新:

假设系数X和字典D都是固定的,要更新字典的第k列dk,领稀疏矩阵X中与dk相乘的第k行记做,则目标函数可以重写为:

     

   上式中,DX被分解为K个秩为1的矩阵的和,假设其中K-1项都是固定的,剩下的1列就是要处理更新的第k个。矩阵Ek表示去掉原子dk的成分在所有N个样本中造成的误差。

   

     提取稀疏项

     我们不能直接对上式进行SVD分解,通过轮换的方法求出,因为对应的是X的一行,我们并没有对此施加稀疏性约束。解决方法如下:


对(21)进行最小化等价于:



另外参考:http://blog.csdn.net/abcjennifer/article/details/8693342



 On-line dictionary learning


  


=============================================================================


===============================================================================





推荐一个Sparse Coding 工具包:SPAMS [下载]





Reference:

1)  An Introduction to Sparse Coding and Dictionary Learning

2)  K-SVD: An Algorithm for Designing of Overcomplete Dictionaries for Sparse Representation

3)  Online Dictionary Learning for Sparse Coding


   


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值