在对于初学者来说的话,在学习这两个算法的时候,容易搞混,下面将针对这两个算法做了一个详细的介绍。方便大家理解。
K近邻算法(KNN):有监督的学习
首先,KNN是通过测量不同特征值之间的距离进行分类,它的一个基本思路是,如果一个样本在特征空间中的K个最相似的(可以理解为特征空间中最近的样本)的样本中的大多数属于某一个类别,则样本也属于这个类别,通常在选取k值得时候一般选取K<20的值。
这里特意说一下K值得选取问题:
1.我目前常用的是交叉验证的方法。
2.基于经验的方法
下面通过一个简单的例子说明一下:如下图,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。
这也是说明了,对于KNN算法的结果很大程度上取决于K值得选取。
另外在KNN算法中距离的选取也是很重要的,通过计算对象间的距离来作为各个对象之间的非相似性指标,避免了对象之间的匹配问题,在这里距离的度量一般用欧式距离和曼哈顿距离:
在前面的博文中有对欧式距离做了一个介绍:<