是K最邻近结点算法(k-Nearest Neighbor algorithm)的缩写形式,是电子信息分类器算法的一种。KNN方法对包容型数据的特征变量筛选尤其有效。
查询点和它的最近邻-KNN
knn_KNN -简介
是K最邻近结点算法(k-Nearest Neighbor algorithm)的缩写形式,是电子信息分类器算法的一种。KNN方法对包容型数据的特征变量筛选尤其有效。
knn_KNN -算法描述
该算法的基本思路是:在给定新文本后,考虑在训练文本集中与该新文本距离最近(最相似)的 K 篇文本,根据这 K 篇文本所属的类别判定新文本所属的类别,具体的算法步骤如下:
一、:根据特征项集合重新描述训练文本向量
二、:在新文本到达后,根据特征词分词新文本,确定新文本的向量表示
三、:在训练文本集中选出与新文本最相似的 K 个文本,计算公式为:
【图】
公式(1)-KNN
其中,K 值的确定目前没有很好的方法,一般采用先定一个初始值,然后根据实验测试的结果调整 K 值,一般初始值定为几百到几千之间。
四、:在新文本的 K 个邻居中,依次计算每类的权重,计算公式如下:
【图】】
公式(2)-KNN
其中, x为新文本的特征向量, Sim(x,di)为相似度计算公式,与上一步骤的计算公式相同,而y(di,Cj)为类别属性函数,即如果di 属于类Cj ,那么函数值为 1,否则为 0。
五、:比较类的权重,将文本分到权重最大的那个类别中。
除此以外,支持向量机和神经网络算法在文本分类系统中应用得也较为广泛,支持向量机的基本思想是使用简单的线形分类器划分样本空间。对于在当前特征空间中线形不可分的模式,则使用一个核函数把样本映射到一个高维空间中,使得样本能够线形可分。
而神经网络算法采用感知算法进行分类。在这种模型中,分类知识被隐式地存储在连接的权值上,使用迭代算法来确定权值向量。当网络输出判别正确时,权值向量保持不变,否则进行增加或降低的调整,因此也称为奖惩法。
knn_KNN -不足
该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。因此可以采用权值的方法(和该样本距离小的邻居权值大)来改进。该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。
knn_KNN -图示
图示-KNN
右图中,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。
knn_KNN -主要应用领域
・文本分类
・聚类分析
・数据挖掘
・机器学习
・预测分析
・减少维度
・模式识别
・图像处理