转载自未雨愁眸  https://www.cnblogs.com/mtcnn/p/9421836.html

1. 简介

字典 D∈RN×K(其中 K>N),共有 k 个原子,x∈RN×1 在字典 D 下的表示为 w,则获取较为稀疏的 w 的稀疏逼近问题如下表示:

wopt=argminw∥w∥p+γ∥x−Dw∥22p∈{0,1}

γ 越大,得到的解越稠密(dense)。

  • p=0,通过 MP(matching pursuit)匹配追踪算法求解,比如 ORMP(order recursive matching pursuit);
  • p=1,通过 LARS 算法求解;
  • ORMP 还是 LARS 均是基于贪心的思路求解;

2. 字典学习

在给定训练集 X∈RN×L 的情况下,字典学习用来求解字典 D∈RN×K(∥di∥=1,i=1,2,…,K),及其对应的系数矩阵 W∈RK×L,此时的表示误差为 R=X−DW。

{Dopt,Wopt}=argminD,W∑ℓ=1L∥wℓ∥+γ∥X−DW∥2

3. 求解

  • MOD or ILS-DLA

    MOD(Method of Optimized Directions),ILS-DLA(iterative least squares dictionary learning algorithms)

    此时迭代算法的思路分为如下三步:

    • 固定 D,求解 W
    • 固定 W,根据最小二乘法求解 D=(XWT)(WWT)−1
    • 归一化 D,也即将其各个列缩放为单位向量;
    for i = 1:noItW = sparseapprox(X, D, 'mexOMP', 'tnz', s);D = (X*W')/(W*W');D = dictnormalize(D);
    end
  • K-SVD

    K-SVD 也是基于迭代求解思路而提出的算法,迭代主要分为如下两步:

    • 固定 D,求解 W;
    • 记录 W 中非零的元素,使用 SVD 分解更新 D 和 W;
    % X: N*L, D: N*K, W: K*L
    for i = 1:noItW = sparseapprox(X, D, 'mexOMP', 'tnz', s);R = X - D*W;for k=1:K% 找到非零列I = find(W(k, :));Ri = R(:, I) + D(:, k)*W(k, I);% 奇异值分解[U, S, V] = svds(Ri, 1, 'L');% 更新D(:, k) = U;W(k, I) = S*V';R(:, I) = Ri - D(:, k)*W(k, I);end
    end

SCDL--稀疏编码(sparse code)与字典学习(dictionary learning)相关推荐

  1. 字典学习 (Dictionary Learning) —— K-SVD 算法

    文章目录 论文 问题描述 求解原理 python 实现 KSVD 算法 测试 结果可视化函数 论文 M. Aharon, M. Elad and A. Bruckstein, "K-SVD: ...

  2. 稀疏编码(Sparse Coding)(二)

    为了更进一步的清晰理解大脑皮层对信号编码的工作机制(策略),需要把他们转成数学语言,因为数学语言作为一种严谨的语言,可以利用它推导出期望和要寻找的程式.本节就使用概率推理(bayes views)的方 ...

  3. 稀疏学习、稀疏表示、稀疏自编码神经网络、字典学习、主成分分析PCA、奇异值分解SVD 等概念的梳理,以及常用的特征降维方法

    稀疏学习.稀疏表示.稀疏自编码神经网络.字典学习.主成分分析PCA.奇异值分解SVD 等概念的梳理,以及常用的特征降维方法 关于稀疏 稀疏编码 Sparse Coding 与字典学习 神经网络的正则化 ...

  4. 判别性的低秩字典学习代码matlab,基于分类的判别性字典学习的稀疏编码算法研究...

    第1章绪论1.1课题研究的背景及意义计算机视觉一直是人类视觉研究中的一项非常热门的领域.计算机视觉研究的目的是为了让计算机能够利用图像和图像序列来识别和感知周围的世界,以帮助人们在复杂的情况下解决未知 ...

  5. 深度学习系列(四):什么是稀疏编码

    上节使用简单方法阐述了自编码问题与简单操作,本节将正式开始探索深度学习的相关问题,第一个问题就是稀疏编码. 关于稀疏编码需要理解的几点: (1)什么是稀疏编码? (2)为什么要稀疏编码? (3)稀疏编 ...

  6. ILS-LDA基于迭代最小二乘的字典学习算法的学习

    1 最近一直在拜读斯坦万格大学的Karl Skretting教授的文章.字典学习算法中响当当的一些算法都出自K.S.团队,例如MOD.其字典学习算法家族中的另一份成员便是iterative least ...

  7. Sparsity稀疏编码(三)

    稀疏编码(sparse coding)和低秩矩阵(low rank)的区别 上两个小结介绍了稀疏编码的生命科学解释,也给出一些稀疏编码模型的原型(比如LASSO),稀疏编码之前的探讨文章就不说了,今天 ...

  8. Stanford UFLDL教程 稀疏编码自编码表达

    稀疏编码自编码表达 Contents [hide] 1稀疏编码 2拓扑稀疏编码 3稀疏编码实践 3.1将样本分批为"迷你块" 3.2良好的s初始值 3.3可运行算法 4中英文对照 ...

  9. Stanford UFLDL教程 稀疏编码

    稀疏编码 Contents [hide] 1稀疏编码 2概率解释 [基于1996年Olshausen与Field的理论] 3学习算法 4中英文对照 5中文译者 稀疏编码 稀疏编码算法是一种无监督学习方 ...

  10. 稀疏编码(sparse code)与字典学习(dictionary learning)

    Dictionary Learning Tools for Matlab. 1. 简介 字典 D∈RN×KD\in \mathbb R^{N\times K}(其中 K>NK>N),共有 ...

最新文章

  1. 部门名称部门结构叠用_DYT|部门名称创意设计比赛,你pick哪一个?
  2. ubuntu下安装lamp环境
  3. python监听器_监听器 - python成长中 - 博客园
  4. Nauuo and Votes
  5. 操作系统 哈工大 李治军
  6. linux如何切换到光盘,怎么刻录cd光盘-Linux切换目录之cd命令详解
  7. 解析发展方向,定格人生道路
  8. MySQL之流程控制结构(分支,循环)
  9. 【学术人生】牛人写SCI常用经典词和常用句型
  10. 【转】Qt调用dll中的功能函数
  11. onsyscommand
  12. C++ 内嵌汇编 实现 加法操作
  13. EF框架step by step(9)—Code First Fluent API
  14. vue+bootstrap项目
  15. 【基础知识】【模块介绍】电机编码器
  16. 【内网渗透】搭建隧道
  17. 网贷逾期和信用卡逾期是一样的吗?
  18. css backdrop-filter属性 用来做图片的部分模糊效果
  19. h61 nvme硬盘_一个不够用两个刚刚好ORICO双盘位硬盘盒_移动硬盘盒
  20. UPC 小澳的葫芦 (最短路+01分数规划 )

热门文章

  1. LTE随机接入RACH流程preamble发送
  2. 架构图到底怎么画?老彭带你走一波!
  3. excel比较两个表中数据 提取相同列 合并到同一张表中
  4. 100 道常见 Hadoop 面试题及答案解析
  5. 三菱PLC与第三方设备TCP通讯_【原创干货】一台威纶通触摸屏与多台三菱PLC通讯案例,欢迎收藏!...
  6. stm32f072的spi的设置注意事项。
  7. JUC高并发编程从入门到精通(全)
  8. 党政机关安全公文处理系统
  9. 零伽壹链改研究:区块链技术在支付及清结算的变革与创新!
  10. 揭秘:特步集团副总裁肖利华的亲笔签名感言