美文网首页深度学习
【字典 autoencoder】K-SVD简述——字典学习,稀疏

【字典 autoencoder】K-SVD简述——字典学习,稀疏

作者: hzyido | 来源:发表于2015-09-20 09:59 被阅读340次

    K-SVD

    1. k-SVD introduction

    1.     K-SVD usage:

        Design/Learn a dictionary adaptively to betterfit the model and achieve sparse signal representations.

    2.     Main Problem:

                     Y = DX

                     WhereY∈R(n*N), D∈R(n*K), X∈R(k*N), X is a sparse matrix.

    N is # of samples;

    n is measurement dimension;

    K is the length of a coefficient.

    2.       Derivation from K-Means

    3.       K-Means:

    1)       The sparse representationproblem can be viewed as generalization of the VQ objective.K-SVD can be viewed as generalization of K-Means.

    2)       K-Means algorithm for vectorquantization:

    Dictionary of VQ codewords is typically trained using K-Means algorithm.

    When Dictionary D is given, each signal is represented as its closestcodeword (under l2-norm distance). I.e.

    Yi= Dxi

    Where xi= ejis a vector from the trivial basis,with all zero entries except a one in the j-th position.

    3)       VQ的字典训练:

    K-Means被视作一个sparse coding的特例,在系数x中只有一个非零元,

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

    6.       提取稀疏项

        如果在5.中这一步就用SVD更新dk和,SVD能找到距离Ek最近的秩为1的矩阵,但这样得到的系数不稀疏,换句话说,与更新dk前的非零元所处位置和value不一样。那怎么办呢?直观地想,只保留系数中的非零值,再进行SVD分解就不会出现这种现象了。所以对Ek和做变换,中只保留x中非零位置的,Ek只保留dk和中非零位置乘积后的那些项。形成,将做SVD分解,更新dk。

    7.总结

    K-SVD总可以保证误差单调下降或不变,但需要合理设置字典大小和稀疏度。

    在我的实验中,随着字典的增大,K-SVD有整体效果提升的趋势,但不一定随着稀疏度的增大使得整体误差下降。

    8.       Reference:

    1)       K-SVD: An algorithm fordesigning overcomplete dictionaries for sparse representation (IEEE Trans. OnSignal Processing 2006)

    2)       From sparse solutions of systemsof equations to sparse modeling of signals and images (SIAM Review 2009 240')

    相关文章

      网友评论

      本文标题:【字典 autoencoder】K-SVD简述——字典学习,稀疏

      本文链接:https://www.haomeiwen.com/subject/mizbcttx.html