首先向大家安利一下南大周志华老师写的《机器学习》这本书,作为一个对此一窍不通的人看了都觉得很有意思,受益匪浅。语言平实却又干货十足,比某些故弄玄虚泛泛而谈的其它国内教材高到不知哪里去了。
最近看的论文涉及到稀疏表示,正好这本书有讲到。这两天看了一下该书关于稀疏表示的部分(第11章),将核心知识点总结归纳一下,以免遗忘。若有错误,望大家赐教。
1.提出问题:什么是稀疏表示
假设我们用一个M*N的矩阵表示数据集X,每一行代表一个样本,每一列代表样本的一个属性,一般而言,该矩阵是稠密的,即大多数元素不为0。
稀疏表示的含义是,寻找一个系数矩阵A(K*N)以及一个字典矩阵B(M*K),使得B*A尽可能的还原X,且A尽可能的稀疏。A便是X的稀疏表示。
书上原文为
“为普通稠密表达的样本找到合适的字典,将样本转化为合适的稀疏表达形式,从而使学习任务得以简化,模型复杂度得以降低,通常称为‘字典学习’(dictionary learning),亦称‘稀疏编码’(sparse coding)”块内容
表达为优化问题的话,字典学习的最简单形式为:
<