稀疏表示学习笔记(二)-- 如何计算稀疏表示

稀疏表示学习(二)

本次主要学习资料是Duke大学Guillermo Sapiro教授的公开课——Image and video processing, by Pro.Guillermo Sapiro 课程。该课程可以在 Bilibili 上找到学习资源。

1. 稀疏建模的理论和实现 - 如何计算稀疏表示

我们已经有了信号和字典,怎么求其稀疏表示 α \alpha α ? 我们想要具有非零系数最少的 α \alpha α,非零系数的数量也称为 support。我们假设现在没有噪声。注意到: α \alpha α 并不一定唯一,例如当字典 D 的几列是相同的。当时用DCT离散余弦变换或者傅立叶变换时, α \alpha α 是唯一的。因为后者产生的字典的每一列和其他列是正交的(线性无关的)。因此看起来字典 D 和稀疏表示 α \alpha α 的唯一性有很大的关系,更进一步,是 D 中的 k 和 generalization。

在这里插入图片描述

我们要解决的问题实际上是一个 NP-hard 的问题。一种解决方法是,首先设置 L 为 1,然后有 C(K, L) 种 suppoet,对每一种 support 通过最小二乘计算出来稀疏表示 α \alpha α 使得有最小重构误差。验证重构误差是否小于阈值。如果全部都不满足,则 L 加一,选择更多的列来重构。

在这里插入图片描述

假设 K = 1000, L = 10,计算量是非常非常庞大的。尽管 1ns 就能计算一次 LS,也需要 8 × 1 0 6 8 \times 10^6 8×106 年才能算完。

有两种基本的方法可以解决上述问题:

  • Relaxtion methods:将 L 0 − norm L_0-\text{norm} L0norm 放松为 L 1 − norm L_1-\text{norm} L1norm
  • Greedy methods:贪心算法。

在这里插入图片描述

Relaxation Method

L 0 − norm L_0-\text{norm} L0norm 放松为 L 1 − norm L_1-\text{norm} L1norm当 D 和 L 满足某些条件时,可以保证这两个是等效的。从一个NPC问题转化到了一个凸优化问题。

在这里插入图片描述
在这里插入图片描述

Greedy Method

首先找到最重要的 atom,也就是 ∥ D α − y ∥ 2 2 \|D\alpha - y\|^2_2 Dαy22 有最小值。然后再找第二重要的 atom…。一直到重构误差小于阈值。

在这里插入图片描述

当选择了两个 atom 时,贪心算法出来的并不一定是向这两个 atom 张成的子空间投影,这样其实误差不是最小的。所以在 OMP 算法中对每次所选定的原子构成的子空间进行投影,用最小二乘算法即可。

遗留的问题是:Why should they work?

背后的理论会告诉我们,虽然有时候我们进行了放松,但是实际上却可以产生正确的结果。

2. 总结

在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木卯_THU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值