趋近智
Assistant
在线
趋近智
TF-IDF和N-gram等方法在将文本数字表示时,通常会产生维度极高的特征向量 (vector)。试想一个包含数十万甚至数百万个独特词语或N-gram的词汇表 (vocabulary)。存储和处理拥有如此多列的矩阵,需要大量的内存和计算资源。在处理大型数据集或流式数据(其中完整词汇表可能并非预先已知)时,这一问题尤为突出。
特征哈希,有时被称为“哈希技巧”,提供了一种巧妙的替代方法。它不构建和存储显式的词汇映射(如词语 -> 列索引),而是使用哈希函数将特征名称(如词语或N-gram)直接映射到固定大小向量中的索引。
特征哈希的核心工作方式如下:
index 位置的值上。考虑一个目标向量大小为 的简单例子:
哈希("learning") % 10 = 3哈希("algorithm") % 10 = 7哈希("model") % 10 = 3如果我们的文档中每个词出现一次(TF=1),那么我们得到的向量(最初全为零)可能如下所示:
[0, 0, 0, 2, 0, 0, 0, 1, 0, 0]
请注意,“learning”和“model”都哈希到了索引3。这被称为哈希冲突。
此图说明了不同特征如何通过哈希函数映射到固定大小向量中的索引。请注意“learning”和“model”映射到相同索引(3)的冲突。
冲突是特征哈希的固有属性。多个不同的特征可能会映射到输出向量 (vector)中的同一个索引。这些发生冲突的特征的计数或权重 (weight)会简单地在该索引处累加。
i 处的激活可能源于任何哈希到 i 的特征。您会失去从向量索引直接回溯到特定词语或N-gram的映射关系。特征哈希为传统的基于词汇的向量化 (quantization)方法(如词袋模型或TF-IDF)提供了一种强大的、内存高效的替代方案,在大规模或资源受限的环境中尤其有价值。它在向量化过程中隐式地实现降维,这与PCA或SVD等在创建可能很大的初始特征矩阵之后应用的技巧不同。
© 2026 ApX Machine Learning内容诚信与透明度•