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

最低0.47元/天 解锁文章
1982





