K-NN(K Nearest Neighbo,又称k近邻算法)
大晚上玩游戏无聊了,翻了下facenet谷歌人脸检测算法开源库,白天跟别人聊了下,K-NN算法,看facenet这篇论文时也提到了k-NN算法,所以记录下。
Machine learning最基础的算法,通过计算新数据与训练数据特征值之间的距离,然后选取K(k>=1)个距离最近的邻居进行分类或者回归。当k=1时,新数据将分配给其近邻类。
三个距离测量公式仅对连续变量有效。在分类变量的情况下,必须使用Hamming距离。当数据集中存在数值型和分类型变量混在一起时,提出0和1之间数值变量的标准化。
k越大,数据越精准,降低整体噪音,但不是绝对的。大多数数据集的最佳K值在3-10之间,要比1NN要好。