SCDL--稀疏编码(sparse code)与字典学习(dictionary learning)
转载自未雨愁眸 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)相关推荐
- 字典学习 (Dictionary Learning) —— K-SVD 算法
文章目录 论文 问题描述 求解原理 python 实现 KSVD 算法 测试 结果可视化函数 论文 M. Aharon, M. Elad and A. Bruckstein, "K-SVD: ...
- 稀疏编码(Sparse Coding)(二)
为了更进一步的清晰理解大脑皮层对信号编码的工作机制(策略),需要把他们转成数学语言,因为数学语言作为一种严谨的语言,可以利用它推导出期望和要寻找的程式.本节就使用概率推理(bayes views)的方 ...
- 稀疏学习、稀疏表示、稀疏自编码神经网络、字典学习、主成分分析PCA、奇异值分解SVD 等概念的梳理,以及常用的特征降维方法
稀疏学习.稀疏表示.稀疏自编码神经网络.字典学习.主成分分析PCA.奇异值分解SVD 等概念的梳理,以及常用的特征降维方法 关于稀疏 稀疏编码 Sparse Coding 与字典学习 神经网络的正则化 ...
- 判别性的低秩字典学习代码matlab,基于分类的判别性字典学习的稀疏编码算法研究...
第1章绪论1.1课题研究的背景及意义计算机视觉一直是人类视觉研究中的一项非常热门的领域.计算机视觉研究的目的是为了让计算机能够利用图像和图像序列来识别和感知周围的世界,以帮助人们在复杂的情况下解决未知 ...
- 深度学习系列(四):什么是稀疏编码
上节使用简单方法阐述了自编码问题与简单操作,本节将正式开始探索深度学习的相关问题,第一个问题就是稀疏编码. 关于稀疏编码需要理解的几点: (1)什么是稀疏编码? (2)为什么要稀疏编码? (3)稀疏编 ...
- ILS-LDA基于迭代最小二乘的字典学习算法的学习
1 最近一直在拜读斯坦万格大学的Karl Skretting教授的文章.字典学习算法中响当当的一些算法都出自K.S.团队,例如MOD.其字典学习算法家族中的另一份成员便是iterative least ...
- Sparsity稀疏编码(三)
稀疏编码(sparse coding)和低秩矩阵(low rank)的区别 上两个小结介绍了稀疏编码的生命科学解释,也给出一些稀疏编码模型的原型(比如LASSO),稀疏编码之前的探讨文章就不说了,今天 ...
- Stanford UFLDL教程 稀疏编码自编码表达
稀疏编码自编码表达 Contents [hide] 1稀疏编码 2拓扑稀疏编码 3稀疏编码实践 3.1将样本分批为"迷你块" 3.2良好的s初始值 3.3可运行算法 4中英文对照 ...
- Stanford UFLDL教程 稀疏编码
稀疏编码 Contents [hide] 1稀疏编码 2概率解释 [基于1996年Olshausen与Field的理论] 3学习算法 4中英文对照 5中文译者 稀疏编码 稀疏编码算法是一种无监督学习方 ...
- 稀疏编码(sparse code)与字典学习(dictionary learning)
Dictionary Learning Tools for Matlab. 1. 简介 字典 D∈RN×KD\in \mathbb R^{N\times K}(其中 K>NK>N),共有 ...
最新文章
- 部门名称部门结构叠用_DYT|部门名称创意设计比赛,你pick哪一个?
- ubuntu下安装lamp环境
- python监听器_监听器 - python成长中 - 博客园
- Nauuo and Votes
- 操作系统 哈工大 李治军
- linux如何切换到光盘,怎么刻录cd光盘-Linux切换目录之cd命令详解
- 解析发展方向,定格人生道路
- MySQL之流程控制结构(分支,循环)
- 【学术人生】牛人写SCI常用经典词和常用句型
- 【转】Qt调用dll中的功能函数
- onsyscommand
- C++ 内嵌汇编 实现 加法操作
- EF框架step by step(9)—Code First Fluent API
- vue+bootstrap项目
- 【基础知识】【模块介绍】电机编码器
- 【内网渗透】搭建隧道
- 网贷逾期和信用卡逾期是一样的吗?
- css backdrop-filter属性 用来做图片的部分模糊效果
- h61 nvme硬盘_一个不够用两个刚刚好ORICO双盘位硬盘盒_移动硬盘盒
- UPC 小澳的葫芦 (最短路+01分数规划 )