密集向量与稀疏向量

Posted 若石之上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了密集向量与稀疏向量相关的知识,希望对你有一定的参考价值。

机器学习中会经常用到向量,包括对特征的存储,优化的计算等。但是具体实现时,经常会采用两种方式存储向量:稀疏向量和密集向量

密集向量:也称为稠密向量,使用普通的数组来存储向量的值


稀疏向量:通常用两部分表示:一部分是索引向量,另一部分是值向量。


举例:向量(1.0,0.0,1.0,3.0)

密集格式:表示为[1.0,0.0,1.0,3.0],

稀疏格式表示为(4,[0,2,3],[1.0,1.0,3.0])

第一个4表示向量的长度(元素个数),[0,2,3]就是indices数组;[1.0,1.0,3.0]是values数组,表示向量0的位置的值是1.0,2的位置的值是1.0,而3的位置的值是3.0,其他的位置都是0,

稀疏向量在面对很多数据是零的情况下能节省很多的存储空间

以上是关于密集向量与稀疏向量的主要内容,如果未能解决你的问题,请参考以下文章

将密集向量与 Tensorflow 中稀疏矩阵的每一行相乘

spark-mllib 密集向量和稀疏向量

稀疏矩阵与密集矩阵乘法 C++ Tensorflow

为啥 scipy 的稀疏 csr_matrix 的向量点积比 numpy 的密集数组慢?

将稀疏特征向量分解为单独的列

向量矩阵乘法、浮点向量、二进制矩阵