KNN(K近邻)法是1NN(1 Nearest Neighbour)法的推广,是一个理论上比较成熟的方法。它具有思路简单直观,易于快速实现,以及错误低的优点,适合应用于监测系统。其算法思想:将所有N个训练样本都作为代表点,计算测试样本x到所有训练样本点的距离,找出与x最近的训练样本中k个最近邻,看这k个近邻中的多数属于哪一类,就把x分到哪一类。当N→∞时,KNN的错分率Pe,满足下面的不等式:
式中 ——贝叶斯分类器的错分率;
c——类别数。
正是KNN法的优良性质,使得它成为分类问题中的重要方法。当样本数N有限时,用距离定义可以保证与无限样本KNN法错分率的方均误差最小:
式中,的梯度转置,xL表示x的局部近邻区域中的样本。
KNN的算法中,所选择的邻居都是已经正确分类的对象。该方法在监测系统分类上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。KNN法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别,因此对于类域的交叉或重叠较多的待分样本集来说,KNN法较其他方法更为适合,在监测系统中有重要的参考价值。
KNN法适用的前提是样本数目较大、局部近邻区域类条件概率相同。对于k值的取法,一方面较大的k值可以减少错分率,另一方面要求k个近邻都靠近测试样本。KNN法缺点是计算量和存储量都较大,是惰性学习法。在监测分类时,这种学习法的计算开销以及所需的存储开销都很大[14]。(www.xing528.com)
参考文献[15]将KNN法用到检测水下航行器的声学故障中。水下航行器在使用过程中不可避免地会出现振动噪声的异常,此种现象称为声学故障。对水下航行器的安静性状态进行监测和了解,及时发现和修复出现的声学故障,是水下航行器所面临的重要安全性问题。
水下航行器声学故障的监测识别主要分两步:第一步,依据已有的水下航行器的正常数据建立比较基准,将水下航行器的实时监测数据与基准数据进行对比,可实现声学故障的在线监测。第二步,基于现有的水下航行器常见声学故障特征分类库,将第一步监测到的故障数据送入KNN声学故障分类器,识别出故障源,以此实现对声学故障的监测。
参考文献[16]主要研究潜油电泵机组及井下传感器状态监测。其中使用基于RBF网络时序预测的传感器状态监测方法,引入最近邻聚类算法的思想。
为综合反应潜油电泵机组的工作状态,选取六个状态参数来描述其工作状态,即潜油电泵入口压力、出口压力、入口温度、电动机温度、电动机振动和泄漏电流。由下位数据采集系统、载波耦合通信系统和上位数据处理系统三个部分组成。
为了获取较好的预测精确度和较快的预测速度,引入了最近邻聚类算法的思想,对传统K-均值聚类算法初始中心选取方法进行了改进,用初始聚类中心半径代替高斯函数宽度,使之能够根据样本序列的变化快慢,自动调整大小。初始中心选好后,按照最近邻聚类算法进行再调整,方差和权值的学习方式按照自组织学习算法进行。
对于输入层有m个神经元的RBF网络,假设训练样本需要n组,那么需要m+n个最新的历史数据。网络学习完毕就用当前时刻之前的最新的m个数据作为网络输入,预测出当前时刻的测量值。该算法的初始聚类中心半径的大小决定了聚类中心数目的多少,中心越多,计算量越大。实验结果显示K近邻法能够提高监测系统的准确性,在工业监测系统中有重要的应用价值。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。