数据挖掘论文范文精选

数据挖掘论文篇1

一、数据挖掘相关概念

数据挖掘技术是近些年发展起来的一门新兴学科,它涉及到数据库和人工智能等多个领域。随着计算机技术的普及数据库产生大量数据,能够从这些大量数据中抽取出有价值信息的技术称之为数据挖掘技术。数据挖掘方法有统计学方法、关联规则挖掘、决策树方法、聚类方法等八种方法,关联规则是其中最常用的研究方法。关联规则算法是1993年由R.Atal,Inipusqi,Sqtm三人提出的Apriori算法,是指从海量数据中挖掘出有价值的能够揭示实体和数据项间某些隐藏的联系的有关知识,其中描述关联规则的两个重要概念分别是Suppor(t支持度)和Confi-dence(可信度)。只有当Support和Confidence两者都较高的关联规则才是有效的、需要进一步进行分析和应用的规则。

二、使用Weka进行关联挖掘

Weka的全名是怀卡托智能分析环境(WaikatoEnviron-mentforKnowledgeAnalysis),是一款免费的、非商业化的、基于JAVA环境下开源的机器学习以及数据挖掘软件[2]。它包含了许多数据挖掘的算法,是目前最完备的数据挖掘软件之一。Weka软件提供了Explorer、Experimenter、Knowledge-Flow、SimpleCLI四种模块[2]。其中Explorer是用来探索数据环境的,Experimenter是对各种实验计划进行数据测试,KnowledgeFlow和Explorer类似,但该模块通过其特殊的接口可以让使用者通过拖动的形式去创建实验方案,Simple-CLI为简单的命令行界面。以下数据挖掘任务主要用Ex-plorer模块来进行。

(一)数据预处理

数据挖掘所需要的所有数据可以由系统排序模块生成并进行***。这里我们***近两年的教师科研信息。为了使论文总分、学术著作总分、科研获奖总分、科研立项总分、科研总得分更有利于数据挖掘计算,在这里我们将以上得分分别确定分类属性值。

(二)数据载入

点击Explorer进入后有四种载入数据的方式,这里采用第一种Openfile形式。由于Weka所支持的标准数据格式为ARFF,我们将处理好的xls格式另存为csv,在weka中找到这个文件并重新保存为arff文件格式来实现数据的载入。由于所载入的数据噪声比较多,这里应根据数据挖掘任务对数据表中与本次数据任务不相关的属性进行移除,只将学历、职称、论文等级、学术著作等级、科研获奖等级、科研立项等级、科研总分等级留下。

(三)关联挖掘与结果分析

WeakExplorer界面中提供了数据挖掘多种算法,在这里我们选择“Associate”标签下的Apriori算法。之后将“lowerBoundMinSupprot”(最小支持度)参数值设为0.1,将“upperBoundMinSupprot”(最大支持度)参数值设为1,在“metiricType”的参数值选项中选择lift选项,将“minMetric”参数值设为1.1,将“numRules”(数据集数)参数值设为10,其它选项保存默认值,这样就可以挖掘出支持度在10%到100%之间并且lift值超过1.1且排名前10名的关联规则。其挖掘参数信息和关联挖掘的部分结果。

三、挖掘结果与应用

以上是针对教师基本情况和科研各项总分进行的反复的数据挖掘工作,从挖掘结果中找到最佳模式进行汇总。以下列出了几项作为参考的关联数据挖掘结果。

1、科研立项得分与论文、科研总得分关联度高,即科研立项为A级的论文也一定是A。这与实际也是相符的,因为科研立项得A的教师应该是主持了省级或是部级的立项的同时也参与了其他教师的科研立项,在课题研究的过程中一定会有部级论文或者省级论文进行发表来支撑立项,所以这类教师的论文得分也会很高。针对这样的结果,在今后的科研工作中,科研处要鼓励和帮助教师搞科研,为教师的科研工作提供精神上的支持和物质上的帮助,这样在很大程度上能够带动整个学校科研工作的进展。

2、副教授类的教师科研立项得分很高,而讲师类教师和助教类教师的科研立项得分很低,这样符合实际情况。因为副教授类的教师有一定的教学经验,并且很多副教授类的教师还想晋职称,所以大多数副教授类教师都会申请一些课题。而对于讲师类和助教类的教师,由于教学经验不足很少能进行省级以上的课题研究,因此这两类教师的科研立项分数不高。针对这样的结果,在今后的科研工作中,科研处可以采用一帮一、结对子的形式来帮助年轻教师,这样可以使青年教师参与到老教师的科研课题研究工作中去,在课题研究工程中提高科研能力和教学能力。

3、讲师类教师的论文等级不高。从论文得分能够推断出讲师类教师所的级别不高。为了鼓励这类教师的,在今后的科研量化工作中对省级、部级的论文级别进行细化,并且降低一般论文的得分权重,加大高级论文的得分权重。并且鼓励讲师类教师参加假期培训,提高自身的科研和教学水平。

作者:王鸿丹 单位:铁岭师范高等专科学校理学院

数据挖掘论文篇2

一、专利数据挖掘

数据挖掘技术是延伸和扩展了传统分析方法,可以发现传统分析方法不能发现的内容和规律,并且它将人们从单调、枯燥的阅读专利文献的工作中***出来,使用计算机代替了人类劳动,这样不仅提高了效率,而且提升了准确度。因此,数据挖掘作为一个专利分析的强有力工具被引入到专利分析中来,并且得到快速的发展应用。专利数据挖掘流程应考虑的问题:一是用数据挖掘解决什么样的问题;二是为进行数据挖掘所做的数据准备;三是数据挖掘的各种分析算法。故专利数据挖掘的一般过程通常按照以下步骤来完成:领会数据挖掘的目的,获取分析所用的数据集合,探索、清理和预处理数据,选择要使用的数据挖掘技术,使用算法解决问题,解释算法的结果。而其一般流程可简化为三个阶段:数据准备数据挖掘结果解释和评价。本文采用简化的流程进行实证分析。

二、石家庄地区制药企业专利数据挖掘

本文对石家庄地区制药企业的专利数据进行挖掘分析,挖掘对象是华北制药集团公司、石家庄制药集团有限公司、石家庄神威药业股份有限公司、石家庄四药股份、河北以岭药业股份有限公司、石家庄市华曙制药集团、河北医科大学制药厂、河北圣雪大成制药有限责任公司等地址在石家庄且具有一定代表性的药企,希望通过这些药企数据能够找到石家庄地区制药领域的核心组成,并能为药企更好地发展提供有力的信息支持。IPC号是目前权威的专利技术主题的标识编码之一,基本包含了各行各业的专利信息,是一个庞大的专利信息体系。目前国内外很多分析方法及技术大部分是基于专利的IPC分类号来分析专利技术主题的,此分析方法有一定的参考价值和科学性,而且对于具有大量专利信息的分析具有很好的总结概括效果。本文以专利全部IPC号为分析对象,并且构建IPC号之间的关联规则,在最大程度上揭示隐含的专利技术关联性,从而为石家庄地区制药企业专利技术的发展提供参考。

1.数据准备。数据来源的准确与否是数据分析与挖掘的基础,是数据分析与挖掘的根本。本文所使用的石家庄地区制药领域专利数据由万方数据公司提供,以制药企业地址为石家庄为检索条件,搜索出了包括从1985—2014年间石家庄地区制药领域专利644条,分别分布在A、B、C、D、E、F、G、H八个大部。对专利数据库中的644条专利进行筛选,根据“分类号”字段限制,它涉及专利信息的分类,有些IPC所涉及的范围与石家庄地区制药领域没有联系或联系很小,不宜保留。根据“申请人(专利权人)”字段的限制,剔除与石家庄地区制药不相关或制药企业地址不在石家庄地区的专利。最后筛选出590条最符合该领域特点的专利。由于IPC号在几乎所有现存数据库中均是以一个字段存储一个专利的所有IPC分类号的,形如:A61K38/26、A61K9/08、A61K47/12、A61P3/10,且每个专利一般都有好几个分类号,而每个企业又研究大量的专利,所以在进行专利分析之前,需要对专利IPC号进行数据整理。由于过于细致的IPC分类号并不利于专利主题的分析与揭示,所以本文中采用专利小类分析,就是取IPC号的前4位。并将申请人与其对应的多条IPC号进行拆分,拆分后的数据项有773条,即显示每个申请人对应的一条IPC分类号。

2.数据挖掘。本文数据挖掘过程将采用Excel和SQLsever2005软件,首先对所得到的数据导入SQLserver2005进行挖掘,利用SQLserver2005可以直接进行IPC号的关联规则挖掘,然后对专利信息进行分析。

3.数据挖掘结果与分析。基于关联规则制作依赖关系网络***,可以更加直观地看到各个IPC号之间的关联和依赖状态。

(1)以A61K、C12N、C12P、C07D、C07C为中心的核心专利技术群。这些专利的IPC分类号是关键部分药物组成的各种化合物即药物主要成分的重要聚集组。A61K(医用、牙科用等的配置品)是项集次数最多的,即支持度较高的,C12P(发酵或使用酶的方法合成目标化合物或组合物或从外消旋混合物中分离旋光异构体)、C12N(微生物或酶;其组合物)、C07D(杂环环合物,例如邻氯苄星青霉素的合成)、C07C(无环和碳环化合物)通过专利相关知识我们已经知道这些都是药物的合成成分,即土霉素、链霉素、青霉素等多种抗生素和维生素的主要成分组成,是制药领域的核心。这也是和石家庄地区制药企业的核心领域相符合的。另外这些专利主题的相互关联、依赖说明了石家庄地区制药企业在该领域具有很好的布局网络,在研发数量上也占有一定优势,所以说是石家庄地区制药企业的主要研究领域。

(2)以B65G、C12M为中心的辅助设备专利技术群。药品的生产离不开设备的支持,所以设备方面的专利也能体现制药企业的技术水平。在***1中也能体现出来,专利间有着很强的依赖性和关联性,在核心专利周边有B65G(运输或贮存装置,例如装载或倾斜用输送机、车间输送机系统、气动管道输送机)、C12M(酶学或微生物学装置),这些是制药的辅助技术手段,与中心专利是相互联系的,也是制药过程中必不可少的,在这些方面的提高有利于制药核心领域的发展。先进药品的研制离不开先进制药设备支持,所以设备水平的提高也是关键的。如***3所示,石家庄地区制药企业在这一方面的技术依赖网络也已经形成,说明在此技术领域也已经拥有较强实力。但与中心主要专利相比,辅助设备专利技术还是需要不断提高的。

三、总结

对专利的研究有着巨大的潜在价值,我们能通过数据挖掘技术对专利进行挖掘,发现隐含在其中的有用信息,为企业的有效发展提供保障。石家庄地区制药企业在专利方面是河北省此领域的发达企业,所以发现其中隐含的价值及蕴含的规律能带动河北省制药行业快速发展,同时也能发现自己存在的问题。总的来说,我们只有利用挖掘工具把数据转化为有用的信息,才能帮助企业制定有效的决策,才能在市场竞争中获得优势地位。本文有很多不足之处,还有待更为深入的研究。

作者:许燕宏 闫坤 单位:河北省委***校

数据挖掘论文篇3

1基于GPU的计算和编程

1.1GPUGPU之所以在某些应用中较CPU能够获得更高的性能,主要是因为GPU和CPU在硬件结构设计上存在很大差异。如***1所示[10],GPU将大量的晶体管用作ALU计算单元,从而适应密集且可并行的***像渲染计算处理需要。相对GPU而言,CPU却是将更多的晶体管用作复杂的控制单元和缓存等非计算功能,并以此来提高少量执行单元的执行效率。此外,存储带宽是另一个重要问题。存储器到处理器的带宽已经成为许多应用程序的瓶颈。目前GPU的芯片带宽是CPU芯片带宽的6倍左右。

1.2CPU/GPU协同并行计算在诸多适用于高性能计算的体系结构中,采用通用多核CPU与定制加速协处理器相结合的异构体系结构成为构造千万亿次计算机系统的一种可行途径。而在众多异构混合平台中,基于CPU/GPU异构协同的计算平台具有很大的发展潜力。在协同并行计算时,CPU和GPU应各取所长,即CPU承担程序控制,而密集计算交由GPU完成。另外,除管理和调度GPU计算任务外,CPU也应当承担一部分科学计算任务[12]。新型异构混合体系结构对大规模并行算法研究提出了新的挑战,迫切需要深入研究与该体系结构相适应的并行算法。事实上,目前基于GPU加速的数据挖掘算法实现都有CPU参与协同计算,只是讨论的重点多集中在为适应GPU而进行的并行化设计上。实践中,需要找出密集计算部分并将其迁移到GPU中执行,剩余部分仍然由CPU来完成。

1.3CUDA为了加速GPU通用计算的发展,NVIDIA公司在2007年推出统一计算设备架构(ComputeUnifiedDeviceArchitecture,CUDA)[10,13]。CUDA编程模型将CPU作为主机,GPU作为协处理器,两者协同工作,各司其职。CPU负责进行逻辑性强的事务处理和串行计算,GPU则专注于执行高度线程化的并行处理任务。CUDA采用单指令多线程(SIMT)执行模式,而内核函数(kernel)执行GPU上的并行计算任务,是整个程序中一个可以被并行执行的步骤。CUDA计算流程通常包含CPU到GPU数据传递、内核函数执行、GPU到CPU数据传递三个步骤。CUDA不需要借助于***形学API,并采用了比较容易掌握的类C/C++语言进行开发,为开发人员有效利用GPU的强大性能提供了条件。CUDA被广泛应用于石油勘探、天文计算、流体力学模拟、分子动力学仿真、生物计算和***像处理等领域,在很多应用中获得了几倍、几十倍,乃至上百倍的加速比[13]。

1.4并行编程语言和模型过去几十年里,人们相继提出了很多并行编程语言和模型,其中使用最广泛的是为可扩展的集群计算设计的消息传递接口(MessagePassingInterface,MPI)和为共享存储器的多处理器系统设计的OpenMP[14]。OpenMP最初是为CPU执行而设计的。OpenACC[15]是计算机厂商为异构计算系统提出的一种新编程模型,其主要优势是为抽象掉许多并行编程细节提供了编译自动化和运行时系统支持。这使得应用程序在不同厂商的计算机和同一厂商不同时代的产品中保持兼容性。然而,学习OpenACC需要理解所有相关的并行编程细节。在MPI编程模型中,集群中的计算节点之间相互不共享存储器;节点之间的数据共享与交互都通过显式传递消息的方式实现。MPI成功应用于高性能科学计算(HPC)领域。现在很多HPC集群采用的是异构的CPU/GPU节点。在集群层次上,开发人员使用MPI进行编程,但在节点层次上,CUDA是非常高效的编程接口。由于计算节点之间缺乏共享存储器机制,要把应用程序移植到MPI中需要做大量针对性分析和分解工作。包括苹果公司在内的几大公司在2009年共同开发了一套标准编程接口,称之为OpenCL[16]。与CUDA类似,OpenCL编程模型定义了语言扩展和运行时API,使程序员可以在大规模并行处理中进行并行管理和数据传递。与CUDA相比,OpenCL更多地依赖API,而不是语言的扩展,这允许厂商快速调整现有编译器和工具来处理OpenCL程序。OpenCL和CUDA在关键概念和特性上有诸多相似之处,因此CUDA程序员可以很快掌握OpenCL。

1.5MATLAB因提供丰富的库函数库以及诸多其他研究者贡献和共享的函数库,MATLAB是研究人员实现算法的常用平台。通过封装的数据容器(GPUArrays)和函数,MATLAB允许没有底层CUDA编程能力的研究人员可以较容易获得GPU计算能力,因此MATLAB较OpenCL更容易上手。截止准备本文时,2014版本的MATLAB提供了226个内置的GPU版本的库函数。对于有CUDA编程经验的人员,MATLAB允许直接集成CUDA内核进MATLAB应用。本文第四节的实验亦基于MATLAB实现。

1.6JACKET引擎JACKET[17]是一个由AccelerEyes公司开发专门用于以MATLAB为基础的基于GPU的计算引擎,其最新版本已经包含了高层的接口,完全屏蔽了底层硬件的复杂性,并支持所有支持CUDA的GPU计算,降低了进行CUDA开发的门槛。JACKET是MATLAB代码在GPU上运行的插件。JACKET允许标准的MATLAB代码能够在任何支持CUDA的GPU上运行,这使得广大的MATLAB及C/C++用户可以直接使用GPU强大的计算能力进行相关应用领域的快速原型开发。JACKET包含了一套运行于MATLAB环境中优化并行计算的基础函数库。并且支持MATLAB数据类型,可将任何存储于MATLABCPU内存中的变量数据转换为GPU上的数据类型,对以往的MATLAB程序来说,只需更改数据类型,就能迁移到GPU上运行。本文的第四节的实验亦基于JACKET在MATLAB上实现。

2相关工作综述

2.1基于CPU的数据挖掘算法实现数据挖掘算法的研究一直很活跃,许多成熟和经典的算法已经实现在诸多研究或商用软件包/平台,例如开源的Weka[18]和KNIME,以及商用的IBM公司的PASWModeler(即之前SPSS公司的Clementine®)。这些软件默认都是单机版本,可运行在普通PC或高性能服务器上,基于CPU的计算能力。为了适应目前大规模的计算,出现了基于Google公司提出的MapReduce[19]计算框架实现的开源数据挖掘平台Mahout[20]。相关的研究起源于斯坦福大学AndrewNg研究组2006年的经典论著[21]。由于现有的算法需要先找到可“迁移”到MapReduce的方式,因此目前Mahout平台上仅有几个能支持分布式部署的数据挖掘算法,包括用于分类的朴素贝叶斯、随机森林,用于聚类的k-Means,基于项目的协同过滤等。目前Mahout仍然是基于CPU的计算能力。

2.2聚类算法聚类是数据挖掘中用来发现数据分布和隐含模式的一种无监督学习,每个训练元组的类标号是未知的,并且要学习的个数或集合也可能事先不知道。对于给定的数据集,聚类算法按照一定的度量,将数据对象分组为多个簇,使得在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别很大[22-23]。k-Means算法是经典的基于距离/划分的聚类分析算法,也是应用得最广泛的算法之一,采用距离作为相似性的评价指标,即认为两个对象距离越近,其相似度就越大。k-Means算法的流程如下[24]:输入:簇的数目k和包含n个对象数据集D。输出:k个簇的集合。方法:1)从D中任意选择k个对象作为初始簇中心。计算每个数据对象到各簇中心的欧氏距离,将每个数据对象分配到最相似的簇中。2)重新计算每个簇中对象的均值。3)循环执行步骤2-3两个步骤,直到各个簇内对象不再变化。上述算法步骤2属于计算密度最大的部分,且具备并行化的条件。计算各个数据对象到各簇中心的欧氏距离和将数据对象分配到最近的簇的时候,数据对象之间都是相互***的,不需要进行交换,且没有先后顺序,后计算的对象不需要等待前一次计算的结果,仅在完成全部分配过程之后,才需要进行一次数据汇总。所以文献[25]的作者们使用GPU并行优化了一维数据的k-Means算法的步骤2,并使用带缓存机制的常数存储器保存中心点数据,能获得更好的读取效率。文献中还展示了实验结果,在8600GT上取得了14倍左右的加速效果。DBSCAN属于基于密度的聚类算法中最常被引用的,G-DBSCAN是它的一个GPU加速版本[26]。文献[26]的实验显示较DBSCAN可以实现高达112倍的加速。BIRCH是经典的基于层次的聚类算法,文献[27]中基于CUDA实现的GPU加速版本在实验中获得了高达154倍的加速。

2.3分类算法分类是数据挖掘中应用领域极其广泛的重要技术之一,至今已经提出很多算法。分类算法[28]是一种监督学习,通过对已知类别训练集的分析,从中发现分类规则,以此预测新数据的类别。分类算法是将一个未知样本分到几个已存在类的过程,主要包含两个步骤:首先,根据类标号已知的训练数据集,训练并构建一个模型,用于描述预定的数据类集或概念集;其次,使用所获得的模型对新的数据进行分类。近年来,许多研究已经转向实现基于GPU加速分类算法,包括k-NN(k近邻)分类算法[29],支持向量机分类算法[30],贝叶斯分类算法[31-32]等。kNN算法[33]是数据挖掘中应用最广泛的一种分类算法,简单易实现。它是一种典型的基于实例的学习法,将待判定的检验元组与所有的训练元组进行比较,挑选与其最相似的k个训练数据,基于相应的标签和一定的选举规则来决定其标签。在ShenshenLiang等人的文章[34]指出,由于kNN算法是一种惰性学习法,对于每个待分类的样本,它都需要计算其与训练样本库中所有样本的距离,然后通过排序,才能得到与待分类样本最相邻的k个邻居。那么当遇到大规模数据并且是高维样本时,kNN算法的时间复杂度和空间复杂度将会很高,造成执行效率低下,无法胜任大数据分析任务。所以加速距离的计算是提高kNN算法的核心问题。因为每个待分类的样本都可以***地进行kNN分类,前后之间没有计算顺序上的相关性,因此可以采用GPU并行运算方法解决kNN算法串行复杂度高的问题。将计算测试集和训练集中点与点之间的距离和排序一步采用GPU并行化完成,其余如判断类标号一步难以在GPU上高效实现,由CPU完成。文献[34]通过GPU并行化实现kNN算法,让kNN算法时间复杂度大幅度减少,从而说明GPU对kNN算法的加速效果是非常明显的。

2.4关联分析算法关联规则挖掘是数据挖掘中较成熟和重要的研究方法,旨在挖掘事务数据库频繁出现的项集。因此,挖掘关联规则的问题可以归结为挖掘频繁项集[35]。关联分析算法首先找出所有的频繁项集,然后根据最小支持度和最小置信度从频繁项集中产生强关联规则。Apriori算法[36]是最有影响力的挖掘布尔关联规则频繁项目集的经典算法。Apriori算法使用逐层搜索的迭代方法产生频繁项目集,即利用k频繁项集来产生(k+1)项集,是一种基于生成候选项集的关联规则挖掘方法。在刘莹等人的文章[37]中指出,产生候选项和计算支持度,占据Apriori的大部分计算量。产生候选项的任务是连接两个频繁项集,而这个任务在不同线程之间是***的,所以这个过程适合在GPU上被并行化。通过扫描交易数据库,计算支持度程序记录一个候选项集出现的次数。由于每个候选项集的计数与其他项集的计数相对***,同样适合于多线程并行。所以文献[37]的作者们在实现Apriori时使用GPU并行化了产生候选项和计算支持度这两个过程,取得了显著的加速效果。文献[38]是目前发现的对于在GPU上实现频繁项集挖掘最全面细致的研究。他们使用的是早期的CUDA平台,采用了bitmap和trie两种数据结构来实现GPU的挖掘算法,并且根据不同数据集和支持度进行了算法性能的对比,均相对于CPU版本的算法获得的一定的加速比。

2.5时序分析由于越来越多的数据都与时间有着密切的关系,时序数据作为数据挖掘研究的重要分支之一,越来越受到人们的重视。其研究的目的主要包括以下两个方面:一是学习待观察过程过去的行为特征;二是预测未来该过程的可能状态或表现。时序数据挖掘主要包含以下几个主要任务:数据预处理,时序数据表示,分割,相似度度量,分类,聚类等。这些任务中很多都涉及到相当大的计算量。由于问题规模的不断扩大,并且对于实时性能的要求,时序数据挖掘的任务就必须要求充分地提高计算速度或者通过优化减少计算量。时序数据的表示有时候会采取特征来表示,这就涉及到了特征提取问题,当特征数量庞大的时候就需要进行维数约简,主要的方法有奇异值分解法,离散小波变换。这些计算都涉及到很大的时间复杂度,为了减少计算的时间消耗,SheetalLahabar等人使用GPU加速SVD的计算,获得了60多倍的加速效果[39]。动态时间弯曲(DynamicTimeWarping,DTW)起初被应用于文本数据匹配和视觉模式识别的研究领域,是一种相似性度量算法。研究表明这种基于非线性弯曲技术的算法可以获得很高的识别、匹配精度。Berndt和Clifford提出了将DTW的概念引入小型时间序列分析领域,在初步的实验中取得了较好的结果[40]。随着问题规模的扩大,对于DTW的计算成为了时序数据挖掘的首先要处理的问题。在DTW中,搜索需要找出与训练数据最近距离的样本,这就需要搜索与每个训练样本的距离,这就可以很好的利用GPU进行并行化处理。DorukSart等人在对DTW加速的处理中,获得了两个数量级的加速效果[41]。而对于分类和聚类任务的加速,上面已经提到,这里不再累赘。

2.6深度学习深度学习虽然隶属机器学习,但鉴于机器学习和数据挖掘领域的紧密联系,深度学习必定将在数据挖掘领域获得越来越多的应用。从2006年Hinton和他的学生Salakhutdinov在《科学》上发表的文章[42]开始,深度学习在学术界持续升温。深度学习的实质是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类预测的准确性[43]。如何在工程上利用大规模的并行计算平台来实现海量数据训练,是各个机构从事深度学习技术研发首先要解决的问题。传统的大数据平台如Hadoop,由于数据处理延迟太高而不适合需要频繁迭代的深度学习。神经网络一般基于大量相似的神经元,故本质上可以高度并行化训练;通过映射到GPU,可以实现比单纯依赖CPU显著地提升。谷歌搭建的DistBelief是一个采用普通服务器的深度学习并行计算平台,采用异步算法,由很多计算单元***更新同一个参数服务器的模型参数,实现了随机梯度下降算法的并行化,加快了模型训练速度。百度的多GPU并行计算平台克服了传统SGD训练不能并行的技术难题,神经网络的训练已经可以在海量语料上并行展开。NVIDIA在2014年9月推出了深度学习GPU加速库cuDNN,可以方便地嵌入高层级机器学习框架中使用,例如Caffe[45]。cuDNN支持NVIDIA的全系列GPU,包括低端的TegraK1和高端的TeslaK40,并承诺可向上支持未来的GPU。

2.7小结并行化能带来多少倍的加速取决于算法中可并行化的部分。例如,如果可并行部分的时间占整个应用程序执行时间的20%,那么即使将并行部分加速100倍,总执行时间也只能减少19.8%,整个应用程序的加速只有1.247倍;即使无限加速也只能减少约20%的执行时间,总加速不会超过1.25倍。对于一个数据挖掘(学习和预测)算法进行GPU加速实现,首先要思考是否存在可并行执行的部分,之后再结合GPU的架构特点进行针对性实现优化。然而,由于数据挖掘算法普遍是数据密集型计算,而GPU片内存储容量有限,如何降低与内存交换数据集是一个要解决的关键问题。通过以上相关工作的分析,可以发现数据挖掘算法在GPU上的加速具有数据***,可并行化共同特征。本文提出数据挖掘算法在GPU上加速实现的一种解决思路:在大数据下,分析算法的性能瓶颈,从而确定算法中耗时大,时间复杂度高的部分,将此部分在GPU上执行,不耗时部分在CPU上串行执行,以达到加速效果。为了更充分利用GPU的并行计算的体系结构,可深入分析耗时大的部分,将具有数据***,可并行化的部分在GPU上并行执行,达到更进一步的加速效果。

3实践和分析:协同过滤推荐

当前主要的协同过滤推荐算法有两类:基于用户(r-based)和基于项目(item-based)的协同过滤推荐算法。基于项目的协同过滤推荐算法[46-50]认为,项目间的评分具有相似性,可以通过用户对目标项目的若干相似项目的评分来估计该项目的分值。基于用户的协同过滤推荐算法认为,如果用户对一些项目的评分比较相似,那么他们对其他项目的评分也比较相似。本文根据以上总结的算法特征围绕两种经典协同过滤算法的实现,通过大规模数据的实验来验证GPU相对于传统CPU的优势。

3.1算法实现

3.1.1基于CPU实现协同过滤推荐的两类经典算法本文基于MATLAB实现CPU版本的基于用户和基于项目的两种经典协同过滤推荐算法。实现的步骤:1)数据表示:收集用户的评分数据,并进行数据清理、转换,最终形成一个mn的用户-项目评分矩阵R,m和n分别代表矩阵中的用户数和项目数,矩阵中的元素代表用户对项目的评分值。2)最近邻居搜索:主要完成对目标用户/项目的最近邻居的查找。通过计算目标用户/项目与其他用户/项目之间的相似度,算出与目标用户/项目最相似的最近邻居集。该过程分两步完成:首先采用协同过滤推荐算法中运用较多的度量方法“Pearson相关系数”计算用户/项目之间的相似度得到相应的相似度矩阵,其次是采用最近邻方法找到目标用户/项目的最近的K个邻居,这些邻居是由与目标相似度最高的一些用户/项目组成的。3)产生推荐:根据之前计算好的用户/项目之间的相似度,并使用相应的预测评分函数对用户未打分的项目进行预测,得到预测评分矩阵,然后选择预测评分最高的Top-n项推荐给目标用户。4)性能评估:本研究拟采用平均绝对误差MAE作为评价推荐系统预测质量的评价标准。MAE可以直观地对预测质量进行度量,是最常用的一种方法。MAE通过计算预测的用户评分与实际评分之间的偏差度量预测的准确性;MAE越小,预测质量越高。

3.1.2基于GPU实现协同过滤推荐的两类经典算法在大数据下,协同过滤算法中主要的时间消耗在于相似度计算模块,占了整个算法的大部分时间,且每个用户/项目之间的相似度可以被***计算,不依靠其他用户/项目,具备并行化的条件,所以在以下的实验中,将相似度计算模块在GPU上执行,其他部分在CPU上执行,进而提高整个算法的执行效率。使用MATLAB编程技术和JACKET编程技术在GPU上分别实现基于用户和基于项目的两种经典协同过滤推荐算法。实现步骤如下:1)数据表示:收集用户的评分数据,并进行数据清理、转换,最终形成用户-项目评分矩阵。2)将收集的数据从CPU传输至GPU。3)对传输到GPU上的数据执行GPU操作,调用相关函数库,采用公式(1)和(2)分别计算并获取用户/项目间的相似度矩阵。4)将GPU计算结果返回CPU中以便后续操作。5)采用公式(3)和(4)在CPU上分别获取两种经典算法的评分预测矩阵。6)选择预测评分最高的Top-n项推荐给目标用户。7)采用公式(5)求两种经典算法的平均绝对误差MAE。

3.2实验结果与分析

3.2.1实验环境本实验所用的CPU是IntelXeonE52687W,核心数量是八核,主频率是3.1GHz,内存大小是32GB;所使用的GPU是NVIDIAQuadroK4000,显存容量是3GB,显存带宽是134GB/s核心频率是811MHz,流处理器数是768个。使用Windows764位操作系统,编程环境使用最新的CUDA。

3.2.2实验数据本实验使用目前比较常用的MovieLens[56]数据集作为测试数据,该数据集从MovieLens网站采集而来,由美国Minnesota大学的GroupLens研究小组提供,数据集1包含943个用户对1682部电影约10万的评分数据,数据集2包含6040个用户对3952部电影约100万的评分数据,其中每个用户至少对20部电影进行了评分。评分的范围是1~5,1表示“很差”,5表示“很好”。实验需要将每个数据集划分为一个训练集和一个测试集,每次随机选出其中80%的评分数据用作训练集,另20%用作测试集。

3.2.3实验结果与分析本文采用加速比来比较算法的CPU实现和GPU实现的运行效率。计算加速比的方法如式(6)所示:在公式中,TimeCPU表示算法在CPU上的平均运行时间,TimeGPU表示算法在GPU上的平均运行时间。所有实验中均取最近邻居数为20,且各实验结果均为5次***测试的平均值。***2是关于两个算法核心步骤的加速效果,而***3则展示了算法整体加速效果。可以看出,(1)整体加速效果取决于核心步骤的加速效果,(2)GPU版本的算法在性能上较CPU版本有较显著地优势,且面对大数据集的加速效果更为明显。例如在基于100万条数据集时,Item-based的整体算法的加速比达到了14倍左右,而面对10万条数据集时,加速比不到8倍。这可以解释为GPU的多核优势在面对大数据集时被更为充分地得到释放;(3)算法对r-based和Item-based两种算法的加速比相近。***4是关于算法预测效果的评估,可以看出基于GPU加速的两类经典协同过滤算法与基于CPU的两类经典协同过滤算法在预测效果上相近。如果结合***2和***3,可获得结论-能够基于GPU获得得可观的计算加速而不牺牲应用效果。

3.3小结

本文通过使用JACKET加快开发过程。目前国内还缺少对JACKET的了解和应用,JACKET的出现为科学领域进行大规模计算仿真提供了新的研究方法,并使得研究人员可以在熟悉的MATLAB平台上实现相关算法。

4结束语

本文既对基于GPU加速经典数据挖掘的研究进行了分类回顾和小结,也实践了基于GPU加速协同过滤计算,通过和基于CPU的版本对比,确实可以实现可观的效率提升。这对我们深入研究将GPU应用到大数据处理场景可以积累宝贵的一手经验,并在已知的尚未基于GPU加速的数据挖掘算法有的放矢。

作者:戴春娥陈维斌傅顺开李志强单位:华侨大学计算机科学与技术学院

数据挖掘论文范文精选

转载请注明出处学文网 » 数据挖掘论文范文精选

学习

幸福是什么课文范文精选

阅读(17)

本文为您介绍幸福是什么课文范文精选,内容包括幸福是什么课文原文教案,幸福是奋斗出来的作文800字范文。1.认识六个生字,以及相关词语:彼此、铁锹、树杈、诧异、麦子、义务。

学习

揭开ReadyBoost的真相

阅读(15)

本文为您介绍揭开ReadyBoost的真相,内容包括readyboost功能介绍,readyboost可以删掉吗。但是在当时的测试中,也许是因为操作系统还不是最终零售版本的原因,ReadyBoost带来的性能变化还不是很明显。时至今日,越来越多的高端闪存产品开始公开

学习

傅科摆的原理和运行轨迹分析

阅读(58)

本文为您介绍傅科摆的原理和运行轨迹分析,内容包括傅科摆原理和轨迹分析,傅科摆转动周期。摘要:傅科摆是法国物理学家傅科于1851年在巴黎发明的一种摆,利用摆的运动现象首次用实验证实了地球的自转。本文对傅科摆在水平面内的相对运动轨

学习

浅谈载体桩的应用

阅读(23)

本文为您介绍浅谈载体桩的应用,内容包括复合载体桩是什么意思,载体桩与夯扩桩的区别。摘要:本文以山西柳林汇丰兴业王家会物流有限公司发运站工程为例,介绍了载体桩的优点。

学习

西南大旱:从大灾到大害有多远?

阅读(22)

本文为您介绍西南大旱:从大灾到大害有多远?,内容包括西南大旱的原因及反思,西南大旱历史篇。3月27日,在自然力量与人工力量的合力下,云南省的昆明、楚雄和大理等9个州市均出现了降雨天气。不过,这些降雨并没有有效缓解旱情,按照中央气象台随

学习

内部控制案例范文精选

阅读(22)

本文为您介绍内部控制案例范文精选,内容包括内部控制案例分析题,内部控制案例范文。内部控制案例篇1【摘要】本文通过研究山东新华制药被出具否定意见的案例,就新华制药内部控制中最薄弱环节——授信管理和应收账款管理两方面展开分析讨

学习

杂文精选范文精选

阅读(20)

本文为您介绍杂文精选范文精选,内容包括杂文30篇全文,杂文范文300字。作为《文汇报》的高级编辑,朱大路主持《文汇报》“笔会”的杂文栏目二十余载。杂文成为这家报纸的一个品牌,离不开他的精心策划和编辑。经他手编辑的杂文,不知凡几,恐怕

学习

现金流量表的分析

阅读(38)

本文为您介绍现金流量表的分析,内容包括分析现金流量表第一步,现金流量表编制案例分析。摘要:现金流量表在企业财务管理中的作用越来越重要,是财务报告的重要组成部分,对评价一个企业的综合财务水平具有非常高的实用性和可操作性,做好现金流

学习

老师我恨你范文精选

阅读(23)

本文为您介绍老师我恨你范文精选,内容包括老师恨你的表现,老师我恨你500字。老师我恨你篇1我有一位英语老师,她是我们的班主任。她很偏心班里的个别同学,以前她对我很好,但自从我的成绩从第一滑坡后,她就对我冷淡了很多。于是,我开始更加努力

学习

法律与道德

阅读(50)

本文为您介绍法律与道德,内容包括法律与道德全集,道德与法律关系。法律与道德的关系问题是法哲学之永恒主题与难解之迷。法律与道德犹如车之两轮、鸟之两翼不可分离,道德强调人类的道德理念铸化为法律,法律强调法律内化为人们的品质、道德

学习

论文评审意见范文精选

阅读(141)

本文为您介绍论文评审意见范文精选,内容包括论文评审意见300字,评审论文意见怎么写。论文评审意见篇1【摘要】博士研究生教育是学历教育的最高层次,它代表着一个国家的人才培养水平,对提高我国国际竞争力,建设创新型国家和实现人才强国

学习

幸福是什么课文范文精选

阅读(17)

本文为您介绍幸福是什么课文范文精选,内容包括幸福是什么课文原文教案,幸福是奋斗出来的作文800字范文。1.认识六个生字,以及相关词语:彼此、铁锹、树杈、诧异、麦子、义务。

学习

恩师留言范文精选

阅读(25)

本文为您介绍恩师留言范文精选,内容包括恩师留言300字,写给恩师留言文案。学生即将结束小学学习生活,离开母校,尊敬的老师。学生免不了要请辛勤培育过自己的老师在毕业纪念册上亲笔写下一两句赠言,希望得到老师永久的教诲。为方便教师给学

学习

小学毕业总复习范文精选

阅读(30)

小学毕业总复习篇1摘要:为了使小学毕业班数学总复习取得良好的效果,充分的提高小学毕业班数学复习的整体质量,我们就必须制定出科学合理的复习策略,确定清晰的数学复习思路,并对数学知识进行分类与整理,加强数学复习的系统性。除此之外,重视各

学习

经济法学论文范文精选

阅读(26)

经济法学论文篇1在20世纪最后20年,经济法学的兴起和繁荣,无论就其发展之规模和速度,还是就其影响之范围和程度而言,都无愧为我国法学诸学科中的首位。于是,经济法学的回顾和展望,渐成世纪之交法学界的热点之一。(注:张守文:《20世纪的中国经济法

学习

控辍保学工作总结范文精选

阅读(21)

本文为您介绍控辍保学工作总结范文精选,内容包括控辍保学工作总结200字,控辍保学总结怎么写。控辍保学工作总结篇1为了进一步推进素质教育的健康发展,确保适龄儿童完成九年义务教育,我办高度重视,积极配合镇做好控辍保学工作,现将上半年工作

学习

小文章范文精选

阅读(31)

本文为您介绍小文章范文精选,内容包括小文章文案40字,小文章范文。小文章篇1中国的经济形势,很多人说看不大懂。

学习

园林论文范文精选

阅读(17)

本文为您介绍园林论文范文精选,内容包括园林技术论文范文,园林概论论文3000字。园林论文篇1一、三个基础

学习

怀恋作文范文精选

阅读(31)

本文为您介绍怀恋作文范文精选,内容包括怀念作文300字,怀念作文素材。怀恋作文篇1亲切的怀恋无锡新区梅里中学初二(9)班曹书航秋风飒飒依旧,枫叶飘飘依旧,故人不再依旧。我走进一片枫林,走近每一片枫叶,似乎她的笑脸已化作枫叶,随风飘荡。有的