zoukankan      html  css  js  c++  java
  • [ML]FFCSC数学原理与算法简述(与代码对应)

    本文档对FFCSC_raw代码的核心算法进行简单叙述, 推导过程省略, 符号均与代码中的变量名相匹配.

    目标函数

    [mathop{ ext{arg min}}limits_{d,z}frac{lambda_{r}}{2}||b-Dz||_2^2+lambda_{p}||z||_1+ind_C(d) ]

    使用 ADMM 方法进行优化, 对滤波器 d 和特征图 z 交替进行.

    滤波器 d 的优化

    关于滤波器的优化问题可以表示为

    [mathop{ ext{min}}limits_dfrac{lambda_{r}}{2}||b-MZd||_2^2+ind_C(d) ]

    [left[ egin{array}{} v^{(1)}\ v^{(2)} end{array} ight] = left[ egin{array}{} Zd\d end{array} ight] ]

    [left[egin{array}{}u_k^{(1)}\u_k^{(2)}end{array} ight]=left[egin{array}{}v_{k+1}^{(1)}\v_{k+1}^{(2)}end{array} ight] ]

    可转化为增广拉格朗日问题

    [L_gamma(d,v^{(cdot)},d^{(cdot)})=frac{lambda_{r}}{2}||b-Mv^{(1)}||_2^2+gamma_1[d^{(1)}]^T(v^{(1)}-Zd)+frac{gamma_1}{2}||v^{(1)}-Zd||_2^2+ind_C(v^{(2)})+gamma_2[d^{(2)}]^T(v^{(2)}-d)+frac{gamma_2}{2}||v^{(2)}-d||_2^2 ]

    上述增广拉格朗日问题可划分为若干个子问题:

    [d=left[Z^TZ+frac{gamma_2}{gamma_1}I ight]^{-1}left[Z^T(v^{(1)}+d^{(1)})+frac{gamma_2}{gamma_1}(v^{(2)}+d^{(2)}) ight] ]

    [u^{(1)}=left[M^TM+frac{gamma_1}{lambda_r}I ight]^{-1}left[M^Tb+frac{gamma_1}{lambda_r}(v^{(1)}-d^{(1)}) ight] ]

    [u^{(2)}=egin{cases}frac{v^{(2)}-d^{(2)}}{||v^{(2)}-d^{(2)}||_2} &:||v^{(2)}-d^{(2)}||_2^2ge1\v^{(2)}-d^{(2)} &: ext{else}end{cases} ]

    [d^{(1)}=d^{(1)}+u^{(1)}-v^{(1)}\ d^{(2)}=d^{(2)}+u^{(2)}-v^{(2)} ]

    其中d的更新可以通过矩阵逆引理简化为

    [d=underbrace{frac{gamma_1}{gamma_2}left[I-Z^T(frac{gamma_2}{gamma_1}I+ZZ^T)^{-1}Z ight]}_{ ext{Matrix inversion lemma}}left[Z^Tunderbrace{(v^{(1)}+d^{(1)})}_{x^{(1)}}+frac{gamma_2}{gamma_1}underbrace{(v^{(2)}+d^{(2)})}_{x^{(2)}} ight] ]

    特征图 z 的优化

    关于特征图的优化问题可以表示为

    [mathop{ ext{min}}limits_zfrac{lambda_r}{2}||b-MDz||_2^2+lambda_p||z||_1 ]

    [left[ egin{array}{} v^{(1)}\ v^{(2)} end{array} ight]= left[ egin{array}{} Dz\z end{array} ight] ]

    [left[egin{array}{}u_k^{(1)}\u_k^{(2)}end{array} ight]=left[egin{array}{}v_{k+1}^{(1)}\v_{k+1}^{(2)}end{array} ight] ]

    可转化为增广拉格朗日问题

    [L_gamma(z,v^{(cdot)},d^{(cdot)})=frac{lambda_r}{2}||b-MDz||_2^2+gamma_1[d^{(1)}]^T(v^{(1)}-Dz)+frac{gamma_1}{2}||v^{(1)}-Dz||_2^2+...\ lambda_p||v^{(2)}||_1+gamma_2[d^{(2)}]^T(u^{(2)}-z)+frac{gamma_2}{2}||u^{(2)}-z||_2^2 ]

    上述增广拉格朗日问题可划分为若干个子问题:

    [z=left[D^TD+frac{gamma_2}{gamma_1}I ight]^{-1}left[D^T(v^{(1)}+d^{(1)})+frac{gamma_2}{gamma_1}(v^{(2)}+d^{(2)}) ight] ]

    [u^{(1)}=left[M^TM+frac{gamma_1}{lambda_r}I ight]^{-1}left[M^Tb+frac{gamma_1}{lambda_r}(v^{(1)}-d^{(1)}) ight] ]

    [u^{(2)}= ext{max}left(1-frac{gamma_2/lambda_p}{|v^{(2)}-d^{(2)}|},0 ight)odot (v^{(2)}-d^{(2)}) ]

    [d^{(1)}=d^{(1)}+u^{(1)}-v^{(1)}\ d^{(2)}=d^{(2)}+u^{(2)}-v^{(2)} ]

    其中z的更新可以通过矩阵逆引理简化为

    [z=underbrace{frac{gamma_1}{gamma_2}left[I-D^T(frac{gamma_2}{gamma_1}I+DD^T)^{-1}D ight]}_{ ext{Matrix inversion lemma}}left[D^Tunderbrace{(v^{(1)}+d^{(1)})}_{x^{(1)}}+frac{gamma_2}{gamma_1}underbrace{(v^{(2)}+d^{(2)})}_{x^{(2)}} ight] ]

    近端算子

    Quadratic prox for masked data:

    [ extbf{prox}_{f/lambda}(u)=(M^TM+lambdamathbb{I})^{-1}(M^Tb+lambda u) ]

    Shrinkage prox for sparsity:

    [ extbf{prox}_{f/lambda}(u)= ext{max}(1-frac{1}{lambda|u|},0)odot u ]

    Projection prox for kernel constrains:

    [ extbf{prox}_{f/lambda}(u)=egin{cases}frac{u}{||u||_2} &:||u||_2^2ge1\u &: ext{else}end{cases} ]

  • 相关阅读:
    008. 限制上传文件的大小
    007. 实现登录验证的方式
    006. 创建包含公共类的文件夹
    005. asp.net页面常用指令
    004. 连接默认错误页
    003. 连接access数据库代码
    VS2013生成Release版本MFC程序在其他机器上运行
    MFC WebBrowser判断网页加载完成
    第一课 JAVA环境与第一个HelloWorld运行
    HTTP协议详解&TCP&OSI七层概念模型
  • 原文地址:https://www.cnblogs.com/Clouds42/p/13439092.html
Copyright © 2011-2022 走看看