一种基于加权卡方距离度量的模糊K近邻分类方法及系统与流程

文档序号:16694339发布日期:2019-01-22 19:20阅读:289来源:国知局
一种基于加权卡方距离度量的模糊K近邻分类方法及系统与流程

本发明涉及模糊k近邻算法领域,具体地说是一种基于加权卡方距离度量的模糊k近邻分类方法及系统。



背景技术:

在分类方法中,knn是一种惰性分类学习算法,即直至给定测试样本才开始构造学习模型。它根据与离测试样本最近的k个邻居样本中占多数的样本类别进行分类。具体过程如下:假设每一个类别包含多个样本,而且每个样本都归属于特定的类别。knn首先通过计算每个已知样本到待分样本之间的距离,然后取和待分样本距离最近的k个样本中占多数的类别作为待分样本的类别。理想情况下,距离度量必须最小化两个同类别实例之间的距离,同时最大化不同类别实例之间的距离。

许多学者进行了扩展应用,例如现有研究根据条件属性的重要性确定加权系数,采用加权knn的方法来解决无法与决策规则精确匹配的样本分类问题,提出了一种基于粗糙集的加权knn数据分类算法,但是规则的获取建立在信息表的基础上,若测试样本是不包含在训练样本集内的,则不能确保分类的准确性;有的现有研究针对knn没有训练过程的特点,通过聚类技术引入了一个训练过程,但是分类的准确率主要取决于聚类的效果。knn分类器已广泛应用到不同的领域,如故障诊断领域。现有研究针对存在误判风险提出了一种基于模糊k近邻的语音情感识别算法,通过引入模糊隶属度的概念,求出不同的特征参数对于不同情感识别的贡献度,并将其与欧式距离加权应用于语音情感识别中,但是欧式距离将样本的不同特征赋予相同的权重。

根据实际情况,它仍存在很多问题,在传统的k近邻是采用欧式距离,没有考虑到不同邻居到样本类中心的距离不同带来的影响。欧式距离的度量方式只考虑各个特征量绝对距离,往往忽视各特征量的相对距离。而分类中相对距离更加具有实际意义,卡方距离度量能有效反应各特征量的相对距离变化。传统的k近邻算法必须保存全部的数据集,需要大量的存储空间,进行模糊归一化处理,将相似度作为模糊隶属度,减少内存空间;当样本不平衡的时候,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的k个邻居中大容量类的样本占多数。该算法只计算“最近的”邻居样本,某一类的样本数量很大,那么或者这类样本并不接近目标样本,或者这类样本很靠近目标样本。无论怎样,数量并不能影响运行结果。对稀有类别的分类准确率低,并且噪声、不相关数据、无权重数据会严重影响knn的分类准确率。

鉴于上述问题,如何提供一种分类准确率高,且分类准确率不受噪声、不相关数据以及无权重数据影响的模糊k近邻算法,是需要解决的问题。



技术实现要素:

本发明的技术任务是针对以上不足,提供一种基于加权卡方距离度量的模糊k近邻分类方法及系统,来解决现有模糊k近邻算法分类准确率低,且分类准确率受噪声、不相关数据以及无权重数据影响的问题。

本发明的技术任务是按以下方式实现的:

一种基于加权卡方距离度量的模糊k近邻分类方法,其特征在于包括如下步骤:

s100、建立训练样本和测试样本,并设定近邻数k的取值;

s200、计算加权卡方距离:根据贴近距离型的模糊贴近度计算每个训练样本的每个特征的权值,根据每个训练样本的每个特征的权值计算训练样本和测试样本的加权卡方距离;

s300、确定测试样本的类别:以训练样本和测试样本的加权卡方距离作为距离测度,通过k个最近邻训练样本的类隶属度确定测试样本的类别;

s400、对类别进行评价:对分类结果进行评价得到符合评价效果的样本。

该方法中,根据贴近距离型的模糊贴近度计算每个特征的权值,贴近度是度量两个模糊集和关系密切程度的一种方式,表示两个模糊集合之间的彼此接近程度,取值在[0,1]之间,取值越接近0,表明两个模糊集合的距离越大,关系越疏远,取值越接近1,表明两个模糊集合的距离越小,关系越密切。本发明根据贴近度越大相似性就越大的原则进行特征选取,可保证分类争取率的同时减少分类时间;以特征的贴近度计算特征的权值,区分了特征的重要程度,使得后续样本分类更精确;该算法中以加权卡方距离代替传统的欧式距离作为距离测度,克服了欧式距离只考虑各个特征量绝对距离,而忽视各个特征量的相对距离的缺陷,在分类中相对距离更有实际意义,卡方距离能有效反应各个特征量的相对距离变化。

进一步的,步骤s200中贴近距离型的模糊贴近度的计算方法为:以每个训练样本的每个特征与每个理想向量对应特征的相似度作为模糊隶属度,计算贴近距离型的模糊贴近度。

进一步的,步骤s200包括如下步骤:

s210、对训练样本进行模糊归一化处理,计算每类训练样本的理想向量;

s220、计算每个训练样本的每个特征与每个理想向量对应特征的相似度,得到每个训练样本的每个特征对应的相似度;

s230、将每个训练样本的每个特征对应的相似度作为模糊隶属度,计算贴近距离型的模糊贴近度;

s240、基于贴近度越大相似性越大的原则,根据贴近距离型的模糊贴近度计算每个训练样本的每个特征的权值;

s250、根据上述每个训练样本的每个特征的权值,计算测试样本和训练样本的加权卡方距离。

进一步的,步骤s210中每类理想向量为与其对应类的训练样本的均值,每类理想向量的表达式为:

其中,δ=1,2,...m,δ为类别数的变量,m为类别的数量,为第δ个理想向量。

相应的,步骤s220中每个特征对应的相似度的计算公式为:

其中,i=1,2,...n,i为训练样本数的变量,n为训练样本的数量;xi表示第i个训练样本;s=1,2,...k,s为第i个训练样本中特征数的变量。

步骤s230中贴近距离型的模糊贴近度的计算公式为:

步骤s240中特征的权值的计算公式为:

其中,ws满足

步骤s250中测试样本和训练样本的加权卡方距离的计算公式为:

其中j=1,2,...n,j为测试样本数的变量,n为测试样本的数量;yj表示第j个测试样本。

进一步的,基于测试样本和训练样本的加权卡方距离选取k个最近邻训练样本,包括如下步骤:

基于上述测试样本和训练样本的加权卡方距离,选取k个最小值的加权卡方距离作为k个最邻近距离,上述k个加权卡方距离对应的测试样本和训练样本分别对应为最近邻测试样本和最近邻训练样本;

每个最邻近距离表示为

每个最近邻训练样本表示为:

其中,i=1,2,...n,i为训练样本数的变量,n为训练样本的数量;s=1,2,...k,s为第i个训练样本中特征数的变量;xis表示第i个最近邻测试样本的第s个特征分量值;j=1,2,...q,j为测试样本数的变量,q为测试样本的数量;yjs表示第j个最近邻训练样本的第s个特征分量值;cjs表示第j个最邻近测试样本相应的类别。

进一步的,通过k个最近邻训练样本的类隶属度确定测试样本的类别,包括如下步骤:

基于训练样本的类隶属度的计算公式,计算每个最近邻训练样本的类隶属度,训练样本的类隶属度的计算公式为:

其中,t为模糊权重调节因子,表示样本与其k个邻居距离的重要程度,上式中的usδ计算方法为:

其中,fδ表示属于第δ类的邻居个数;

以k个最近邻样本的类隶属度中隶属度大的类别作为测试样本的类别。

进一步的,步骤s400中对上述分类结果进行评价采用的评价方法包括宏平均,宏平均为每一个类的性能指标的算术平均值,性能指标包括查全率、查准率、f测量值和分类精度。

进一步的,步骤s400中对分类结果进行评价得到符合评价效果的样本,包括如下步骤:

对分类结果进行评价,如果分类结果符合评价效果,输出测试样本;

如果分类结果不符合评价效果,调整近邻数k的取值,并返回依次执行步骤s200、步骤s300和步骤s400。

一种基于加权卡方距离度量的模糊k近邻分类系统,包括样本构建模块、近邻数设置模块、加权卡方距离计算模块、样本类别确定模块以及样本评价模块;样本构建模块用于构建样本,包括训练样本和测试样本;近邻数设置模块用于设置近邻数的取值;加权卡方距离计算模块能够从样本构建模块读取构建的样本,能够从近邻数设置模块读取设置的近邻数的取值,并能够计算训练样本和测试样本的加权卡方距离;样本类别确定模块能够从样本构建模块读取构建的样本,能够从近邻数设置模块读取近邻数的取值,能够从加权卡方距离计算模块读取训练样本和测试样本的加权卡方距离,并能够以训练样本和测试样本的加权卡方距离作为距离测度、通过k个最近邻训练样本的类隶属度确定测试样本的类别;样本评价模块能够从样本类别确定模块读取测试样本的类别,能够对测试样本的类别进行评价生成评价效果。

本发明的一种基于加权卡方距离度量的模糊k近邻分类方法及系统具有以下优点:

1、该方法的查全率、查准率以及f测量值均比现有传统的k近邻算法效果明显,且更具有稳定性;

2、该方法中根据贴近度越大相似性就越大的原则进行特征选取,保证了样本分类正确率,同时减少了分类时间,且该算法中以特征的贴近度构造特征的权值,区分了特征的重要程度,使得分类更加精确。

3、考虑到不同邻居到样本类中心的距离不同带来的影响,该算法以加权卡方距离作为测量距离,基于各个特征量的相对距离进行样本分类,分类准确率可不受噪声、相对数据以及无权重数据的影响,可提高分类的准确率;

4、以模糊数学理论为基础,引入模糊隶属度,以类隶属度确定分类的类别,减少内存空间,同时确保了分类的准确性。

附图说明

下面结合附图对本发明进一步说明。

附图1为一种基于加权卡方距离度量的模糊k近邻分类方法的流程框图。

具体实施方式

参照说明书附图和具体实施例对本发明的一种基于加权卡方距离度量的模糊k近邻分类方法及系统作以下详细地说明。

实施例1:

附图1所示,本发明的一种基于加权卡方距离度量的模糊k近邻分类方法,根据贴近距离型的模糊贴近度计算每个特征的权值,以加权卡方距离作为距离测度,通过k个邻居的类隶属度确定待分类样本的类别,并对分类结果进行评价得到符合评价效果的样本。该算法的具体步骤如下所示。

步骤s100、建立测试样本和训练样本,具体如下:

训练样本集合为x={(xi,ci)|i=1,2,...,n},其中,i=1,2,...n,i为训练样本数的变量,n为训练样本的数量;xi表示第i个训练样本,xil是一个l维向量,即特征维数为l,xil表示第i个训练样本的第l个特征分量值;ci表示第i个训练样本相应的类别,ci属于类别标签c,c={(cδ)|δ=1,2,...,m},δ为类别数的变量;

测试样本集合为y={yj|j=1,2,...,q},其中,j=1,2,...q,j为测试样本数的变量,q为测试样本的数量;yj表示第j个测试样本,yjl是一个l维向量,即特征维数为l,yjl表示第j个测试样本的第l个特征分量值。

步骤s200、设定近邻数k的初值。

步骤s300、计算测试样本和训练样本的加权卡方距离,以加权卡方距离代替欧式距离作为距离测度,加权卡方距离的计算方法为:以每个训练样本的每个特征与每个理想向量对应特征的相似度作为模糊隶属度,计算贴近距离型的模糊贴近度,根据贴近距离型的模糊贴近度计算每个训练样本的每个特征的权值,根据每个训练样本的每个特征的权值计算测试样本与训练样本的加权卡方距离,以加权卡方距离代替欧式距离作为距离测度,具体步骤为:

分步骤s310、对训练样本进行模糊归一化处理,计算每类训练样本的理想向量,该理想向量的选取为每类训练样本的均值,每类理想向量的表达式为:

其中,为第δ个理想向量;

分步骤s320、计算每个训练样本的每个特征与每个理想向量对应特征的相似度,得到每个训练样本的每个特征对应的相似度,每个特征对应的相似度的计算公式为:

其中,s=1,2,...k,s为第i个训练样本中特征数的变量,k为第i个样本中特征的数量,即n个训练样本得到维数为nm×h的相似性矩阵,记为s,每个特征值都对应n×m个相似度,表示如下:

s=[s1,s2,...,sn]t(3)

其中:

分步骤s330、将每个训练样本的每个特征对应的相似度作为模糊隶属度,带入贴近距离型的模糊贴近度公式,计算贴近距离型的模糊贴近度,计算公式为:

分步骤s340、根据贴近距离型的模糊贴近度计算每个训练样本的每个特征的权值,特征的权值的计算公式为:

其中,ws满足

分步骤s350、根据上述每个训练样本的每个特征的权值,计算测试样本和训练样本的加权卡方距离,测试样本和训练样本的加权卡方距离的计算公式为:

步骤s400、选取k个最近邻训练样本,包括如下分步骤:

分步骤s410、基于上述测试样本和训练样本的加权卡方距离,选取k个最小值的加权卡方距离作为k个最邻近距离,上述k个加权卡方距离对应的测试样本和训练样本分别对应为最近邻测试样本和最近邻训练样本,k个最近邻距离表示为其中,s=1,2,...,k,xis表示第i个最近邻测试样本的第s个特征分量值;yjs表示第j个最近邻训练样本的第s个特征分量值;

分步骤s420、在建立的最近邻测试样本和最近邻训练样本中选取离测试样本点最近的k个训练样本点,生成k个最近邻训练样本,每个最邻近训练样本表示为:

其中,cjs表示cjs表示第j个最邻近测试样本相应的类。

步骤s500、基于训练样本的类隶属度的计算公式,计算每个最近邻训练样本的类隶属度,训练样本的类隶属度的计算公式为:

其中,t为模糊权重调节因子(权重系数),表示样本与其k个邻居距离的重要程度,上式中的usδ计算方法为:

其中,fδ表示属于第δ类的邻居个数。

步骤s600、判断测试样本的类别:以k个最近邻样本的类隶属度中隶属度大的类别作为测试样本的类别。

步骤s700、对上述分类结果进行评价,如果分类结果符合评价效果,输出测试样本,如果分类结果不符合评价效果,返回步骤s200并调整k的取值,并依次执行步骤s300至步骤s700。

上述步骤s100至步骤s600对应的伪代码为:

输入:训练集x;测试集y;近邻数k;

输出:y所属的类别;

a[n]={(xi,ci),i=1,2,...,n};c为类别标签,c={(cδ)|δ=1,2,...,m},δ为类别数的变量;

取a[1]~a[k]作为y的初始近邻;

fors=1tok

计算a[s]与与测试样本y间加权卡方距离d(y,a[s])s=1,2,...k;

按照d(y,a[s])升序排序,计算最远样本与y间的距离d<max{d(y,a[s])|s=1,2,...k};

if(d(y,a[s]))<d

then用a[s]代替最远样本

计算最远样本a[s]与y间的距离max{d(y,a[s])|s=1,2,...k};

计算前k个样本a[s],s=1,2,...k所属类别的类隶属度值y’=us(y);

取类隶属度值大的类别即为样本y的类;

y’=uδ(y)=max{us(y)},i≠δ,则y属于第δ类。

endfor。

步骤s700中,评价方法包括宏平均,宏平均为每一个分类的性能指标的算术平均值,性能指标包括查全率、查准率和f测量值。本实施例通过宏平均方法进行评价,其中宏平均查全率公式为:

上式中,aδ表示在δ类准确预测的数目,bδ表示测试样本点为δ类的总数目。

宏平均查准率公式为:

f测量值的公式为:

上式中,r表示查全率,p表示查准率。

分类精度公式为:

上式中,a表示分类正确的样本数,b=q表示测试样本的总数。

通过宏平均方法在宏平均查全率,宏平均查准率、f测量值以及分类精度方面对该算法进行评价。本实施例汇总采用matlabr2014a软件进行仿真,在intel(r)core(tm)cpu3.40ghz,8gb内存,windows7系统的计算机上运行。采用的数据集是uci标准数据集,在iris,wine等公共数据集上进行测试,如表1。数据集描述如下:

表1:iris和wine数据集

本实施例实验将数据分为三份,其中两份为训练集,一份为测试集,采用交叉验证法,将每组数据同时使用传统的fknn算法,csknn算法和csfknn算法比较,根据公式(12)-(14),在相同条件下,比较三种算法的查全率,查准率以及f测量值。由于算法的本质决定了,k值的不同对分类器产生的分类效果也就不同。通过多次实验,当k大于3时,分类效果开始有区别。在确定的k值的情况下,选取两组明显的试验结果,如表2。

表2:实验比较结果(fknn,csknn,csfknn)

从表2中可以看出各项评价指标的相差结果,在表1-4中可以很明显的看出个评价指标的变化。k=3时,在iris数据集中,csfknn比csknn算法的查全率,查准率,f测量值增加2.9%左右,比knn的查全率,查准率,f测量值大约增加5.1%;在wine数据集中,比csknn算法的查全率增加1%左右,查准率增加3%左右,f测量值在3%左右,比knn查全率,查准率,f测量值都增加2%左右;k=8时,在iris数据集中,csfknn比csknn算法的查全率,查准率,f测量值增加2%左右,比knn的查全率,查准率,f测量值大约增加5%;在wine数据集中,比csknn算法的查全率增加1%左右,查准率增加2%左右,f测量值在2%左右,比knn查全率增加1%左右,查准率增加4%左右,f测量值增加2%左右。两个数据集相比,csfknn算法在iris数据集上的效果更加明显,更具有稳定性。

在具体应用中,也可采用微平均进行评价,微平均为每一个样本的性能指标的算术平均。

实施例2:

一种基于加权卡方距离度量的模糊k近邻分类系统,包括样本构建模块、近邻数设置模块、加权卡方距离计算模块、样本类别确定模块以及样本评价模块;样本构建模块用于构建样本,包括训练样本和测试样本;近邻数设置模块用于设置近邻数的取值;加权卡方距离计算模块能够从样本构建模块读取构建的样本,能够从近邻数设置模块读取设置的近邻数的取值,并能够计算训练样本和测试样本的加权卡方距离;样本类别确定模块能够从样本构建模块读取构建的样本,能够从近邻数设置模块读取近邻数的取值,能够从加权卡方距离计算模块读取训练样本和测试样本的加权卡方距离,并能够以训练样本和测试样本的加权卡方距离作为距离测度、通过k个最近邻训练样本的类隶属度确定测试样本的类别;样本评价模块能够从样本类别确定模块读取测试样本的类别,能够对测试样本的类别进行评价生成评价效果。

其中,近邻数设置模块能够支持用户设置近邻数的初值,并支持用户根据类别的评价效果对近邻数的取值进行调整。

加权卡方距离计算模块计算训练样本和测试样本的加权卡方距离采用的方法为:以每个训练样本的每个特征与每个理想向量对应特征的相似度作为模糊隶属度,计算贴近距离型的模糊贴近度,根据贴近距离型的模糊贴近度计算每个训练样本的每个特征的权值,根据每个训练样本的每个特征的权值计算训练样本和测试样本的加权卡方距离,具体步骤为:

(1)、对训练样本进行模糊归一化处理,计算每类训练样本的理想向量;

(2)、计算每个训练样本的每个特征与每个理想向量对应特征的相似度,得到每个训练样本的每个特征对应的相似度;

(3)、将每个训练样本的每个特征对应的相似度作为模糊隶属度,计算贴近距离型的模糊贴近度;

(4)、基于贴近度越大相似性越大的原则,根据贴近距离型的模糊贴近度计算每个训练样本的每个特征的权值;

(5)、根据上述每个训练样本的每个特征的权值,计算测试样本和训练样本的加权卡方距离。

样本类别确定模块确定测试样本的类别,采用的方法为:基于测试样本和训练样本的加权卡方距离选取k个最近邻训练样本,并计算上述k个最近邻训练样本的类隶属度,以基于上述k个最近邻训练样本的类隶属度确定测试样本的类别,具体包括如下步骤:基于上述测试样本和训练样本的加权卡方距离,选取k个最小值的加权卡方距离作为k个最邻近距离,上述k个加权卡方距离对应的测试样本和训练样本分别对应为最近邻测试样本和最近邻训练样本。

样本评价模块对测试样本的类别进行平均采用的方法包括宏平均和微平均,微平均为每一个样本的性能指标的算术平均,宏平均为每一个类的性能指标的算术平均值。本实施例中采用的方法为宏平均,宏平均中性能指标包括查全率、查准率、f测量值和分类精度。

本发明一种基于加权卡方距离度量的模糊k近邻分类系统可采用实施例1公开的一种基于加权卡方距离度量的模糊k近邻分类方法对待分类样本进行分类,得到待分类样本的类别。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。除说明书所述的技术特征外,均为本专业技术人员的已知技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1