1.preliminary
Nearest Neighbor 算法的思想是同一类型的东西总是有一些相似点,在某个空间里是聚集在一起的。比如说对于一直狗和鸡,属于两个不同的物种,鸡有两条腿而都狗有四条腿,狗的叫声是“汪汪”而鸡的叫声是“咯咯”。所以不同的特诊会使鸡和狗聚集在两块不同的区域。
一般在现实应用中是不会用1NN的,我们用的更多KNN,至于k的大小是多少,针对不同的问题答案是不一样的,这需要我们不断训练去调整参数,去测试模型是不是有过拟合。
边界线
那问题来了,我们怎么来计算最近的k个点是哪几个点呢?
我们首先来了解一个定义,欧式距离(Euclidean distance)也称为欧几里得度量,通常采用的距离定义,它在m维空间中两个点之间的真实距离。在二维和三维空间中的欧式距离就是两点之间的距离。