KNN (K Nearest Neighbour) Alg 原理通俗易懂

这篇文章是对KNN的最简单通俗的介绍,。

算法干什么的?

这个算法是用来判别一个东西所属的类型的。

算法是怎么做的?

顾名思义,K Nearest Neighbor就是K个最近的近邻,找这个要判别的东西旁边K个相邻的邻居,看它邻居怎样,他就有很大概率怎样。

为什么能这样做?

最简单的解释:“人以群分,物以类聚”。

 

简单例子:

分类下图中绿色圆圈(绿色圆圈假设不知道是正方形还是三角形),请判别。

 

KNN (K Nearest Neighbour) Alg 原理通俗易懂_第1张图片

用这个算法来判别,

K取3,那么看他身边3个图形(也就是实线黑圆圈圈出来的),三角形多,说明绿圆圈的类型是三角形。

K取5,那么看他身边5个图形(也就是虚线黑圆圈圈出来的),正方形多,说明绿圆圈的类型是正方形。

 

算法更加具体细化:

1.如何定义和表示类型和类型距离?各种距离任你挑任你选(马氏距离、欧几里得距离等等)

2.K的重要意义:K太大导致分类模糊;K太小受个例影响大。

3.找K个邻居,那么K如何选取?经验、均方根误差等

4.通用步骤:计算距离、升序排序、取前K个、加权平均。

 

更精细更工程化的实战或者是数学证明,请参考教材或论文或其他博客。

你可能感兴趣的:(人工智能基础)