我知道feature hashing是一种矢量化特征的技术;它在机器学习方面很常见。 当你想要在发生碰撞时跟踪术语频率时,我仍然感到困惑。让我们按照Luis Argerich在this链接中给出的相同示例。
让我们说你的文字是:"快速的棕色狐狸"让我们假设你有下一个哈希函数:
h(the) mod 5 = 0
h(quick) mod 5 = 1
h(brown) mod 5 = 1
h(fox) mod 5 = 3
你的最终载体将是:(1,2,0,1,0)
现在让我们假设您的文字是:"快速棕色狐狸快速快速快速" 现在最终的矢量将是:(1,6,0,1,0)
我的问题是,我如何才能意识到褐色只出现一次并快速出现5次?我该如何追踪?
答案 0 :(得分:2)
我的问题是,我如何才能意识到褐色只出现一次并快速出现5次?我该如何追踪?
你不是。这是哈希的全部技巧。它统一某些东西,损失信息,这样您就可以获得其他好处。如果你想跟踪所有内容,你应该使用词汇,而不是散列。
另一种选择是更复杂的散列方法,如LSH技术中使用的方法,它使用散列函数族重建最终相似性,通过显示给定足够大的散列函数样本 - 它收敛到真正的相似性。