经典算法之SRC分类器

自从05、06年开始,稀疏表示开始成为研究的热点。自从陶哲轩和他的小伙伴们解决了稀疏表示的理论问题,压缩感知或Sparse Representation成为学术界的研究热点。2008年,有Wright在PAMI上发表了一篇Sparse Representation based Classifier(SRC)的文章《Robust Face Recognition via Sparse Representation》。该文章从训练样本中抽取一定的样本构建词典,然后使用词典来表示测试样本,选取对应最小残差值的类作为预测的结果。下面简单介绍该算法的过程。

    若Xi表示第i类的训练样本,大小为d*li,d为特征维数,li为样本数量。将所有类别(K类)的训练样本组合成一个矩阵为D=[X1 … Xi … XK],大小为d*l。对于任意一个测试样本,可以表示成如下的线性方式:

                                                       y = Da                    (1)

根据线性代数的知识,已知Dy,系数a可以方便的求解出来。但是,一般情况下,远大于d。因此,公式(1)没有唯一的解。为了得到唯一的解,需要添加一个约束条件,即系数 尽可能的稀疏。因此公式(1)演变为如下的最优问题

                           y = Da   s.t. min ||a|| 1            (2)

上述的问题等同于如下问题:

                                               min ||a|| 1  s.t.y = Da        (3)

该问题属于一种线性约束的最优化问题。已经有很多人研究了如何求解该问题,常用的方法包括梯度法,牛顿法等,这里不一一介绍了。

    求解得到合适的最优系数a*后,利用残差来确定相应的类别,方法如下:

                                             y* = arg mini ei(y), ei(y) = ||y – Xiai*||2          (4)

通过公式(4)求解对应的类别。下面给出一个测试样本的求解结果。

《经典算法之SRC分类器》

图中左边图片为一个测试样本;中间为根据公式(3)求解出的稀疏系数a*;最右边是通过公式(4)计算的残差,可以看出第一个类别的残差最小,因此对应的类别为第1类。

    原文作者:greenapple_shan
    原文地址: https://blog.csdn.net/greenapple_shan/article/details/50547399
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞