『ML笔记』深入浅出字典学习1(Dictionary Learning)

article/2025/10/14 15:24:57

目录

一、预备知识

二、字典学习以及稀疏表示的概要 

2.1、我们为什么需要字典学习?

2.2、我们为什么需要稀疏表示?

三、下一节

参考文献


一、预备知识

稀疏向量:假设向量X=\left \{ x_{1},x_{2},...x_{n} \right \}中的元素绝大部分为零元素,则称该向量是稀疏的。

稀疏表示:将原始信号表示为在适当选取的一组过完备基(字典D)上的稀疏线性组合即信号的稀疏表示,其中 d_{1},d_{2},...d_{p}  为字典中的原子。过完备基的意思是其中的原子数大大的超过原始信号的维数

在表达式中:X=D\alphaX称为原始信号,D为字典,\alphaX的稀疏表示。其实该表达式中间的=是理想化的情况,一般只是用D\alpha逼近原始信号X。这就类似于用神经网络或者卷积神经网络等深度学习的网络去模拟任意函数。只不过,在神经网络中,求的是权值的最最优值,而此处求得是在字典下的最优解\alpha。因此,类似的求解\alpha的过程变成了最优化D\alpha和原始信号D\alpha的过程。即信号的稀疏表示问题转化为求解稀疏正则优化问题。

二、字典学习以及稀疏表示的概要

字典学习(Dictionary Learning)和稀疏表示(Sparse Representation)在学术界的正式称谓应该是稀疏字典学习(Sparse Dictionary Learning)。该算法理论包含两个阶段:字典构建阶段(Dictionary Generate)和利用字典(稀疏的)表示样本阶段(Sparse coding with a precomputed dictionary)。这两个阶段(如下图)的每个阶段都有许多不同算法可供选择,每种算法的诞生时间都不一样,以至于稀疏字典学习的理论提出者已变得不可考。笔者尝试找了Wikipedia和Google Scolar都无法找到这一系列理论的最早发起人。

这里有两个问题是必须要预先解释清楚:

2.1、我们为什么需要字典学习?

回答这个问题实际上就是要回答“稀疏字典学习 ”中的字典是怎么来的。做一个比喻,句子是人类社会最神奇的东西,人类社会的一切知识无论是已经发现的还是没有发现的都必然要通过句子来表示出来(从某种意义上讲,公式也是句子)。这样说来,人类懂得的知识可要算是极为浩繁的。有人统计过人类每天新产生的知识可以装满一个2T(2048G)大小的硬盘。但无论有多少句子需要被书写,对于一个句子来说它最本质的特征是什么呢?毫无疑问,是一个个构成这个句子的单词(对英语来说)或字(对汉语来说)。所以我们可以很傲娇的这样认为,无论人类的知识有多么浩繁,也无论人类的科技有多么发达,一本长不过20厘米,宽不过15厘米,厚不过4厘米的新华字典或牛津字典足以表达人类从古至今乃至未来的所有知识,那些知识只不过是字典中字的排列组合罢了!直到这里,我相信相当一部分读者或许在心中已经明白了字典学习的第一个好处——它实质上是对于庞大数据集的一种降维表示。第二,正如同字是句子最质朴的特征一样,字典学习总是尝试学习蕴藏在样本背后最质朴的特征(假如样本最质朴的特征就是样本最好的特征),这两条原因同时也是这两年深度学习之风日盛的情况下字典学习也开始随之升温的原因。题外话:现代神经科学表明,哺乳动物大脑的初级视觉皮层干就事情就是图像的字典表示。

2.2、我们为什么需要稀疏表示?

回答这个问题毫无疑问就是要回答“稀疏字典学习”中稀疏两字的来历。不妨再举一个例子。相信大部分人都有这样一种感觉,当我们在解涉及到新的知识点的数学题时总有一种累心(累脑)的感觉。但是当我们通过艰苦卓绝的训练将新的知识点牢牢掌握时,再解决与这个知识点相关的问题时就不觉得很累了。这是为什么呢?意大利罗马大学的Fabio Babiloni教授曾经做过一项实验,他们让新飞行员驾驶一架飞机并采集了他们驾驶状态下的脑电,同时又让老飞行员驾驶飞机并也采集了他们驾驶状态下的脑电。如下图所示:

随后Fabio教授计算出了两类飞行员的大脑的活跃状态,如下图:

左图是新飞行员(不熟练的飞行员)的大脑。图中黄色的部分,是被认为活跃的脑区。右图是老飞行员(熟练的飞行员)的大脑,黄色区域相比左边的图有明显的减少。换言之,针对某一特定任务(这里是飞行),熟练者的大脑可以调动尽可能少的脑区消耗尽可能少的能量进行同样有效的计算(所以熟悉知识点的你,大脑不会再容易觉得累了),并且由于调动的脑区很少,大脑计算速度也会变快,这就是我们称熟练者为熟练者的原理所在。站在我们所要理解的稀疏字典学习的角度上来讲就是大脑学会了知识的稀疏表示

ML笔记:字典学习2(Dictionary Learning)稀疏表示的本质:用尽可能少的资源表示尽可能多的知识,这种表示还能带来一个附加的好处,即计算速度快。

在懂得“字典”和“稀疏”各自的那点事儿以后,我们还要再讲讲稀疏和字典共同的那点儿事。或许在大脑中“字典”和“稀疏”是两个不怎么想干的阶段,毕竟“字典”涉及初级视觉皮层,而“稀疏”涉及前额叶皮层。但是在计算机中,“字典”和“稀疏”却是一堆孪生兄弟。在学习样本字典之初的时候,稀疏条件就已经被加入了。我们希望字典里的字可以尽能的少,但是却可以尽可能的表示最多的句子。这样的字典最容易满足稀疏条件。也就是说,这个“字典”是这个“稀疏”私人订制的。

三、下一节

  • ML笔记:字典学习2(Dictionary Learning)
  • ML笔记:字典学习3(Dictionary Learning,KSVD)

参考文献

最后感谢作者:

  1. https://www.cnblogs.com/endlesscoding/p/10090866.html
  2. https://blog.csdn.net/tiaxia1/article/details/80264228
  3. https://blog.csdn.net/txwh0820/article/details/46392293

http://chatgpt.dhexx.cn/article/C3v5JnHw.shtml

相关文章

机器学习(十三)k-svd字典学习

k-svd字典学习 原文地址:http://blog.csdn.net/hjimce/article/details/50810129 作者:hjimce 一、字典学习 字典学习也可简单称之为稀疏编码,字典学习偏向于学习字典D。从矩阵分解角度,看字典学习过程:给定样本数据集Y&…

字典学习(KSVD)详解

关于字典学习 对于一个事物,我们如何表征它呢?很明显,这个事物是有特征的,或者说,这个事物它是由许多个不同的特征经过一定的组合而形成的。字典学习的目标是提取实物的最本质特征。用字典来表征该事物的特征。&#…

语音增强———字典学习介绍

语音增强--------------字典学习 字典学习就是用较少的特征(原子)来表示信号,那么信号的多个特征组合就相当于多个原子组成的字典,那么信号就可以用字典中少量的原子进行表示。信号在字典下的表示系数越系数,那么重构…

字典学习(Dictionary Learning)

字典学习——Dictionary Learning 我主要从一下几个方面分享一下。 什么是字典学习字典学习的理论依据及公式字典学习的应用 1、什么是字典学习? 在人类发展的近几千年历史中,文字对人类文明的推动起着举足轻重的作用。人类用文字记述了千年的历史&a…

为什么我们需要机器学习,机器学习主要应用在哪几方面?

一、为什么需要机器学习? 有些任务直接编码较为复杂,我们不能处理所有的细微之处和简单编码,因此,机器学习很有必要。相反,我们向机器学习算法提供大量数据,让算法不断探索数据并构建模型来解决问题。比如…

什么是机器学习,目前机器学习的应用有哪些?

机器学习 机器学习就是让机器具备人一样学习的能力,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是人工智能的核心。 机器学习已经有了十分广泛的应用&a…

【机器学习】浅析机器学习各大算法的适用场景

最近在参加一个分类算法竞赛,也正好整理各个分类机器学习算法的简单介绍,应用场景和优缺点。资源来自网上和自己个人理解。 一、逻辑回归模型 1、理解逻辑回归模型(LR) 逻辑回归是一种分类算法,其原理是将线性回归预测…

什么是机器学习?有哪些应用?终于有人讲明白了

作者:星环科技人工智能平台团队 来源:大数据DT(ID:hzdashuju) 导读:人工智能的快速发展,带动了相关技术的繁荣。近些年,国内外的科技公司对机器学习人才都有大量需求。怎样入行机器学…

各种机器学习的应用场景分别是什么?

[转] https://www.leiphone.com/news/201712/RqsxWpjPOPFy6Qm4.html 关于这个问题我今天正好看到了这个文章,讲的正是各个算法的优劣分析,很中肯。 正好14年的时候有人做过一个实验[1],比较在不同数据集上(121个)&…

【机器学习】机器学习在社会科学中的应用

机器学习在社会科学中的应用 在科学研究中,从方法论上来讲,都应先见森林,再见树木。当前,人工智能科技迅猛发展,万木争荣,更应系统梳理脉络。为此,我们特别精选国内外优秀的综述论文&#xff0c…

机器学习应用

监督学习和非监督学习 监督学习: 有标签的,回归和分类,场景:用户流失预测 非监督学习:无标签,聚类和降维,场景:用户细分 数据不平衡 类别不平衡。数据在某些维度上多,…

【机器学习】为什么机器学习难于应用

摘要: 本文主要讲述了如何管理机器学习应用方面的棘手问题 应用机器学习是有挑战性的。 在机器学习领域,你必须要在没有正确答案的问题上做出很多决定!例如: 用什么框架? 用什么数据作为输入,要输出什么数…

机器学习在社会科学中的应用

本文把目前机器学习技术在社会科学研究中的应用分成三类:第一,数据生成(Data Generating Process):机器学习可以帮助学者获得以前很难或无法获得的数据;第二,预测(Prediction&#x…

【Machine Learning】20.应用机器学习的一些建议

20.应用机器学习的一些建议 1.导入包2. 评估学习算法(以线性回归为例)2.1 分离数据集可视化数据集 2.2 误差计算2.3 比较模型在训练集和测试集上的表现 3.Bias and Variance3.1 可视化数据集3.2 找到optimal degree最佳次数3.3 Tuning Regularization调整…

机器学习之应用举例

#Photo OCR Photo Optical Character Recognition(照片光学字符识别),注重的问题是如何让计算机读出图片中的文字信息。 1、给定某种图片,它将图像扫描一遍,然后找出照片中的文字信息; 2、重点关注这些文…

机器学习的应用–大数据

说完机器学习的方法,下面要谈一谈机器学习的应用了。无疑,在2010年以前,机器学习的应用在某些特定领域发挥了巨大的作用,如车牌识别,网络攻击防范,手写字符识别等等。但是,从2010年以后&#xf…

什么是机器学习?有哪些算法和分类?又有哪些应用?看完你就懂了

导读:本文从大数据的概念讲起,主要介绍机器学习的基础概念,以及机器学习的发展过程,用一个形象的例子讲解大数据生态中的机器学习,并按照传统机器学习(包括分类、聚类、回归、关联规则、协同过滤、数据降维…

1.2 机器学习的应用

机器学习无处不在。 问:为什么机器学习已经成为人工智能的一个子领域? 答:通过编程能够让机器做一些事情,比如:如何找到从A到B的最短距离,现实生活对应着GPS导航。但是,有时候编程也存在难点&…

什么是机器学习?应用场景以及未来趋势

机器学习 (ML) 被定义为人工智能 (AI) 的一门学科,它使机器能够自动从数据和过去的经验中学习,以识别模式并在最少的人工干预下做出预测。本文介绍了机器学习的基础知识、其类型以及最重要的五个应用程序。它还分享了 2022 年机器学习的十大趋势。 目录…

学机器学习有什么用?机器学习可以应用哪些领域?

机器学习的目前在各个领域都非常实用,可以带来很多好处,包括以下几点: 学机器学习有什么用? 自动化:机器学习可以帮助自动处理大量数据和任务,减少人工处理的工作量。 预测性能:机器学习模型可…