C2LSH没有用多个hash table,是怎么解决False Negative的?
来源:互联网 发布:珠海云图软件 编辑:程序博客网 时间:2024/04/27 15:17
LSH函数性质
在一个
这样,通过一个LSH就能过滤掉很多相距较远的点。但是会存在False Positive(FP),即有些相距较远的点也可能投影距离很近。
为减少FP,常会构造一个含有
为解决这一问题,常构造
还有问题:
L 个hash table中至少在一个hash table上发生碰撞的概率P=1−(1−Pc)L=1−(1−p(s)m)L
但C2LSH里只有一组复合哈希函数,没有多组,却也取得了精度上的概率保证,那么他有没有处理False Negative,怎么处理的?这是本帖关心的主要问题。
博主认为其原因在于C2LSH改变了候选点评估标准。
在原始LSH框架下,候选点的选取标准是“至少在一个复合哈希函数上发生碰撞”。那么什么叫“在一个复合哈希函数上发生碰撞”呢?就是指在该复合哈希函数中的“每一个哈希函数上都发生碰撞”。也就是说,假设一个复合哈希函数里共有m个哈希函数,某个点只在
C2LSH只采用一个复合哈希函数,但是它改变了候选点评价标准。不再要求候选点必须要在每一个哈希函数上都发生碰撞。而是所有数据点来统计在m个函数上发生碰撞的次数(即Count Collisions,这是C2的由来)。碰撞次数多的点认为其质量更高。通俗地讲,由于两个点发生碰撞的概率随两者之间距离的减小而提升,碰撞概率*哈希函数个数=碰撞次数。碰撞次数大是因为碰撞概率大,那就说明这个点更近。
换句话说,在C2LSH里,哪怕碰撞次数排在第一的点,只要其碰撞次数小于m,那么在原始机制里是不能被当做候选点的,而是成为FN。
改变了原来机制中的候选点评价机制,还能用原来的理论保证吗,容我再去看看再给出答案。
- C2LSH没有用多个hash table,是怎么解决False Negative的?
- 在$.ajax中的function 返回return false,是没有用的。
- 关于【true positive,false positive,true negative,false negative】的几个解释
- 光做不总结是没有用的
- 有时候,着急是没有用的
- False Positive和False Negative
- False Positive 和 False Negative
- false positive 与 false negative
- Ture/False Positive/Negative
- 2个hash table 函数
- 为什么java 2个一样的数字比较 是false
- True Positive,True Negative,False Positive and False Negative
- True Positive|True Negative|False Positive|False Negative
- True Positive, True Negative, False Positive, False Negative概念区分
- True Positive,True Negative,False Positive and False Negative
- true-positive,false-positive,true-negative,false-negative差别
- true-positive,false-positive,true-negative,false-negative差别
- Hash Table的补充
- Android 之 ContentProvider (一) 相关知识
- Python开发环境搭建
- Java 面试题
- Nginx配置负载均衡
- Java创建父级文件夹
- C2LSH没有用多个hash table,是怎么解决False Negative的?
- Linux如何查找动态库(编译、运行)
- leetcode-242. Valid Anagram
- 手机软键盘按键监听
- 视频裁剪没声音?解决视频裁剪没声音问题,实现快速裁剪,只需裁剪时间,文件源,一切简单
- php操作创建数据库并导入数据文件
- 动态内存分配
- Android安全加密:非对称加密
- Java后端书单