前面说到机器学习,那么肯定要介绍一下机器学习中所包含的一些算法啦。在这里,将要介绍的是k-近邻算法,它是机器学习中最简单的算法之一,可以用来预测事物的类别(分类)。它的实现思路是这样子的:如果一个未知的东西与其他K个我们已知的东西非常相似,并且这K个东西大都属于同一个类别A,则我们也认为这个未知东西属于类别A。是不是觉得看起来很迷糊呢?不慌,下面我们来看一个例子:
看上图,三角形、菱形、正方形各代表一种东西,然后图中有一个红色的圆形,它是这三种东西中的其中一种,但是我们现在不知道它属于哪一种。那么根据前面我们说的方法,怎么去判断它属于哪一种东西呢?
在这里,我们选定k=5,意思是说选择与圆形最近的5个图形来判断它和谁最相似,当然k值不局限于5这个数字。我们可以自由选择对于辨别结果最准确的k值,但是一般不大于20。那么怎么判断它们相不相似呢?
在这里,我们利用两个图形之间的“距离”这个概念来判别
它
们的相似度。从上图小矩形所框选出来的区域可以看到,圆形与4个三角形和1个正方形距离最接近,那么我们可以认为它是属于正方形或三角形所代表的东西。那么到底它是属于哪一种呢?我们看上图有三角形有四个和它非常接近,而正方形只有一个,以少数服从多数的原则,我们可以确定圆形和三角形是属于同一种东西的。至此,我们就辨别出来圆形所属的类别啦。
以上便是使用k-近邻算法预测事物类别的方法。总结起来具体步骤为:
1)计算未知事物点与其他已知事物的点之间的距离
2)按照距离从小到大进行排列
3)选择与与未知事物点距离最小的k个点
4)将k个点中出现次数最多的类别作为未知事物点的类别
PS:上面讲到的“距离”我们常采用的是欧氏距离,感兴趣的同学可以百度了解一下哦。