机器学习的很多领域中存在很多稀疏矩阵,比如用来表示分类数据的独热编码、用于表示文档中词汇频率的计数编码、用于表示词汇中标准化的单词频率得分的TF-IDF编码。
稀疏矩阵
稀疏矩阵:在矩阵中,若数值中为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律。
稠密矩阵:在矩阵中,若数值中为0的元素数目远远少于非0元素的数目。
$$矩阵的稠密度=\frac{非零元素的总数}{矩阵所有元素的总数}$$
缺点
空间复杂度
大多数大型矩阵都是稀疏的,稀疏矩阵有很多的零值,矩阵中的每个32位或64位零值都要分配零值,需要大量的内存,这是对内存资源的浪费,因为这些零值不包含任何信息。
时间复杂度
如果一个非常大的稀疏矩阵可以适应内存,由于矩阵分钟包含大部分的零值,那么在这个矩阵中执行操作可能需要很长时间,其中大部分计算都需要将零值相加或相乘。
优点
稀疏矩阵的计算速度更快,因为程序代码只对非零元素进行操作,这是稀疏矩阵的一个突出的优点。
稀疏矩阵存储空间大部分存放的是 0 元素,从而造成大量的空间浪费。为了节省存储空间,可以只存储其中的非 0 元素。
参考
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/159192.html