机器学习的很多领域中存在很多稀疏矩阵,比如用来表示分类数据的独热编码、用于表示文档中词汇频率的计数编码、用于表示词汇中标准化的单词频率得分的TF-IDF编码

稀疏矩阵

稀疏矩阵:在矩阵中,若数值中为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律。

稠密矩阵:在矩阵中,若数值中为0的元素数目远远少于非0元素的数目。

$$矩阵的稠密度=\frac{非零元素的总数}{矩阵所有元素的总数}$$

缺点

空间复杂度

  大多数大型矩阵都是稀疏的,稀疏矩阵有很多的零值,矩阵中的每个32位或64位零值都要分配零值,需要大量的内存,这是对内存资源的浪费,因为这些零值不包含任何信息。

时间复杂度

  如果一个非常大的稀疏矩阵可以适应内存,由于矩阵分钟包含大部分的零值,那么在这个矩阵中执行操作可能需要很长时间,其中大部分计算都需要将零值相加或相乘。

优点

稀疏矩阵的计算速度更快,因为程序代码只对非零元素进行操作,这是稀疏矩阵的一个突出的优点。

稀疏矩阵存储空间大部分存放的是 0 元素,从而造成大量的空间浪费。为了节省存储空间,可以只存储其中的非 0 元素。

参考

知乎:一篇关于机器学习中的稀疏矩阵的介绍

版权声明:本文为LXP-Never原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/LXP-Never/p/11580012.html