开放科学(资源服务)标志码(OSID):
分类任务[1]是利用已知类别的样本通过建立模型预测新样本的类别[2]。分类是数据挖掘中最重要的任务之一,应用十分广泛。目前,常用的分类算法主要有决策树[3]、贝叶斯分类器[4]、人工神经网络[5]、支持向量机[6]、k近邻(k-Nearest Neighbor,KNN)算法[7]等。这些已有的分类算法及其改进算法被广泛地应用于各个领域,如统计学[8]、医学[9]、模式识别[10]、决策理论[11]等。KNN算法的基本思想[12]是通过已知类别的训练样本寻找待测样本的
针对KNN算法存在的问题,很多研究者提出了不同的改进算法。文献[14]提出了k近质心近邻(k-Nearest Centroid Neighbor,KNCN)算法,该算法的设计思想是近邻点要尽可能地离待分类样本近,而且近邻点要均匀地分布在待分类样本周围,通过这些近邻点所属类别判断待测样本的类别。文献[15]提出了一种基于局部权重的k近质心近邻算法LMKNCN,该算法的设计思想是为
然而,上述FKNCN算法及其改进算法在计算训练样本的隶属度时没有考虑训练样本中存在的噪声点或离群点,这在小样本数据集中会大幅降低分类精度。同时,算法忽略了训练样本特征的差异性,没有进行特征选择,影响了分类性能。针对这2个问题,本文对FKNCN算法进行改进,提出基于隶属度的模糊加权k近质心近邻算法MRFKNCN。设计新的隶属度函数计算训练样本的隶属度,区分训练样本中存在的噪声或离群样本与有效样本。在此基础上,通过基于冗余分析的Relief-F算法计算每个特征的权重,删去较小权重所对应的特征和冗余特征,选出重要特征后根据加权欧氏距离选取
本文算法所使用的符号说明见表 1。
![]() |
下载CSV 表 1 符号说明 Table 1 Symbol description |
假定在p维特征空间中,训练样本集
步骤1 利用式(1)计算待测样本y与所有训练样本间的欧氏距离,进行升序排列,选择最短距离所对应的训练样本作为第1个近质心近邻点
$ d(y, {x}_{j})=\sqrt{(y-{x}_{j}{)}^{\mathrm{T}}(y-{x}_{j})} $ | (1) |
步骤2 当
$ {x}_{rj}^{\mathrm{c}}=\frac{({x}_{1}^{\mathrm{N}\mathrm{C}\mathrm{N}}+{x}_{2}^{\mathrm{N}\mathrm{C}\mathrm{N}}+\cdots +{x}_{r-1}^{\mathrm{N}\mathrm{C}\mathrm{N}})+{x}_{j}}{r} $ | (2) |
步骤3 利用式(3)计算训练样本的质心与待测样本间的最短距离,选取所对应的训练样本作为第r个近质心近邻:
$ d(y, {x}_{rj}^{\mathrm{c}})=\mathrm{m}\mathrm{i}\mathrm{n}\sqrt{(y-{x}_{rj}^{\mathrm{c}}{)}^{\mathrm{T}}(y-{x}_{rj}^{\mathrm{c}})} $ | (3) |
步骤4 记
$ {u}_{i}^{\mathrm{N}\mathrm{C}\mathrm{N}}\left(y\right)=\frac{\sum\limits_{r=1}^{k}{u}_{ir}(1/d(y, {x}_{r}^{\mathrm{N}\mathrm{C}\mathrm{N}}{)}^{2/(m-1)})}{\sum\limits_{r=1}^{k}(1/d(y, {x}_{r}^{\mathrm{N}\mathrm{C}\mathrm{N}}{)}^{2/(m-1)})} $ | (4) |
其中:
$ {u}_{ir}\left({x}_{r}^{\mathrm{N}\mathrm{C}\mathrm{N}}\right)=\left\{\begin{array}{l}1, {x}_{r}^{\mathrm{N}\mathrm{C}\mathrm{N}}\in i\\ 0, {x}_{r}^{\mathrm{N}\mathrm{C}\mathrm{N}}\notin i\end{array}\right. $ | (5) |
$ {u}_{ir}\left({x}_{rk}^{\mathrm{N}\mathrm{C}\mathrm{N}}\right)=\left\{\begin{array}{l}0.51+0.49({n}_{r}/k), c\left({x}_{rk}^{\mathrm{N}\mathrm{C}\mathrm{N}}\right)=i\\ 0.49({n}_{r}/k), c\left({x}_{rk}^{\mathrm{N}\mathrm{C}\mathrm{N}}\right)\ne i\end{array}\right. $ | (6) |
利用式(5)和式(6)均可计算训练样本的隶属度。一般而言,优先选择式(6)计算其隶属度[18],原因在于该计算方式引入了模糊理论,将训练样本的隶属度模糊化,通过训练样本的
步骤5 通过最大的模糊隶属度值判断待测样本y的所属类别,如式(7)所示:
$ y=\mathrm{a}\mathrm{r}\mathrm{g}\mathrm{m}\mathrm{a}\mathrm{x}\left({u}_{i}^{\mathrm{N}\mathrm{C}\mathrm{N}}\right(y\left)\right) $ | (7) |
步骤6 对于一个新的待测样本点,重复步骤1~步骤5。
1.3 特征的相关性度量定义1 皮尔逊相关系数[20]
设
$ {r}_{ef}=\frac{\sum\limits_{i=1}^{p}({e}_{i}-\overline{e})({f}_{i}-\overline{f})}{\sqrt{\sum\limits_{i=1}^{p}({e}_{i}-\overline{e})}\sqrt{\sum\limits_{i=1}^{p}({f}_{i}-\overline{f})}} $ | (8) |
其中:
隶属度函数的设计是FKNCN算法的关键,但FKNCN算法在计算训练样本的隶属度时,并没有考虑噪声点或离群点对分类的影响,同时该算法在计算待测样本与训练样本间的欧氏距离时,把所有训练样本的各维特征等同对待,没有区分它们的重要程度,这些都会影响分类的性能。为此,本文提出基于隶属度的模糊加权k近质心近邻算法MRFKNCN。通过密度聚类思想为训练样本设计新的隶属度函数、利用基于冗余分析的Relief-F算法计算特征的权重、确定待测样本的类别这3个部分克服噪声点、离群点的影响,同时解决相同特征权重的问题,提高分类的效率和准确率。
2.1 隶属度函数构造样本集中经常会出现噪声点或离群点,而FKNCN算法在计算训练样本的隶属度时,没有区分这些样本与有效样本,导致所有训练样本的隶属度相同,这会在很大程度上影响分类的准确率。本文采用密度聚类的思想构造最小包围球。首先计算最小包围球的类中心和半径;然后根据训练样本在最小包围球的位置确定其隶属度;最后根据隶属度的大小判断训练样本是离群或噪声样本还是有效样本。计算最小包围球类中心和半径的具体步骤如下:
步骤1 计算训练样本
步骤2 根据样本
步骤3 利用式(9)计算所有样本的密度
$ \rho \left({x}_{j}\right)=\frac{{z}_{j}}{\sum\limits_{j=1}^{n}{z}_{j}} $ | (9) |
其中:
步骤4 选择最大密度样本点
$ O\left(T\right)=0.7{x}_{\mathrm{m}\mathrm{a}\mathrm{x}}+0.3{x}_{n\_\mathrm{m}\mathrm{a}\mathrm{x}} $ | (10) |
步骤5 利用式(10)计算最小包围球的半径:
$ R\left(T\right)=\lambda \frac{a\left(T\right)}{{n}^{\delta }} $ | (11) |
其中:
计算出样本集中最小包围球的类中心和半径后,利用式(12)确定训练样本的隶属度:
$ u\left({x}_{{}_{j}}\right)=\left\{\begin{array}{l}0.7\times \left(\frac{1-d\left({x}_{j}\right)/R\left(T\right)}{1+d\left({x}_{j}\right)/R\left(T\right)}\right)+0.3, d\left({x}_{j}\right)\le R\left(T\right)\\ 0.3\times \left(\frac{1}{1+\left(d\right({x}_{j})-R(T\left)\right)}\right), d\left({x}_{j}\right) > R\left(T\right)\end{array}\right. $ | (12) |
其中:
本节提出基于冗余分析的Relief-F特征选择算法计算每个特征的权重。首先将FKNCN算法中的欧氏距离改为特征加权的欧氏距离;然后通过加权欧氏距离确定待测样本的近质心近邻;最后通过近质心近邻的隶属度和距离加权确定待测样本的类隶属度。
2.2.1 特征权重的计算在分类过程中,并不是所有的特征都与分类强相关,也会存在一些不相关特征及冗余特征。如果在分类时不处理这些特征,会出现计算成本高、分类性能低等问题。为了得到最优特征子集,特征选择是必不可少的。Relief-F算法[21]是最成功的特征选择方法之一,算法的具体步骤如下:
1)对所有特征归一化处理:
$ {x}_{j, l}^{\mathrm{\text{'}}}=\frac{{x}_{j, l}-{\mu }_{l}}{{s}_{l}} $ | (13) |
其中:
2)从训练集中随机选择样本点
3)通过式(14)计算每个特征的特征权重[22]:
$ \begin{array}{l}w\left(l\right)\mathrm{ }=w\left(l\right)\mathrm{ }-\sum\limits_{r=1}^{k}{\rm{diff}}({A}_{l}, {x}_{j}, {H}_{r})/\alpha k+\\ \;\;\;\;\sum\limits_{c\ne \mathrm{c}\mathrm{l}\mathrm{a}\mathrm{s}\mathrm{s}\left({x}_{i}\right)}\left[\frac{p\left(c\right)}{1-p\left(\mathrm{c}\mathrm{l}\mathrm{a}\mathrm{s}\mathrm{s}\right({x}_{j}\left)\right)}\sum\limits_{r=1}^{k}{\rm{diff}}({A}_{l}, {x}_{j}, {M}_{r}(c\left)\right)\right]/\alpha k\end{array} $ | (14) |
其中:
虽然Relief-F算法在处理多分类问题时效率高并且能够很好地剔除不相关特征,但不能过滤冗余特征。为此,本文在Relief-F算法的基础上提出基于冗余分析的Relief-F特征选择算法计算所有特征的权重,算法描述如下:
算法1 基于冗余分析的Relief-F算法
输入 训练集
输出 每个特征的特征权重
步骤1 所有特征归一化处理。
步骤2 将所有特征权重置0。
步骤3 在
步骤4 找到与
步骤5 每个类
步骤6 更新每个特征的特征权重。
步骤7 根据特征权重阈值,选择分类权重最大的特征集合。
步骤8 冗余分析。利用皮尔森相关系数计算特征之间的相关性。
以上步骤是在一次抽样下计算每个特征的特征权重,经过
利用式(15)计算待测样本
$ d(y, {x}_{j})=\sqrt{\sum\limits_{l=1}^{p}w\left(l\right)({y}_{l}-{x}_{jl}{)}^{\mathrm{T}}({y}_{l}-{x}_{jl})} $ | (15) |
其中:
计算出每个特征的特征权重后,利用式(16)计算待测样本y属于每个类别的隶属度值:
$ {u}_{i}^{\mathrm{N}\mathrm{C}\mathrm{N}}\left(y\right)=\frac{\sum\limits_{r=1}^{k}{u}_{i}\left({x}_{r}^{\mathrm{N}\mathrm{C}\mathrm{N}}\right)(1/d({y}_{l}, {x}_{rl}^{\mathrm{N}\mathrm{C}\mathrm{N}}{)}^{2/(m-1)})}{\sum\limits_{r=1}^{k}(1/d({y}_{l}, {x}_{rl}^{\mathrm{N}\mathrm{C}\mathrm{N}}{)}^{2/(m-1)})} $ | (16) |
其中:
得到待测样本
MRFKNCN算法的设计思想为:首先计算训练样本的隶属度;然后计算所有特征的权重,并找出
![]() |
Download:
|
图 1 MRFKNCN算法流程 Fig. 1 Procedure of MRFKNCN algorithm |
算法2 MRFKNCN算法
输入 近质心近邻个数
输出 待测试样本
步骤1 利用式(9)计算训练样本的密度。
步骤2 利用式(10)和式(11)计算最小包围球的类中心和半径。
步骤3 利用式(12)计算训练样本隶属度。
步骤4 通过基于冗余分析的Relief-F算法计算所有特征的权重。
步骤5 利用式(15)计算待测样本与训练样本之间的加权欧氏距离,找出
步骤6 利用式(16)计算待测样本的模糊隶属度。
步骤7 根据最大隶属度原则确定待分类样本的类别。
2.4 算法复杂度分析假设
为验证本文MRFKNCN算法的有效性,选用UCI和KEEL中的11个标准数据集和4个含噪数据集进行仿真实验,所有实验都在Matlab2014b的环境下完成。表 2、表 3列出了实验中所用数据集的相关信息。
![]() |
下载CSV 表 2 标准数据集 Table 2 Standard data sets |
![]() |
下载CSV 表 3 含噪数据集 Table 3 Datas sets with noise |
为了更好地测试各算法的分类效果,对本文算法所使用的相关参数进行调优。
参考文献[23],取
本节设计了4个实验来验证MRFKNCN算法的有效性,将分类的准确率作为评价标准,比较本文算法与其他算法的性能。准确率的计算方法如下:
$ A=\frac{{N}_{\mathrm{c}}}{{N}_{\mathrm{t}}}\times 100\mathrm{\%} $ | (17) |
其中:
对于样本总数较小的数据集,通过10次5折交叉验证进行实验;对于样本总数大的数据集,通过10次10折交叉验证进行实验,最后将所有实验得到的准确率平均值作为测试结果。实验1~实验3均采用交叉验证法确定最优k值。
3.3.1 MRFKNCN算法总体性能分析实验1 为验证本文所提的新的隶属度函数在噪声点或离群点影响下的有效性,将MRFKNCN算法与利用式(5)计算隶属度的FKNCN算法(命名为FKNCN1)及利用式(6)计算隶属度的FKNCN算法(命名为FKNCN2)进行比较,运用表 3含噪数据集。实验结果如表 4所示。
![]() |
下载CSV 表 4 MRFKNCN与FKNCN算法的平均准确率 Table 4 Average accuracy of MRFKNCN and FKNCN algorithms |
表 4结果表明,当训练集中含有噪声点或离群点时,MRFKNCN算法的平均准确率明显高于FKNCN1算法和FKNCN2算法,在Iris、Vehicle、Wine、Letter这4个含噪数据集上,MRFKNCN算法的平均准确率比FKNCN1算法分别提高4.48、3.16、3.64、2.86个百分点,比FKNCN2算法分别提高3.26、3.92、2.69、2.33个百分点,这表明本文所设计的新隶属度函数可以很好地识别出训练样本集中的噪声点或离群点,尤其是在Iris小数据集中,MRFKNCN算法获得了较高的准确率。
实验2 为验证基于冗余分析的Relief-F算法计算特征权重方法的有效性,将MRFKNCN算法与未加权欧氏距离的MRFKNCN算法(命名为MRFKNCN_N)、确定统一特征权重的MRFKNCN算法(命名为MRFKNCN_U)进行对比,运用表 3中Arrhythmia、Segment、Zoo、Balance、Thyroid这5个数据集,3种算法的平均准确率结果如图 2所示。
![]() |
Download:
|
图 2 3种算法平均准确率对比 Fig. 2 Comparison of average accuracy of three algorithms |
图 2结果表明,5个数据集中MRFKNCN的分类准确率都明显优于MRFKNCN_N算法和MRFKNCN_U算法,说明不同的特征有不同的贡献率。因此,为了保证算法的准确率,应分别确定每个样本特征的权重,区分其差异,从而提高分类的性能。
实验3 在最优
![]() |
下载CSV 表 5 最优k值下MRFKNCN与其他6种算法的平均准确率 Table 5 Average accuracy of MRFKNCN and other six algorithms under optimal k value |
表 5结果表明,虽然在Thyroid数据集中,BMFKNCN算法取得了较高的准确率,但是MRFKNCN算法的准确率仍高于其他5种对比算法。MRFKNCN算法在其余10个数据集中的准确率都高于其他6种对比算法的准确率,尤其是在Movement、Arrhythmia、Multivariate这3个高维数据集上的准确率大幅提升,说明MRFKNCN算法不仅可以去除噪声样本对分类性能的影响,还可以选出有代表性的特征提高分类的准确率。同时,MRFKNCN算法在11个数据集中获得了最高的平均准确率。
3.3.2 MRFKNCN算法在不同k值下的性能分析实验4 为了验证MRFKNCN算法在不同k值下的分类性能,将MRFKNCN算法与6个对比算法在k=1~15时进行比较。运用表 3的Hayes-roth、Ecoli、Glass、Sends、Cleveland这5个数据集。图 3~图 7给出了7种算法的分类准确率对比折线图。
![]() |
Download:
|
图 3 在Hayes-roth数据集上的实验结果 Fig. 3 Experimental results on the Hayes-roth dataset |
![]() |
Download:
|
图 4 在Ecoli数据集上的实验结果 Fig. 4 Experimental results on the Ecoli dataset |
![]() |
Download:
|
图 5 在Glass数据集上的实验结果 Fig. 5 Experimental results on the Glass dataset |
![]() |
Download:
|
图 6 在Sends数据集上的实验结果 Fig. 6 Experimental results on the Sends dataset |
![]() |
Download:
|
图 7 在Movement数据集上的实验结果 Fig. 7 Experimental results on the Movement dataset |
针对FKNCN算法未区别样本特征的不足,本文提出基于隶属度的模糊加权k近质心近邻算法MRFKNCN。利用密度聚类思想设计新的隶属度函数计算训练样本的隶属度,通过基于冗余分析的Relief-F算法计算每个特征的权重,删去不相关特征和冗余特征,选出重要的特征,并利用加权欧氏距离选取
[1] |
SYAHARA Z, ADIHA R N, WINDARTO A P. Implementasi data mining algoritma apriori pada sistem persediaan bahan bangunan di karang sari[J]. BRAHMANA Jurnal Penerapan Kecerdasan Buatan, 2021, 2(2): 107-115. DOI:10.30645/brahmana.v2i2.72 |
[2] |
王谟瀚, 翟俊海, 齐家兴. 基于MapReduce和Spark的大规模压缩模糊K-近邻算法[J]. 计算机工程, 2020, 46(11): 139-147. WANG M H, ZHAI J H, QI J X. Large-scale condensed fuzzy K-nearest neighbor algorithm based on MapReduce and Spark[J]. Computer Engineering, 2020, 46(11): 139-147. (in Chinese) |
[3] |
GUERRERO M D, VANDERLOO L M, RHODES R E, et al. Canadian children's and youth's adherence to the 24-h movement guidelines during the COVID-19 pandemic: a decision tree analysis[J]. Journal of Sport and Health Science, 2020, 9(4): 313-321. DOI:10.1016/j.jshs.2020.06.005 |
[4] |
ABBAS A, SHIHAB M. Diagnosis the breast cancer using Bayesian rough set classifier[J]. Iraqi Journal of Science, 2017, 58(1B): 302-308. |
[5] |
DONG Y L, WANG H M. Robust output feedback stabilization for uncertain discrete-time stochastic neural networks with time-varying delay[J]. Neural Processing Letters, 2020, 51(1): 83-103. DOI:10.1007/s11063-019-10077-x |
[6] |
HU J L, WANG J R, LIN J N, et al. MD-SVM: a novel SVM-based algorithm for the motif discovery of transcription factor binding sites[J]. BMC Bioinformatics, 2019, 20(Suppl 7): 200. |
[7] |
MA Z F, TIAN H P, LIU Z C, et al. A new incomplete pattern belief classification method with multiple estimations based on KNN[J]. Applied Soft Computing, 2020, 90(4): 106-175. |
[8] |
ANGKASA A, FITRIANAH D. The implementation of classification algorithm C4.5 in determining the illness risk level for health insurance company in Indonesia[J]. International Journal of Computer Applications, 2020, 177(37): 44-50. DOI:10.5120/ijca2020919883 |
[9] |
BARWAL R K, RAHEJA N. Comparative analysis of classification methods based on medical datasets[J]. Journal of Computational and Theoretical Nanoscience, 2020, 17(6): 2737-2745. DOI:10.1166/jctn.2020.9114 |
[10] |
RAMACHANDRAN S K, MANIKANDAN P. An efficient ALO-based ensemble classification algorithm for medical big data processing[J]. International Journal of Medical Engineering and Informatics, 2021, 13(1): 54-58. DOI:10.1504/IJMEI.2021.111864 |
[11] |
ZHAN L Y, MA X H, FANG W Q, et al. A rapid classification method of aluminum alloy based on laser-induced breakdown spectroscopy and random forest algorithm[J]. Plasma Science and Technology, 2019, 21(3): 152-158. |
[12] |
WANG F, YU Y L, WANG X K, et al. Residential electricity consumption level impact factor analysis based on wrapper feature selection and multinomial logistic regression[J]. Energies, 2018, 11(5): 1180-1193. DOI:10.3390/en11051180 |
[13] |
DINESH KUMAR D S, RAO P V. Implementing and analysing FAR and FRR for face and voice recognition (multimodal) using KNN classifier[J]. International Journal of Intelligent Unmanned Systems, 2019, 8(1): 55-67. DOI:10.1108/IJIUS-02-2019-0015 |
[14] |
SÁNCHEZ J S, PLA F, FERRI F J. On the use of neighbourhood-based non-parametric classifiers[J]. Pattern Recognition Letters, 1997, 18(11/12/13): 1179-1186. |
[15] |
谢红, 赵洪野, 解武. 基于局部权重k-近质心近邻算法[J]. 应用科技, 2015, 42(5): 10-13. XIE H, ZHAO H Y, XIE W. Local weight-based k-nearest centroid neighbor algorithm[J]. Applied Science and Technology, 2015, 42(5): 10-13. (in Chinese) |
[16] |
KELLER J M, GRAY M R, GIVENS J A. A fuzzy K-nearest neighbor algorithm[J]. IEEE Transactions on Systems, Man, and Cybernetics, 1985, 15(4): 580-585. |
[17] |
JAMALUDDIN J, SIRINGORINGO R. Improved fuzzy K-nearest neighbor using modified particle swarm optimization[J]. Journal of Physics Conference Series, 2017, 930(1): 1-10. |
[18] |
ROSDI B A, JAAFAR H, RAMLI D A. Finger vein identification using fuzzy-based k-nearest centroid neighbor classifier[C]//Proceedings of AIP Conference. Pahang, Malaysia: AIP Publishing, 2015: 649-654.
|
[19] |
WIDYADHANA A, PUTRA C B P, INDRASWARI R, et al. A bonferroni mean based fuzzy K nearest centroid neighbor classifier[J]. Jurnal Ilmu Komputer Dan Informasi, 2021, 14(1): 65-71. DOI:10.21609/jiki.v14i1.959 |
[20] |
MENDHE P, BALPANDE R, KHOBRAGADE A. Fast fractal image encoding scheme based on Absolute value of Pearson correlation coefficient[C]//Proceedings of International Conference on Communications and Signal Processing. Washington D. C., USA: IEEE Press, 2015: 1036-1040.
|
[21] |
GAVISIDDAPPA G, MAHADEVAPPA S, PATIL C, et al. Multimodal biometric authentication system using modified ReliefF feature selection and multi support vector machine[J]. International Journal of Intelligent Engineering and Systems, 2020, 13(1): 1-12. DOI:10.22266/ijies2020.0229.01 |
[22] |
SHAIK E K, KUMAR P R. Epilepsy identification based on VMD, RELIEFF algorithm and machine learning classification techniques[J]. International Journal of Recent Technology and Engineering, 2019, 8(3): 6180-6185. |
[23] |
CHEN L C, GAO S, LIU B X, et al. FEW-NNN: a fuzzy entropy weighted natural nearest neighbor method for flow-based network traffic attack detection[J]. China Communications, 2020, 17(5): 151-167. DOI:10.23919/JCC.2020.05.013 |