稀疏联合概率矩阵(CSR 行压缩存储)
SparseP
00 Remarks
精确的 t-SNE 需要一个 N×N 的稠密联合概率矩阵,其内存占用为 8N² 字节, 在 N 达到万级时就已经不可行。Barnes-Hut 近似只需要每一个点的 k 个近邻, 因此这里改用 CSR 格式只保存 O(N·k) 个非零条目。
由于采用了行压缩格式,第 i 行的全部条目在内存中是连续的, 这使得梯度计算可以按行分派到多个线程之上而完全不需要加锁。
01 Syntax
Microsoft.VisualBasic.MachineLearning.tSNE.SparseP
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| MemorySize | 1 | 估算该稀疏矩阵所占用的字节数 |
03 Fields
04 Members
MemorySize
估算该稀疏矩阵所占用的字节数
N
样本数量
nnz
非零条目总数(双向展开之后的长度)
rowPtr
行偏移表,长度为 N + 1;第 i 行的条目位于 [rowPtr(i), rowPtr(i + 1)) 区间之内
colP
列索引,长度为 nnz
valP
概率值,长度为 nnz;已经完成对称化与 1/(2N) 归一化