1.算法概述
目前,对于文本分类的研究已经取得了巨大的进展,常用的文本分类算法有最近邻算法(KNN),支持向量机,人工神经网络,boosting,随机森林等。而KNN算法既是最简单的机器学习算法之一,也是基于实例的学习方法中最基本的,又是最好的文本分类算法之一。
基于实例的学习方法:
1.只是简单地把训练样例存储起来。等到输入一个新的查询实例时,才分析这个新实例和之前存储的实例之间的关系。**该算法几乎所有的计算都发生在分类时,**而且计算时一般考虑实例的所有属性。
2.基于实例的方法可以为不同的待分类查询实例建立不同的目标函数逼近。
下面通过一个简单的例子说明一下:如下图,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。
可见KNN算法的结果很大程度取决于K的选择。在KNN中,通过计算对象间距离来作为各个对象之间的非相似性指标,避免了对象之间的匹配问题,在这里距离一般使用欧氏距离或曼哈顿距离。
2.算法流程
接下来对KNN算法的思想总结一下:就是在训练集中数据和标签已知的情况下,输入测试数据,将测试数据的特征与训练集中对应的特征进行相互比较,找到训练集中与之最为相似的