当前位置:   article > 正文

字典学习(Dictionary Learning, KSVD)详解

ksvd字典初始化

注:字典学习也是一种数据降维的方法,这里我用到SVD的知识,对SVD不太理解的地方,可以看看这篇博客:《SVD(奇异值分解)小结 》

1、字典学习思想

字典学习的思想应该源来实际生活中的字典的概念。字典是前辈们学习总结的精华,当我们需要学习新的知识的时候,不必与先辈们一样去学习先辈们所有学习过的知识,我们可以参考先辈们给我们总结的字典,通过查阅这些字典,我们可以大致学会到这些知识。

为了将上述过程用准确的数学语言描述出来,我们需要将“总结字典”、“查阅字典”做出一个更为准确的描述。就从我们的常识出发:

  1. 我们通常会要求的我们的字典尽可能全面,也就是说总结出的字典不能漏下关键的知识点。
  2. 查字典的时候,我们想要我们查字典的过程尽可能简洁,迅速,准确。即,查字典要快、准、狠。
  3. 查到的结果,要尽可能地还原出原来知识。当然,如果要完全还原出来,那么这个字典和查字典的方法会变得非常复杂,所以我们只需要尽可能地还原出原知识点即可。

注: 以上内容,完全是自己的理解,如有不当之处,欢迎各位拍砖。

下面,我们要讨论的就是如何将上述问题抽象成一个数学问题,并解决这个问题。

2、字典学习数学模型

2.1 数学描述

我们将上面的所提到的关键点用几个数学符号表示一下:

  • “以前的知识”,更专业一点,我们称之为原始样本,用矩阵Y表示;
  • “字典”,我们称之为字典矩阵,用D表示,“字典”中的词条,我们称之为原子(atom),用列向量dk表示;
  • “查字典的方法”,我们称为稀疏矩阵,用X
  • “查字典的过程”,我们可以用矩阵的乘法来表示,即DX

用数学语言描述,字典学习的主要思想是,利用包含K个原子dk的字典矩阵DRm×K,稀疏线性表示原始样本YRm×n(其中m表示样本数,n表示样本的属性),即有Y=DX(这只是我们理想的情况),其中XRK×n稀疏矩阵,可以将上述问题用数学语言描述为如下优化问题

\[ \min_{\mathbf{D,\ X}}{\

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/551087
推荐阅读
相关标签
  

闽ICP备14008679号