盘点高效的KNN实现算法
NLP情报局
共 4295字,需浏览 9分钟
· 2021-02-11
01 距离度量
02 K值和决策规则
03 KNN实现
线性扫描
KD树
Annoy
HNSW
假设我们现在有13个2维数据向量,我们把这些向量放在了一个平面直角坐标系内,隐去坐标系刻度,它们的位置关系如上图所示。
朴素查找法:把某些点和点之间连上线,构成一个查找图,存储备用;当我想查找与粉色点最近的一点时,我从任意一个黑色点出发,计算它和粉色点的距离,与这个任意黑色点有连接关系的点我们称之为“友点”(直译),然后我要计算这个黑色点的所有“友点”与粉色点的距离,从所有“友点”中选出与粉色点最近的一个点,把这个点作为下一个进入点,继续按照上面的步骤查找下去。
如果当前黑色点对粉色点的距离比所有“友点”都近,终止查找,这个黑色点就是我们要找的离粉色点最近的点。
https://blog.csdn.net/u011233351/article/details/85116719
04 实验
05 总结
欢 迎 关 注 👇
参 考 文 献
[3] 一文看懂HNSW算法理论的来龙去脉:
https://blog.csdn.net/u011233351/article/details/85116719
[4] 快速计算距离Annoy算法原理及Python使用:
https://blog.csdn.net/m0_37850187/article/details/92712490
原创不易,有收获的话请帮忙点击分享、点赞、在看吧🙏
评论