zoukankan      html  css  js  c++  java
  • sparse coding稀疏表达入门

    最近在看sparse and redundant representations这本书,进度比较慢,不过力争看过的都懂,不把时间浪费掉。才看完了不到3页吧,书上基本给出了稀疏表达的概念以及传统的求法。我也用书中的例子来引入吧。

    1:矩阵A(n*m),其中n远远小于m,一副图片经过缩小或者模糊处理导致该图片所占用的空间变小了,此时用向量b来表示,A表示图片所经过的处理,X代表原图片,那么这个就可以表示成为:

    Ax=b

    2:因为A是欠定的,一般情况下x的解有很多种,而我们要的是那种最稀疏的x。个人理解这个就是稀疏表达吧。

    3:接下来文章引入了如何求x的方法,假定j(x)是求x最稀疏的函数,并且前提条件是Ax=b。用数学表达也就是

    Min j(x) s.t. Ax=b

    4:为了求出这个j(x),一般情况下这个j(x)对应的是x的范数||x||右下角2的平方最小值,为了求出||x||右下角2的平方最小值,我们引入了拉格朗日乘数。关于拉格朗日乘数,我在下面补充,省的再去找资料看了。

    拉格朗日乘数:它是专门为某变量在其他约束条件下求极值的问题解决方案,当m个变量在K个约束条件下求极值的话,它把变成k+m个数来求变量的极值,给约束条件加一个乘子即可。也就是我们上面的列出来的。

    为了求出x的最小值,对x求偏导(当导数为0的地方时极值点)最终得到结果如下:

    那么X的最优化的解就是(是让上式为0得到的):

     

     

    把该值代入最初的Ax=b中可以求得拉姆达的值,然后就得到X最优化的解为:

    补充:个人对稀疏表达的理解是,如果输入为一个很复杂的A,为了得到稀疏的表达b,那么经过一系列的操作x得到b,我觉得目的是为了得到稀疏表达的b,但是书中给出的例子是这样,也可能我对信号处理这些地方从没有过接触,导致的不太理解。。目前看了3页书,实在觉得太难看下去了,看到一个点都要去复习几天的书,才能够连贯起来。。

  • 相关阅读:
    ZD ZDC数据类型 sort
    常识
    面试
    无锡
    sqlldr return code
    025:为什么需要将Logger对象声明为private static final类型的
    中级职称
    《宪法》关于全国人民代表大会的规定
    python打包成exe
    请问.AE和PR有什么区别?
  • 原文地址:https://www.cnblogs.com/txg198955/p/3999085.html
Copyright © 2011-2022 走看看