CN111104950A - 基于神经网络的k-NN算法中k值预测方法及装置 - Google Patents
基于神经网络的k-NN算法中k值预测方法及装置 Download PDFInfo
- Publication number
- CN111104950A CN111104950A CN201811248561.8A CN201811248561A CN111104950A CN 111104950 A CN111104950 A CN 111104950A CN 201811248561 A CN201811248561 A CN 201811248561A CN 111104950 A CN111104950 A CN 111104950A
- Authority
- CN
- China
- Prior art keywords
- value
- optimal
- data set
- algorithm
- prediction model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 34
- 238000005259 measurement Methods 0.000 claims abstract description 10
- 238000010801 machine learning Methods 0.000 claims abstract description 6
- 238000012549 training Methods 0.000 claims description 37
- 238000007635 classification algorithm Methods 0.000 claims description 21
- 238000002790 cross-validation Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013145 classification model Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000000691 measurement method Methods 0.000 claims 1
- 210000002569 neuron Anatomy 0.000 description 10
- 238000010276 construction Methods 0.000 description 7
- 238000010187 selection method Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000002068 genetic effect Effects 0.000 description 5
- 210000004027 cell Anatomy 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000005284 excitation Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241001370313 Alepes vari Species 0.000 description 1
- 241000687983 Cerobasis alpha Species 0.000 description 1
- 241000288113 Gallirallus australis Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于神经网络的k‑NN算法中k值预测方法及装置,所述方法包括:利用机器学习方法分析历史数据集的特征和最优k值间的内在关系,并根据所述内在关系构建相应的k值预测模型;当新数据集到来时,抽取其特征度量作为k值预测模型的输入进行k值预测,获取从所述k值预测模型中输出的待分类问题上的最优k值。
Description
技术领域
本发明涉及分类算法技术领域,尤其涉及一种基于神经网络的k-NN算法中 k值预测方法及装置。
背景技术
在现有技术中,k-最近邻方法是一种基于实例学习的分类算法,通过将待分类样本与其相似的训练样本进行比较来学习,该方法理论简单,有效,易于理解,已被广泛应用于文本文类、市场营销、生物学及模式识别等领域。
当对未知样本进行分类时,k-NN分类算法首先从训练集中找出距离该样本最近的k个近邻,然后根据k最近邻的类别,投票确定未知样本的类别。如果k 值太小,那么k-NN分类算法容易受到噪声的影响,从而导致过度拟合;相反,如果k值太大,增加计算开销的同时,异常点的引入将会降低k-NN算法的分类精度。为待分类问题推荐一个合适的k值,对于k最近邻分类算法的分类性能至关重要。目前关于k-NN分类算法优化的研究工作主要集中于:(1)加权k-NN,试图为k个最近邻分配适当的权重,以便提高k-NN算法的分类精度;(2)压缩或编辑k-NN,删除训练集中的某些样本,以改善k-NN算法的分类精度及分类效率。在使用k-NN进行分类时,无论加权还是压缩编辑训练集,仍须预先设定一个合适的k值,才能保证k-NN分类算法的性能。然而,关于最近邻个数k值的确定及优化的研究工作并不多。
在现有技术中,关于最近邻个数k值的确定及优化的研究工作中,已有方法可分为以下四大类:(1)k=1(1-NN),找出离未知样本最近的一个训练样本,将未知样本分派给最近样本所属的类别。1-NN算法虽简单、快捷,但极易受噪声数据的影响。依据“No freelunch”原则,并不存在单一的方法能够解决所有问题。同理,单一k值对应的k-NN分类算法并不适用于解决所有的分类问题; (2)交叉验证法(“留一法”和n折交叉验证),预先设定最近邻个数k的取值范围。从k=1开始,重复地进行交叉验证,评估k-NN算法的分类精度,将最高分类精度对应的k值作为最优k值。交叉验证法是最常用的参数优化方法,可以确定不同分类问题上的最优k值,但其计算开销大,难以广泛地用于解决实际分类问题;(3)启发式方法,依据训练集中样本数量或类分布,为未知数据集指定一个适当的k值。Okamoto和Yugami发现训练集样本数量越多时,最优 k值越大,但并没有给出具体的k值预测模型,从而无法指导实际应用;(4)遗传算法(GAk-NN),基于生物进化“适者生存”理论,预先设定一个初始k值,经不断地交叉变异,最终收敛得到一个最优k值。遗传优化算法的进化过程随机性大,迭代次数多,易于陷入局部最优。当数据集规模较大时,遗传算法的收敛过程缓慢,难以获得相应的实验结果。大多数的k值选择方法致力于通过反复实验,寻找最优k值,并没有全面地分析数据集本身的特征与最近邻个数k 值之间的关系,也没有给出统一的预测模型。
发明内容
本发明实施例提供一种基于神经网络的k-NN算法中k值预测方法及装置,用以解决现有技术中的上述问题。
本发明实施例提供一种基于神经网络的k-NN算法中k值预测方法,包括:
利用机器学习方法分析历史数据集的特征和最优k值间的内在关系,并根据所述内在关系构建相应的k值预测模型;
当新数据集到来时,抽取其特征度量作为k值预测模型的输入进行k值预测,获取从所述k值预测模型中输出的待分类问题上的最优k值。
优选地,利用机器学习方法分析历史数据集的特征和最优k值间的内在关系,并根据所述内在关系构建相应的k值预测模型具体包括:
从每个历史数据集中,抽取可用的数据集特征度量,同时采用交叉验证方法确定每个数据集上的最优k值,建立数据集特征与最优k值的关系数据库;
基于所述关系数据库,采用后向传播算法BP,构建数据集特征与最优k值之间的关系模型,即k值预测模型。
优选地,所述数据集特征度量具体包括:传统特征度量、问题复杂度量、Landmarking度量、基于模型的度量以及结构信息度量。
优选地,基于所述关系数据库,采用后向传播算法BP,构建数据集特征与最优k值之间的关系模型,即k值预测模型具体包括:
每一个数据集特征对应一个后向传播算法BP的输入层的单元,输出层为最优k值,后向传播算法BP迭代地处理训练样本数据集,通过比较每个样本的预测k值与实际最优k值进行学习;对于每一个训练样本,修改其权重使其预测值和实际值之间的均方差最小,权重最终收敛,学习过程停止。
优选地,基于所述关系数据库,采用后向传播算法BP,构建数据集特征与最优k值之间的关系模型,即k值预测模型之前,所述方法进一步包括:
预先使用wrapper方法从数据集特征度量中进行属性选择,在不损失模型预测性能的情况下,过滤掉不相关的或是无用的属性;
将经Wrapper筛选出的数据集特征度量子集作为后向传播算法BP的输入。
优选地,后向传播算法BP迭代地处理训练样本数据集,通过比较每个样本的预测k值与实际最优k值进行学习具体包括:
依据训练集中样本数量,将最优k值的搜索区间设为[1,numTrain],采用了5×10折交叉验证方法,评估不同k值对应的k-NN算法的分类性能;
将k值的上限kmax设为训练集的大小,首先将每一个数据集分割成相等的 10折,其中一折作为测试集,其余折一起作为训练集,用以构建分类模型,重复5次,每次随机数不同,通过5×10折交叉验证,获得所有k值对应的k-NN 算法的分类精度;
依据最高分类精度及置信边界ω,计算每个数据集上可用k值对应的k-NN 算法的分类精度边界[Acc-ω·AM,Acc],从而确定可用k值集合,其中,Acc为最优分类精度,NT为测试集中样本数量,ω决定可用区间的范围,ω越大,置信度越高,则最优k值对应的k-NN分类算法落入区间内的可能性越高;
将所述可用k值集合中的最优最小的k值用于构建k值预测模型,其他可用的k值用于评估k值预测模型的性能;给定待分类数据集,如果k值预测算法推荐的k值属于可用k值集合,那么预测的k值则被认为是最优k值,否则,预测的k值不是最优k。
本发明实施例还提供一种基于神经网络的k-NN算法中k值预测装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述方法的步骤。
采用本发明实施例,利用神经网络分析数据集特征与最优k值之间的内在关系,构建相应的k值预测模型,以期为待分类问题推荐一个最优k值,进而提升k-NN分类算法性能。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例中k值预测框架的示意图;
图2是本发明实施例中BP神经网络模型的示意图;
图3是本发明实施例中Wrapper属性选择过程的示意图;
图4是本发明实施例中k值预测模型的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在对本发明实施例进行详细说明之前,首先对本发明实施例涉及到的概念进行说明。
1)k-NN分类算法
k-NN是一种最具代表性的惰性分类算法,它并不预先构建模型,而仅当待分类样本到来时,才从训练集中寻找离该样本最近的k个近邻;然后,依据k最近邻的类别,通过投票为新样本分派相应的类别。
本发明实施例提出的k值预测算法与4种常用的最优k值确定方法进行比较,包括交叉验证(CV)、改进的k-NN(IMPkNN)、遗传算法(GAkNN)及默认 1-NN。
2)属性选择方法及模型构建方法
数据挖掘工具箱WEKA中实现了Wrapper属性选择方法、序列后向选择方法 (SBS)搜索策略以及构建k值预测模型所需的BP神经网络算法(多层感知器 MLP),其他参数均使用默认值。
3)性能评估方法
在寻找最优k时,为了减少偶然误差并保证分类精度及分类效率,采用5×10 折交叉验证来评估不同k值(k∈[1,numTrain])对应的k-NN算法的分类精度;为了能够无偏地评估k值预测算法的预测性能,采用Jackknife方法评估后向神经网络算法的建模能力。
4)参数设置
置信水平∝的设置对应于ω的值,决定了可用k值的取值范围。如果∝太大,置信区间变窄,实际可用的k值可能会落到置信区间外,置信度也会降低;如果∝太小,置信区间中k的取值范围非常宽,导致那些不可用的k值也会落入置信区间,置信度虽高,但并不能准确地获得真实可用的k值。为了在不损失置信度的情况下,尽可能地将有显著性差异的k值排除在区间外,设置∝=0.1,对应的置信边界ω=1.2816,置信度为90%。
以下对本发明实施例的技术方案进行说明。
不同数据集对应的最优k值也不同,这意味着数据集特征与最优k值之间必然存在着某种关联关系。因此,最近邻个数k值预测模型的构建,即构建数据集特征与其对应的最优k值之间关系模型的构建。当待分类问题到来时,抽取该数据集的特征,代入k值预测模型,即可为获得该数据集上的最优k值。图1给出了 k值预测算法的基本框架。最近邻个数k值预测算法由两部分构成:1)模型构建; 2)k值预测。
1)模型构建
利用机器学习方法分析历史数据集的特征和最优k值间的内在关系,并构建相应的k值预测模型。建模过程主要包括两个步骤:数据准备及预测模型构建。
(1)数据准备:从每个历史数据集中,抽取可用的数据集特征度量,同时采用交叉验证方法确定每个数据集上的最优k值,建立“数据集特征-最优k值”的关系数据库。
(2)预测模型构建:采用后向传播算法(Backpropagation,BP),构建数据集特征与最优k值之间的关系模型,即k值预测模型。
k值预测模型的建立基于数据集特征与最优k值之间的内在关系,但二者之间究竟存在着怎样的关联关系,至今仍是未知的。为了更好地拟合数据集特征与最优k值之间的关系,本发明采用后向传播神经网络算法(Back Propagation, BP)来构建k值预测模型。后向传播算法(BP)是1986年由David等人提出的一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的一种神经网络模型。BP算法能够学习和存贮大量的“输入-输出”模式的映射关系,而无需预知映射关系的数学模型。
神经网络是一组连接的输入/输出单元,每个连接均与一个权重相关联。在学习阶段,通过反复地调整权重,使其能够正确地预测输入样本的类标号。神经网络的优点在于它对噪声数据具有较高的容忍受能力,而且对未经过训练的数据模式也具有较强的分类能力。特别是,当缺乏属性特征与类目标概念之间的关联知识时,可以使用神经网络算法进行学习。神经网络算法不仅能用于模式识别,还适用于连续值的输入和输出,因此被广泛地应用于文本过滤、手写字符识别及人脸识别等领域。
图2给出了BP神经网络模型的拓扑结构,包含了输入层、隐藏层和输出层。输入层神经元的个数由样本维度决定,输出层神经元的个数由样本分类个数决定。隐藏层的层数及每层的神经元个数均由用户指定,每一层包含多个神经元,每一个神经元包括一个阈值θj,用以调整神经元的活性。网络中连接线上的wij表示前一层神经元与后一层神经元之间的权值。每一个神经元都有输入和输出。输入层的输入和输出都是训练样本的属性值。对于隐藏层和输出层的输入是 Ij=∑iwijOi+θj,其中wij是由上一层的单元i到单元j的连接的权重;Oij是上一层的单元i的输出;θj是单元j的阈值。
在神经网络中,神经元的输出是通过激励函数计算而来,该函数用符号代表神经元活性。激励函数一般使用Sigmoid函数,神经元的输出Oj的计算公式如下:
本发明利用BP神经网络算法学习数据集特征与最优k值之间的关系模型,具体学习过程见表1:
表1,k值预测模型的构建过程
在利用BP神经网络算法构建k值预测模型时,每一个数据集特征对应一个输入层的单元,输出层为最优k值。后向传播算法迭代地处理训练样本数据集,通过比较每个样本的预测k值与实际最优k值进行学习。对于每一个训练样本,修改其权重使其预测值和实际值之间的均方差最小,权重最终收敛,学习过程停止。神经网络的学习过程的训练时间较长,但如果隐藏层单元和训练样本足够多,BP神经网络算法可以逼近任意函数。
在构建k值预测模型的过程中,神经网络本身虽能识别训练集中有价值的属性特征,但属性选择依然能够改进神经网络算法的性能。此外,并不是所有的数据集特征均有助于k值预测模型的构建,哪些属性与最优k值相关是未知的。因此,在构建模型时,预先使用wrapper方法进行属性选择,保证不损失模型预测性能的情况下,过滤掉不相关的或是无用的属性,详见图3,BP神经网络作为评估分类算法,用以衡量属性子集的有效性,以序列后向选择方法(SBS)作为搜索策略,迭代直至BP神经网络算法获得最高分类精度为止。经Wrapper筛选出的属性子集作为BP神经网络的输入,BP神经网络算法即可在训练集上构建属性子集与最优k值之间的预测模型。
2)k值预测
当新数据集到来时,抽取其特征度量作为k值预测模型的输入,模型的输出即为待分类问题上的最优k值。
为了评估k值预测模型的性能,本发明采用了Jackknife方法,每次将建模数据集分成两部分,测试集中只包含一个样本,其余样本作为训练集,用于构建预测模型,直至每一个样本都被分配一个相应的预测k值。Jackknife方法不仅能够降低序列相关性评估量的偏差,也能够提高预测模型的泛化能力。
以下结合实例对本发明上述技术方案进行详细说明。
1、数据集特征提取
采用了5种公认的常用于分析分类算法适用范围的特征度量,包括传统特征度量、问题复杂度量、Landmarking度量、基于模型的度量以及结构信息度量
2、最优k值识别
在利用k-NN分类算法进行分类时,不同的分类问题上的最优k值也不相同。为了确定待分类问题上的最优k值,本发明利用了交叉验证方法。首先,依据训练集中样本数量,将最优k值的搜索区间仍设为[1,numTrain],为了不损失分类性能的情况下,尽可能地提高分类效率,采用了5×10折交叉验证替代“留一法”交叉验证,评估不同k值对应的k-NN算法的分类性能。
对于任意一个数据集,分类精度最高时对应的k值通常不止一个。在实际应用中,在分类精度同样最好的情况下,计算开销越小越好,因此最优最小的k值被认为是最理想的k值,其他最优k值则被视作可用k值。
为了确定待分类数据集上可用的k值集合,依据k-NN分类算法的最高分类精度及置信水平,计算可用k值对应的k-NN算法的分类精度边界[Acc-ω·AM,Acc]。如果某一k值对应的k-NN分类算法的准确率落在区间内,意味着该k值对应的 k-NN分类算法的准确率与最优分类精度之间没有显著性差异,该k值是可用的,否则,不可用。其中,Acc是指最优分类精度,NT代表测试集中样本数量。ω决定可用区间的范围,ω越大,置信度越高,意味着最优k值对应的k-NN分类算法落入区间内的可能性越高。为了尽可能地将与最优k值对应的k-NN算法的分类性能有显著性差异的k值排除在可用区间外,同时保证可用k 值集合具有较高的置信度,ω的值越小越好。
假设将k值的上限kmax设为训练集的大小,首先将每一个数据集分割成相等的10折,其中一折作为测试集,其余折一起作为训练集,用以构建分类模型,重复5次,每次随机数不同,以便减少样本次序对分类性能的影响。通过5×10折交叉验证,获得所有k值对应的k-NN算法的分类精度。依据最高分类精度及置信边界ω,计算每个数据集上可用k值对应的k-NN算法的分类精度边界 [Acc-ω·AM,Acc],从而确定可用的k值集合。其中,最优最小的k值被选作类目标概念,用于构建k值预测模型,其他可用的k值用于评估k值预测算法的性能。给定待分类数据集,如果k值预测算法推荐的k值属于可用k值集合,那么预测的k 值则被认为是最优k值,否则,预测的k值不是最优k。
3、k值预测模型
1)k值预测模型的训练与评估
k值预测模型的训练与评估过程,为了公平地比较本发明(PAK)与现有方法的预测性能,并保证实验的可重复性,在49个UCI基本数据集对本发明进行了实验验证与评估,具体过程详见表2:
表2,k值预测模型的构建与评估
2)Wrapper属性选择后的数据特征
采用wrapper对所有可用数据集特征进行属性选择,筛选出了4种与k值预测最相关的数据集特征度量(见表1),包括属性数量F、信噪比NSR、类熵H(C) 和变量的平均熵属性数量属于简单度量,其他3个属性度量均属于信息理论度量。属性数量越多,意味着数据集维度越高;信噪比越大,意味着数据集中存在的不相关信息或噪声越多;类熵H(C)度量的是类属性中变量值分布的随机性;变量的平均熵是一个全局度量,综合评估了所有变量的随机性;类熵或平均熵越大,意味着类分布或所有变量的不确定性越大。
表3数据集特征子集
3)k值预测模型
基于特征子集及最优k值,图4给出了BP算法构建的k值预测模型(PAK)。从中可以发现,k值预测模型由三部分构成:由数据集特征F、H(C)、和NSR 组成的输入层,由两个单元组成的隐藏层及预测k值对应的输出层。不同层单元间的连接线上标注了相应的权重,如输入单元F和隐藏层单元之间连线上的数值 0.03993代表了属性数量F与隐藏层单元间的权重。
4)时间复杂度
通过计算类属性的熵、变量的熵及二者的互熵,可获的类熵H(C)、变量平均熵和信噪比NSR。假设数据集大小为n,维度为m,类值的个数是c,变量值的平均数量为q,首先依据熵的计算公式遍历数据集,统计类及变量值得先验概率,该过程的时间复杂度是O(n);计算类熵H(C)、变量平均熵及类与变量的互熵M(C,X)的时间复杂度分别为O(c)、O(m·q)及O(m·q·c)。信噪比NSR的计算基于类熵H(C)及平均熵M(C,X),其时间复杂度为O(m·q·c)。由此可知,获取数据集特征度量的时间复杂度为T=O(n)+O(m·q·c)。
从上面的描述可以看出,本发明实施例为了准确预测最优k值,本发明采用了BP神经网络构建k值预测模型时,并不是所有的数据集特征均有助于k值预测模型的构建,哪些属性与最优k值相关是未知的。因此,采用Wrapper属性选择方法,BP神经网络作为评估分类算法,用以衡量属性子集的有效性,以序列后向选择方法(SBS)作为搜索策略,迭代直至BP神经网络算法获得最高分类精度为止。经Wrapper筛选出的属性子集作为BP神经网络的输入,BP神经网络算法即可在训练集上构建属性子集与最优k值之间的预测模型。
综上所述,本发明与交叉验证法、改进的k-NN算法、遗传算法GA及最常用的1-NN算法的性能进行了对比分析,结果表明本发明在命中率和分类精度上优于其他方法(除了交叉验证方法),尽管交叉验证方法能够确定最优k值,但其计算量大,忽略了数据集的多样性,导致很难用于解决实际问题,特别是,当数据集比较大时,很难得到有效的分类结果。然而,本发明实现了分类精度和运行时间的折衷,在保证不损失分类精度的情况下,能够高效地为待分类问题预测一个最优k。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于神经网络的k-NN算法中k值预测方法,其特征在于,包括:
利用机器学习方法分析历史数据集的特征和最优k值间的内在关系,并根据所述内在关系构建相应的k值预测模型;
当新数据集到来时,抽取其特征度量作为k值预测模型的输入进行k值预测,获取从所述k值预测模型中输出的待分类问题上的最优k值。
2.如权利要求1所述的方法,其特征在于,利用机器学习方法分析历史数据集的特征和最优k值间的内在关系,并根据所述内在关系构建相应的k值预测模型具体包括:
从每个历史数据集中,抽取可用的数据集特征度量,同时采用交叉验证方法确定每个数据集上的最优k值,建立数据集特征与最优k值的关系数据库;
基于所述关系数据库,采用后向传播算法BP,构建数据集特征与最优k值之间的关系模型,即k值预测模型。
3.如权利要求2所述的方法,其特征在于,所述数据集特征度量具体包括:传统特征度量、问题复杂度量、Landmarking度量、基于模型的度量以及结构信息度量。
4.如权利要求2所述的方法,其特征在于,基于所述关系数据库,采用后向传播算法BP,构建数据集特征与最优k值之间的关系模型,即k值预测模型具体包括:
每一个数据集特征对应一个后向传播算法BP的输入层的单元,输出层为最优k值,后向传播算法BP迭代地处理训练样本数据集,通过比较每个样本的预测k值与实际最优k值进行学习;对于每一个训练样本,修改其权重使其预测值和实际值之间的均方差最小,权重最终收敛,学习过程停止。
5.如权利要求2所述的方法,其特征在于,基于所述关系数据库,采用后向传播算法BP,构建数据集特征与最优k值之间的关系模型,即k值预测模型之前,所述方法进一步包括:
预先使用wrapper方法从数据集特征度量中进行属性选择,在不损失模型预测性能的情况下,过滤掉不相关的或是无用的属性;
将经Wrapper筛选出的数据集特征度量子集作为后向传播算法BP的输入。
6.如权利要求5所述的方法,其特征在于,选出的数据集特征度量子集具体包括:属性数量F、信噪比NSR、类熵H(C)和变量的平均熵H(x)。
7.如权利要求4所述的方法,其特征在于,后向传播算法BP迭代地处理训练样本数据集,通过比较每个样本的预测k值与实际最优k值进行学习具体包括:
依据训练集中样本数量,将最优k值的搜索区间设为[1,num Train],采用了5×10折交叉验证方法,评估不同k值对应的k-NN算法的分类性能;
将k值的上限kmax设为训练集的大小,首先将每一个数据集分割成相等的10折,其中一折作为测试集,其余折一起作为训练集,用以构建分类模型,重复5次,每次随机数不同,通过5×10折交叉验证,获得所有k值对应的k-NN算法的分类精度;
依据最高分类精度及置信边界ω,计算每个数据集上可用k值对应的k-NN算法的分类精度边界[Acc-ω·AM,Acc],从而确定可用k值集合,其中,Acc为最优分类精度,NT为测试集中样本数量,ω决定可用区间的范围,ω越大,置信度越高,则最优k值对应的k-NN分类算法落入区间内的可能性越高;
将所述可用k值集合中的最优最小的k值用于构建k值预测模型,其他可用的k值用于评估k值预测模型的性能;给定待分类数据集,如果k值预测算法推荐的k值属于可用k值集合,那么预测的k值则被认为是最优k值,否则,预测的k值不是最优k。
8.如权利要求6所述的方法,其特征在于,k值预测模型具体包括:由数据集特征度量子集F、H(C)、H(x)和NSR组成的输入层,隐藏层及预测k值对应的输出层,其中,输入层、隐藏层和输出层之间设置有相应的权重系数。
9.一种基于神经网络的k-NN算法中k值预测装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的信号测量方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811248561.8A CN111104950A (zh) | 2018-10-25 | 2018-10-25 | 基于神经网络的k-NN算法中k值预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811248561.8A CN111104950A (zh) | 2018-10-25 | 2018-10-25 | 基于神经网络的k-NN算法中k值预测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111104950A true CN111104950A (zh) | 2020-05-05 |
Family
ID=70418703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811248561.8A Pending CN111104950A (zh) | 2018-10-25 | 2018-10-25 | 基于神经网络的k-NN算法中k值预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104950A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113057623A (zh) * | 2021-03-30 | 2021-07-02 | 上海理工大学 | 平足症筛查鞋垫以及平足症筛查步态分析系统 |
CN114819903A (zh) * | 2022-04-28 | 2022-07-29 | 重庆锐云科技有限公司 | 经纪人激励活动奖励金额的设定方法、装置及计算机设备 |
-
2018
- 2018-10-25 CN CN201811248561.8A patent/CN111104950A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113057623A (zh) * | 2021-03-30 | 2021-07-02 | 上海理工大学 | 平足症筛查鞋垫以及平足症筛查步态分析系统 |
CN114819903A (zh) * | 2022-04-28 | 2022-07-29 | 重庆锐云科技有限公司 | 经纪人激励活动奖励金额的设定方法、装置及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | Learning from counterfactual links for link prediction | |
Saporetti et al. | Machine learning approaches for petrographic classification of carbonate-siliciclastic rocks using well logs and textural information | |
CN110827921B (zh) | 一种单细胞聚类方法、装置、电子设备及存储介质 | |
CN106250442A (zh) | 一种网络安全数据的特征选择方法及系统 | |
CN109766926B (zh) | 一种雷达辐射源信号脉内特征综合评估方法及系统 | |
Guzel et al. | ANFIS and Deep Learning based missing sensor data prediction in IoT | |
Wei et al. | An effective gas sensor array optimization method based on random forest | |
CN110880369A (zh) | 基于径向基函数神经网络的气体标志物检测方法及应用 | |
CN110674940B (zh) | 一种基于神经网络的多指标异常检测方法 | |
CN105046323B (zh) | 一种正则化rbf网络多标签分类方法 | |
Elzeki et al. | A new hybrid genetic and information gain algorithm for imputing missing values in cancer genes datasets | |
Loganathan et al. | Development of machine learning based framework for classification and prediction of students in virtual classroom environment | |
CN111104950A (zh) | 基于神经网络的k-NN算法中k值预测方法及装置 | |
Zhang et al. | Graph-based multiple change-point detection | |
Yan et al. | A novel clustering algorithm based on fitness proportionate sharing | |
CN104537383A (zh) | 一种基于粒子群的海量组织机构数据分类方法及系统 | |
Singh et al. | Hybrid approach for gene selection and classification using filter and genetic algorithm | |
Bandyopadhyay et al. | Automated label generation for time series classification with representation learning: Reduction of label cost for training | |
Peignier et al. | Data-driven gene regulatory networks inference based on classification algorithms | |
CN116186507A (zh) | 一种特征子集的选取方法、装置及存储介质 | |
Ocviani et al. | Classification of Student Graduation Using Backpropagation Neural Network with Features Selection and Dimensions Reduction | |
Tamura et al. | Time series classification using macd-histogram-based recurrence plot | |
Elinas et al. | Addressing over-smoothing in graph neural networks via deep supervision | |
Rey et al. | Evolutionary feature selection for imbalanced data | |
CN115017125B (zh) | 改进knn方法的数据处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200505 |
|
RJ01 | Rejection of invention patent application after publication |