稀疏编码的经典解法——ISTA算法的推导

\qquad 现有一个求稀疏编码的问题:
min ⁡ ∥ z ∥ 0 s . t .   x = D z \min \parallel z \parallel_0 \quad s.t. \ x=Dz minz0s.t. x=Dz
\qquad 其中 D ∈ R n × m D\in \mathbb{R}^{n\times m} DRn×m, z ∈ R m z\in \mathbb{R}^{m} zRm x ∈ R n x\in \mathbb{R}^{n} xRn 的 sparse code.
\qquad 解决上式是一个复杂度随 m 以指数级增长的组合问题,最常见的解决方法是将 l 0 l_0 l0 范数替换为 l 1 l_1 l1范数.即目标函数变为:
a r g min ⁡ D , z 1 2 ∥ x − D z ∥ 2 2 + λ ∥ z ∥ 1 arg\min_{D,z} \frac{1}{2}\parallel x-Dz \parallel_2^2 + \lambda \parallel z \parallel_1 argD,zmin21xDz22+λz1
\qquad 假设 D 已给定,即:
a r g min ⁡ z 1 2 ∥ x − D z ∥ 2 2 + λ ∥ z ∥ 1 arg\min_{z} \frac{1}{2}\parallel x-Dz \parallel_2^2 + \lambda \parallel z \parallel_1 argzmin21xDz22+λz1

\qquad 对于凸二范数 f 1 =   1 2 ∥ x − D z ∥ 2 2 f_1=\ \frac{1}{2}\parallel x-Dz \parallel_2^2 f1= 21xDz22,叫做reconstruction 项,它的函数是这样的
在这里插入图片描述
\qquad 对于凸一范数 f 2 = λ ∥ z ∥ 1 f_2=\lambda\parallel z \parallel_1 f2=λz1,叫做sparsity penalty 项,它的函数是这样的,故其导数为符号函数。
在这里插入图片描述
\qquad 现在我们来求解这个目标函数,即得到使 f f f 值最小时的 z z z.将函数变形为:
f = f 1 + f 2 =   1 2 ∥ x − D z ∥ 2 2 + λ ∥ z ∥ 1 = 1 2 ( x − D z ) T ( x − D z ) + λ ∥ z ∥ 1 \begin{aligned} f&=f_1+f_2\\ &=\ \frac{1}{2}\parallel x-Dz \parallel_2^2 + \lambda \parallel z \parallel_1\\ &=\frac{1}{2}(x-Dz)^T(x-Dz)+\lambda\parallel z \parallel_1\\ \end{aligned} f=f1+f2= 21xDz22+λz1=21(xDz)T(xDz)+λz1
\qquad 故可以梯度下降法来求 z. 对 f f f z z z 的偏导:
∂ f ∂ z = ∂ f 1 ∂ z + ∂ f 2 ∂ z = D T ( D z − x ) + λ s i g n ( z ) \begin{aligned} \frac{\partial f}{\partial z}&=\frac{\partial f_1}{\partial z}+\frac{\partial f_2}{\partial z}\\ &=D^T(Dz-x)+\lambda sign(z) \end{aligned} zf=zf1+zf2=DT(Dzx)+λsign(z)
\qquad 对于reconstruction 项
z k + 1 = z k − α D T ( D z − x ) z^{k+1}=z^k-\alpha D^T(Dz-x) zk+1=zkαDT(Dzx)
\qquad 对于penalty 项 z k + 1 = z k − α λ s i g n ( z ) z^{k+1}=z^k-\alpha\lambda sign(z) zk+1=zkαλsign(z)
\qquad 问题来了,符号函数 s i g n ( z ) sign(z) sign(z) 在 0 处是不可微的
\qquad 解决办法:如果 l 1 n o r m l_1 norm l1norm 的梯度因为 z z z 而改变符号,则将其设为 0 ,即
i f : s i g n ( z ) ≠ s i g n ( z − α λ s i g n ( z ) ) t h e n z = 0 e l s e : z = z − α λ s i g n ( z ) if:\quad sign(z)\neq sign(z-\alpha \lambda sign(z)) \quad then \quad z=0\\ else: \quad z=z-\alpha \lambda sign(z) if:sign(z)=sign(zαλsign(z))thenz=0else:z=zαλsign(z)

\qquad 上面的两项的处理过程概括起来就是 ISTA算法

1.初始化 z ( 0 ) = 0 z^{(0)}=0 z(0)=0
2.当 z ( k ) z^{(k)} z(k) 未收敛

z k = z k − α D T ( D z − x ) z^{k}=z^{k}-\alpha D^T(Dz-x) zk=zkαDT(Dzx)
z k + 1 = s h r i n k ( z k , α λ ) z^{k+1}=shrink(z^k,\alpha \lambda) zk+1=shrink(zk,αλ)

s h r i n k : \qquad shrink: shrink:用来查看函数值是否:不变 / 变0
\qquad 总结上述步骤:
z k + 1 = S α λ ( z k + α D T ( x − D z ) ) z k + 1 = S λ L ( z k + 1 L D T ( x − D z ) ) ( α = 1 L ) \begin{aligned} z^{k+1}&=S_{\alpha \lambda}(z^{k}+\alpha D^T(x-Dz))\\ z^{k+1}&=S_{\frac{\lambda}{L}}(z^{k}+\frac{1}{L} D^T(x-Dz)) \quad(\alpha=\frac{1}{L}) \end{aligned} zk+1zk+1=Sαλ(zk+αDT(xDz))=SLλ(zk+L1DT(xDz))(α=L1)
\qquad 只有当 L ≥ σ m a x ( D T D ) L \geq \sigma_{max}(D^TD) Lσmax(DTD) 时,才能保证收敛性 σ m a x ( A ) \sigma_{max}(A) σmax(A) 表示 A A A 的最大特征值,soft thresholding function S θ ( x ) S_{\theta}(x) Sθ(x) 定义为:
S θ ( x ) = s i g n ( x ) ⋅ m a x ( ∣ x ∣ − θ , 0 ) S_{\theta}(x)=sign(x) \cdot max(|x|-\theta,0) Sθ(x)=sign(x)max(xθ,0)
在这里插入图片描述

  • 8
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
本系统的研发具有重大的意义,在安全性方面,用户使用浏览器访问网站时,采用注册和密码等相关的保护措施,提高系统的可靠性,维护用户的个人信息和财产的安全。在方便性方面,促进了校园失物招领网站的信息化建设,极大的方便了相关的工作人员对校园失物招领网站信息进行管理。 本系统主要通过使用Java语言编码设计系统功能,MySQL数据库管理数据,AJAX技术设计简洁的、友好的网址页面,然后在IDEA开发平台中,编写相关的Java代码文件,接着通过连接语言完成与数据库的搭建工作,再通过平台提供的Tomcat插件完成信息的交互,最后在浏览器中打开系统网址便可使用本系统。本系统的使用角色可以被分为用户和管理员,用户具有注册、查看信息、留言信息等功能,管理员具有修改用户信息,发布寻物启事等功能。 管理员可以选择任一浏览器打开网址,输入信息无误后,以管理员的身份行使相关的管理权限。管理员可以通过选择失物招领管理,管理相关的失物招领信息记录,比如进行查看失物招领信息标题,修改失物招领信息来源等操作。管理员可以通过选择公告管理,管理相关的公告信息记录,比如进行查看公告详情,删除错误的公告信息,发布公告等操作。管理员可以通过选择公告类型管理,管理相关的公告类型信息,比如查看所有公告类型,删除无用公告类型,修改公告类型,添加公告类型等操作。寻物启事管理页面,此页面提供给管理员的功能有:新增寻物启事,修改寻物启事,删除寻物启事。物品类型管理页面,此页面提供给管理员的功能有:新增物品类型,修改物品类型,删除物品类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值