ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:60.70KB ,
资源ID:6803777      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6803777.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整基于K近邻的分类算法研究.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整基于K近邻的分类算法研究.docx

1、完整基于K近邻的分类算法研究(完整)基于K近邻的分类算法研究 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于K近邻的分类算法研究)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整)基于K近邻的分类算法研究的全部内容。沈阳航空航天大学Shenyang Aerospace University算 法 分 析

2、题目:基于K近邻分类算法的研究 院 系 计算机学院 专 业 计算机技术 姓 名 学 号 指导教师 2015年 1 月摘 要数据挖掘是机器学习领域内广泛研究的知识领域,是将人工智能技术和数据库技术紧密结合,让计算机帮助人们从庞大的数据中智能地、自动地提取出有价值的知识模式,以满足人们不同应用的需要。K 近邻算法(KNN)是基于统计的分类方法,是数据挖掘分类算法中比较常用的一种方法.该算法具有直观、无需先验统计知识、无师学习等特点,目前已经成为数据挖掘技术的理论和应用研究方法之一. 本文主要研究了 K 近邻分类算法。首先简要地介绍了数据挖掘中的各种分类算法,详细地阐述了 K 近邻算法的基本原理和应

3、用领域,其次指出了 K 近邻算法的计算速度慢、分类准确度不高的原因,提出了两种新的改进方法。 针对 K 近邻算法的计算量大的缺陷,构建了聚类算法与 K 近邻算法相结合的一种方法。将聚类中的K -均值和分类中的 K 近邻算法有机结合。有效地提高了分类算法的速度. 针对分类准确度的问题,提出了一种新的距离权重设定方法。传统的 KNN 算法一般采用欧式距离公式度量两样本间的距离.由于在实际样本数据集合中每一个属性对样本的贡献作用是不尽相同的,通常采用加权欧式距离公式。本文提出一种新的计算权重的方法。实验表明,本文提出的算法有效地提高了分类准确度. 最后,在总结全文的基础上,指出了有待进一步研究的方向

4、。 关键词:K 近邻,聚类算法,权重,复杂度,准确度 ABSTRACTData mining is a widely field of machine learning, and it integrates the artificial intelligence technology and database technology. It helps people extract valuable knowledge from a large data intelligently and automatically to meet different people applications.

5、KNN is a used method in data mining based on Statistic。 The algorithm has become one of the ways in data mining theory and application because of intuitive, without priori statistical knowledge, and no study features。 The main works of this thesis is k nearest neighbor classification algorithm. Firs

6、t, it introduces mainly classification algorithms of data mining and descripts theoretical base and application. This paper points out the reasons of slow and low accuracy and proposes two improved ways. In order to overcome the disadvantages of traditional KNN, this paper use two algorithms of clas

7、sification and clustering to propose an improved KNN classification algorithm。 Experiments show that this algorithm can speed up when it has a few effects in accuracy. According to the problem of classification accuracy, the paper proposes a new calculation of weight。 KNN the traditional method gene

8、rally used Continental distance formula measure the distance between the two samples。 As the actual sample data collection in every attribute of a sample of the contribution is not the same, often using the weighted Continental distance formula. This paper presents a calculation of weight,that is we

9、ighted based on the characteristics of KNN algorithm。 According to this Experiments on artificial datasets show that this algorithm can improve the accuracy of classification。 Last, the paper indicates the direction of research in future based on the full-text. Keywords: K Nearest Neighbor, Clusteri

10、ng Algorithm, Feature Weighted, Complex Degree, Classification Accuracy.前言K最近邻(k-Nearestneighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别.KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的

11、相邻样本有关.由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。KNN算法不仅可以用于分类,还可以用于回归.通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性.更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成正比。该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。 该算法只计算“最近的”邻

12、居样本,某一类的样本数量很大,那么或者这类样本并不接近目标样本,或者这类样本很靠近目标样本。无论怎样,数量并不能影响运行结果。可以采用权值的方法(和该样本距离小的邻居权值大)来改进.该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分1 绪 论 1。1 选题背景和研究现状 1。1。1 数据挖掘 随着数据库技术的飞速发展,人工智能领域的一个分支-机器学习的研

13、究自 20 世纪 50 年代开始以来也取得了很大进展。用数据库管理系统来存储数据,用机器学习的方法来分析数据,挖掘大量数据背后的知识,这两者的结合促成了数据库中的知识发现(Knowledge Discovery in Databases,简记 KDD)的产生,也称作数据挖掘(Data Ming,简记 DM)。 数据挖掘是信息技术自然演化的结果。信息技术的发展大致可以描述为如下的过程:初期的是简单的数据收集和数据库的构造;后来发展到对数据的管理,包括:数据存储、检索以及数据库事务处理;再后来发展到对数据的分析和理解,这时候出现了数据仓库技术和数据挖掘技术.数据挖掘是涉及数据库和人工智能等学科的一

14、门当前相当活跃的研究领域。 数据挖掘是机器学习领域内广泛研究的知识领域,是将人工智能技术和数据库技术紧密结合,让计算机帮助人们从庞大的数据中智能地、自动地抽取出有价值的知识模式,以满足人们不同应用的需要1。目前,数据挖掘已经成为一个具有迫切实现需要的很有前途的热点研究课题。 数据挖掘技术能从数据仓库中自动分析数据,进行归纳性推理,从中发掘出潜在的模式,或产生联想,建立新的业务模型,这是一个高级的处理过程。高级的处理过程是指一个多步骤的处理过程,多步骤之间相互影响、反复调整,形成一种螺旋式上升过程。数据挖掘的功能用于指定数据挖掘任务中要找的模式类型,其任务一般分为两类:描述和预测。描述性挖掘任务

15、刻画数据库中数据的一般特性,预测性挖掘任务在当前数据上进行推断,以进行预测。在实际应用中,往往根据模式的实际应用细分为以下六种:分类模式;回归模式;时间序列模式;聚类模式;关联模式;序列模式。在解决实际问题时,经常要同时使用多种模式。分类模式和回归模式是使用最普遍的模式.分类模式、回归模式、时间序列模式也被认为是受监督的知识,因为在建立模式前数据的结果是已知的,可以直接用来检测模式的准确性,模式的产生是在受监督的情况下进行的。一般在建立这些模式时,使用一部分数据作为样本,用另一部分数据来检验、校正模式。聚类模式、关联模式、序列模式则是非监督知识,因为在模式建立前模式是未知的,模式的产生不受任何

16、监2。 1.1。2 国内外研究现状 本论文主要研究的是数据挖掘分类算法中的 K 近邻算法。 国内外学者针对此算法做了许多研究工作。例如文献3研究了计算复杂性的优化和分析方法以及如何减少计算量的做法等。香港中文大学的 Wai Lam 等人KNN 方法和线性分类器结合,取得了较好的分类效果,在召回率接近 90%时准确率超过 80%4。Wlodzislaw Duch提出了通过选取特征对加权KNN算法的研究5.文献4提出了一种基于近邻搜索的快速 K 近邻分类算法超球搜索法。该方法通过对特征空间的预组织,使分类能在以待分样本为中心的超球内进行。超球半径由零开始逐渐增大至超球内包含 K 个以上模式样本为止

17、。这一方法有效地缩小了算法搜索范围,同时预组织和预分类简单明了,无需复杂的训练,不存在收敛性问题.文献8研究了回归函数K 近邻估计的渐进性质,得到了回归函数的K -近邻估计的渐进正态性和它的 Bootstrap 统计量的相合性。文献5为近邻算法建立一个有效的搜索树,提高了查询速率。文献6提出了一种迭代近邻法,用以解决KNN 算法在小样本库的环境下分类效果不佳的问题,在无法得到足够的定类样本时,通过检索的方法将待分样本的局部主题特征放大,进而得到足够定类的相似样本。文献7分析了传统的近邻文本分类方法技术以及 Web 文本的特点,充分利用了 Web 文本的结构信息进行特征词加权,以类轴向量为核心构

18、建分类器。文献8提出了加权 K 近邻的方法,对训练集 X 内的每一个样本点,给定一个临界半径,对一个待识别样本,比较其与训练集中每个样本点的加权距离。文献9针对欧几里德空间的 K 近邻,给出了在可重构网孔机器上(RMESH)的并行算法等。 1.2 研究内容和目的 1.2。1 研究内容 近邻方法是在一组历史数据记录中寻找一个或者若干个与当前记录最相似的历史纪录的已知特征值来预测当前记录的未知或遗失特征值9.近邻方法是数据挖掘分类算法中比较常用的一种方法.K 近邻算法(简称 KNN)是基于统计的分类方法15。KNN 分类算法根据待识样本在特征空间中 K 个最近邻样本中的多数样本的类别来进行分类,因

19、此具有直观、无需先验统计知识、无师学习等特点,从而成为非参数分类的一种重要方法。 大多数分类方法是基于向量空间模型的.当前在分类方法中,对任意两个向量:x =(x1, x 2,,xn)与x=(x1,x2 ,xn)存在 3 种最通用的距离度量:欧氏距离、余弦16和内积17。有两种常用的分类策略:一种是计算待分类向量到所有训练集中的向量间的距离:如 K 近邻选择 K 个距离最小的向量然后进行综合,以决定其类别。另一种是用训练集中的向量构成类别向量,仅计算待分类向量到所有3 类别向量的距离,选择一个距离最小的类别向量决定类别的归属。很明显,距离计算在分类中起关键作用。由于以上 3 种距离度量不涉及向

20、量的特征之间的关系,这使得距离的计算不精确,从而影响分类的效果。 下面分 3 种情况说明: 无用特征的影响:在分类算法的向量空间模型中,向量常常是多维的。所谓无用特征是指与类别无关的特征.也就是各个类别中均可以出现的特征,它不代表类别的特点,必须要进行删除,否则他们将会导致距离的计算不准确,即向量间的距离远近将被无关特征的出现所影响。 特征间关系的影响:我们认为如果不考虑特征间的关系,距离的计算同样会存在问题。例如在文本分类中,可分两种情况说明:一种是同义词的影响,另一种是具有某种语义关联词的影响。 特征间地位不平等性的影响:特征对类别支持作用大小尽管可用权值大小来体现,但我们觉得还不够。存在

21、一些特征对类别具有较强的支持作用(决策特征),它们的存在可以在很大程度上决定类别的归属。而在向量空间模型中,这种决策作用将被众多非决策特征的影响所淹没掉。 其次对于K近邻算法中,选取不同的K值对分类结果有较大的影响,也就是说,不同的K值直接决定分类结果的正确率。如图 1。1 所示: 图 1。1 K 值对分类的影响 其中具有空心方格和实心圆圈两类数据,待测数据点(问号代表)如果采用 1近邻则其所属类别应该是如图所示的属于方格类,如果采用 3 近邻则属于圆圈类。所以说,采用怎样的 K 近邻个数是分类结果正确与否的关键条件之一。 最后查找近邻的效率问题也是值得研究的一项内容。K 近邻分类算法需要进行

22、全局搜索,计算的时间复杂度大,速度慢.当训练集数据量非常大时,寻找近邻就需要相应的提高效率算法,使得查找速度提高。像在文中 1.1。2 中所述的,目前已有的一些快速 K 近邻分类算法,尽管在提高快速性方面作了一些改进,但是有的需要事先进行大量复杂的训练并且存在着收敛性问题,有的同样需要进行全局搜索并且对搜索顺序有较强的敏感性. 分类算法中,KNN 算法是实现简单、分类效果较好的一种方法。 1。2。2 研究目的 本论文主要针对 KNN 算法的计算速度慢,准确度不高的缺点进行改进,提出一种能在保持准确度的前提下减少搜索范围、有效提高算法速度的改进方法。虽然许多学者都在这两个方面做了大量的研究,但还

23、存在着一些值得研究的问题。 针对 KNN 算法计算量大的缺点,目前提出较多的快速算法主要有分块Voronoi 图方法,但是速度的改善均不是很大。本文利用分块的策略,提出一种KNN 与聚类算法相结合的改进算法,使得能够在对准确度影响不大的前提下提高算法的收敛速度. 其次针对分类准确度的问题,构造新的相似性度量或特征权重型的距离度量,以达到提高分类的准确度的目的。 最后可以尝试关于特征选择方面的研究,以达到能同时提高速度和准确度。 以上三个方面在新的算法提出之后可以通过实例验证算法的可行性并与常规分类算法进行比较,以验证算法的优越性。 2 K-近邻分类算法2。1 分类算法 2。1.1 数据分类 分

24、类模式挖掘技术作为数据挖掘的重要分支将对电信、银行、保险、零售、医疗等诸多行业提供决策支持,对未来商业和人们的生活也将产生深远的影响。 数据分类(Data Classification)是数据挖掘中一项非常重要的任务,目前在商业上应用最多。分类的目的是学会一个分类函数或者分类模型(也常常称为分类器),该模型能把数据库中的数据项映射到给定类别中的某一个。例如:可以建立一个分类模型,对银行贷款的安全或风险进行分类。许多分类的方法已被机器学习、专家系统、统计学和神经生物学方面的研究者提出. 数据分类实际上就是从数据库对象中发现共性,并将数据对象分成不同类别的一个过程,可分成两步进行(图 2。1)。第

25、一步,建立一个模型,描述预定的数据类集或概念集。通过分析由属性描述的数据元组来构造模型。假定每个元组属于一个预定义的类,有一个类标号属性(Class Label Attribute)的属性确定。对于分类,数据元组也称为样本、实例或者对象。为建立模型而被分析的数据元组形成训练数据集(Training Set).训练数据集中的单个元组称为训练样本,并随机的从样本集中选取。由于预先知道每个训练样本的类标号,这个建立模型的学习过程属于有指导的学习,即模型的学习是在知道每个训练样本属于哪个类的指导下进行的。这不同于无指导的学习(如聚类),无指导的学习中每个训练样本的类标号事先是未知的,要学习的类集合或者

26、数量也是事先不知道,整个学习的过程是在无指导的情况下进行的。通常,通过第一步的学习建立的模型用分类规则、决策树或数据公式的形式表示. 如给定一个顾客信用信息的数据库,通过分类算法学习得出分类规则,根据这些规则,决定顾客的信誉好坏。即这些规则就是分类模型,可以利用这个模型对其他数据样本进行分类,同时也能对数据库的内容提供更好的理解.图 2.1(a)表示一种学习过程:在训练数据上用分类算法学习,学习模型用分类规则的形式表示。 图 2.1(a)学习过程 测试数据 分类规则 新数据 图 2。1(b)分类过程 第二步图 2。1(b)表示一种分类过程:在测试数据上评估分类规则的准确率,如果准确率可以接受,

27、则分类规则可用于新的数据的分类。首先要评估模型的预测准确率。最常用的一种方法是保持(Hold Out)方法,该方法使用类标号样本测试集,这些样本随机选取,并独立于训练样本集,即测试样本集完全不同于训练样本集。模型在测试样本集上的准确率是指被模型正确分类的测试样本的百分比。对于每个测试样本,按照分类模型学习得出的预测类别与已知的类别标号进行比较,如果相同,则表示分类成功;不相同,表示分类不成功.使用完全不同于训练样本集的测试样本集,是因为学习模型倾向于过分适合数据,即学习模型可能并入训练数据中某些特别的异常数据,而这些异常不出现在总体样本集中。如果仍使用训练数据评估分类模型,则可能评估总是乐观的

28、。 如果认为模型的准确率可以接受,就可以利用该模型对类标号未知的数据元组或对象进行分类。如在通过分析现有顾客数据学习得到的分类规则可以预测新的顾客信誉的好坏。 分类算法具有广泛的应用,包括信誉证实、学习用户兴趣、性能预测、市场调查21、新闻分发22、邮件分类以及医疗诊断等。 2.1.2 分类方法 目前,有多种分类方法和算法,主要有统计方法、机器学习方法、神经网络方法等。分类算法一般分为 Lazy 和 Eager 两种类型.Lazy 学习算法思想是从局部出发,推迟对训练例子的归纳过程,直到一个新的测试例子出现,例如 K 近邻(K Nearest Neighbor)算法、局部加权回归(Locall

29、y Weighted Regression)、基于案例的推理(Case-based Reasoning)等;而 Eager 学习算法则是从全局出发,在新的测试例子出现之前,由训练例子总结归纳出相似判断的目标函数,这个目标函数应用于训练数据和测试数据,例如决策树(Decision Tree)、BP(BackPropagation)神经网络算法、径向基函数(Radial Basis Functions)、遗传分类方法、粗糙集分类方法等。我们将在 2.3 中以 K 近邻举例介绍 Lazy 算法,现以决策树为例介绍 Eager方法。 归纳学习旨在从大量的经验数据中归纳和提取一般的判定规则和模式,它是机

30、器学习最核心、最成熟的分支。以 Quinlan 在 1986 年提出的 ID3 为代表决策树归纳学习算法,它是一种基于信息增益的典型自上而下的决策树归纳方法。以决策树为知识表达形式,具有描述简单、分类速度快、计算量小的特点,能归纳出一种较“好”的决策树,且适用于大规模数据集的学习问题。模糊 ID3 算法(FuzzyID3)是传统 ID3 算法在模糊环境下的一种推广,这种算法能处理与人的思维和感觉相关的不确定性,因而应用更为广泛。模糊 ID3 算法的核心是使用模糊信息熵来选择扩展属性,根据所选的属性来分割决策树中当前节点的数据,从而生成一棵决策树.模糊决策树产生过程包括以下几个步骤:训练数据的模

31、糊化。将数据集按一定比例分成训练集和测试集,模糊化过程使用所有训练例子,根据迭代自组织的模糊聚类算法产生全局中心,并由此中心模糊化所有训练例子及测试例子。 ID3 算法是在模糊化后的所有训练例子的基础上进行。决策树的建立过程如下: 对每一属性计算信息增益,用具有最大信息增益的属性来扩展根节点。 删除节点的空分支,对节点的每一非空分支计算属于这一分支的所有对象分到每一类的真实水平 S.若分到某一类的真实水平超过阈值 ,则终止这一分支作为一个叶子(标记为当前类).否则考察另一个属性是否能继续分割这个分支并进一步增加信息增益.如果能,则选择具有最大信息增益的属性作为决策节点,如果不能,则终止这一分支

32、作为一个叶子.在叶子节点,所有的对象以最高的真实水平属于同一类。 对于每一新生成的决策节点重复第 2 步,直到不能向下扩展。决策树建立完成. 将决策树转化为一组规则,其中每条规则是从根节点出发到叶子节点的一条路径。 将得到的这组全局规则应用于训练例子,得到分类的训练准确率;然后将所有测试例子与规则逐一匹配,得到分类的测试准确率。 从以上二个算法中,我们可以看出 Lazy 和 Eager 这两种分类方法有本质的不同。从计算时间的角度讲,Lazy 方法的训练阶段基本不需要计算时间,但是当一个新例子到来时就需要预测目标函数值,所以测试阶段的计算量比较大。而 Eager方法则与之相反,训练阶段需要计算得到目标函数,所以训练阶段的计算量比较大;从对新例子分类的角度讲,Lazy 方法总是当新例子到来时才开始预测,而 Eager方法在训练阶段就完成了对所有例子目标函数的建立。因此,它们的归纳偏好不同,Lazy 方法侧重当前具体例子具体分析,而

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1