6

第7-3课:K 最邻近算法(KNN)与手写数字识别

 3 years ago
source link: https://blog.csdn.net/orbit/article/details/108729336
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

K 最近邻(KNN,K-Nearest Neighbor)算法是一类在数据挖掘领域常用的分类算法,该算法看似神秘,其实原理很简单,算法实现也很简单。KNN 算法在类别决策时,只参考极少量的相邻样本,也就是说主要靠周围有限的邻近样本,而不是靠判别类域的方法来确定所属类别,因此对于类域的交叉或重叠较多的待分样本集来说,KNN 方法较其他方法更为适合。这一课我们用 KNN 算法来实现一个简单的手写数字识别程序,看看到底有多简单。

KNN 算法原理

K 最邻近算法(KNN)是一个理论上比较成熟的方法,也是最简单的机器学习算法之一,所谓 K 最邻近(K-Nearest Neighbor),意思是 K 个最相近的邻居。KNN 算法的核心思想是每个样本都可以用与它在特征空间中最接近的 K 个邻居来代表,如果这 K 个最相邻的邻居样本大多数属于某一个类别,那么该样本也属于这个类别。

enter image description here

图(1)KNN 算法的决策示意图

图(1)是用来解释 KNN 的典型示意图,图中的一个实线圆和一个虚线圆表示 K 的范围。当范围比较小时(实线圆范围,K = 3),绿色小圆最邻近的 3 个样本中有 2 个属于红色类别,1 个属于蓝色类别,根据 KNN 的理论,此时决策绿色小圆表示的样本应该属于红色类别。但是若令 K = 5,范围扩大到虚线圆的范围时


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK