Sparse Coding
这几天在看特征稀疏的问题,有一些资料指向了Sparse Coding。Sparse Coding与CNN一样也是深度学习的一种常见模式。借此机会复习一下Sparse Coding,因为没有实际编写过Sparse Coding的代码,如有理解不到位的地方,欢迎指出。
本质思想
Sparse Coding是一种无监督学习方法,本质是找到原始输入的一个稀疏表达,也就是用一个稀疏的特征向量来表达原始输入数据。
稀疏编码与自编码的结构很相似,看一下自编码网络:
通过enconde和decode两个过程,多次优化,找到原输入的一个编码表示(图中的code)。
稀疏编码也是如此,不过就是在自编码的基础上加了L1正则限制(约束向量的元素大部分为0)
代价函数
Auto Encoding的优化目标是
Min|I−O|
这里,
I
是输入,
O
是编码后的输出。
O
可以表示为:
O=a