时间:2023-03-17 18:01:01
绪论:在寻找写作灵感吗?爱发表网为您精选了8篇数据挖掘论文,愿这些内容能够启迪您的思维,激发您的创作热情,欢迎您的阅读与分享!
数据挖掘技术是延伸和扩展了传统分析方法,可以发现传统分析方法不能发现的内容和规律,并且它将人们从单调、枯燥的阅读专利文献的工作中解放出来,使用计算机代替了人类劳动,这样不仅提高了效率,而且提升了准确度。因此,数据挖掘作为一个专利分析的强有力工具被引入到专利分析中来,并且得到快速的发展应用。专利数据挖掘流程应考虑的问题:一是用数据挖掘解决什么样的问题;二是为进行数据挖掘所做的数据准备;三是数据挖掘的各种分析算法。故专利数据挖掘的一般过程通常按照以下步骤来完成:领会数据挖掘的目的,获取分析所用的数据集合,探索、清理和预处理数据,选择要使用的数据挖掘技术,使用算法解决问题,解释算法的结果。而其一般流程可简化为三个阶段:数据准备数据挖掘结果解释和评价。本文采用简化的流程进行实证分析。
二、石家庄地区制药企业专利数据挖掘
本文对石家庄地区制药企业的专利数据进行挖掘分析,挖掘对象是华北制药集团公司、石家庄制药集团有限公司、石家庄神威药业股份有限公司、石家庄四药股份、河北以岭药业股份有限公司、石家庄市华曙制药集团、河北医科大学制药厂、河北圣雪大成制药有限责任公司等地址在石家庄且具有一定代表性的药企,希望通过这些药企数据能够找到石家庄地区制药领域的核心组成,并能为药企更好地发展提供有力的信息支持。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所示,石家庄地区制药企业在这一方面的技术依赖网络也已经形成,说明在此技术领域也已经拥有较强实力。但与中心主要专利相比,辅助设备专利技术还是需要不断提高的。
三、总结
系统采用C/S+B/S结构,主要由前端数据采集设备(位移及载荷传感器)、站点客户端、数据库及Web服务器等组成。各部分采取分布式协同处理运行方式,站点客户端利用前端采集的数据独立分析计算,分析完成后上传至数据库服务器,并通过网页服务器对外。
2系统数据
2.1系统数据结构系统采用MicrosoftSQLServer,创建了WPGUI与WPCHQ数据库来管理3万余口油井数据采集、处理及存储等,建设数据表65张(见主要数据表的关系图2),主要包括生产井的完井数据、静态数据、动态数据、采集数据、原油物性数据、机杆管泵等技术数据,同时系统保存了油井近两年功图电参数据(每天每口井到少100张),以及根据这些数据分析计算出来的结果和汇总生成的数据。
3数据挖掘应用
数据挖掘是从大量数据集中发现可行信息的过程,是统计分析技术、数据库技术及人工智能技术的综合。面对油井工况实时分析及功图计产系统大量的油井生产完备数据,长庆油田充分利用数据挖掘技术,对数据进一步清理、集成、转换、挖掘应用,深化功图系统数据分析,先后开展了动液面计算,系统效率在线实时监测、区块动态分析研究等,并应用于油田现场,取得了较好的效果,既节约了生产成本,又方便了现场管理应用,进一步提升系统在长庆油田数字化前端的核心地位。
3.1区块动态分析
油井生产中,每天都会获得大量的实时生产数据,目前系统主要对单井完成工况分析及产液量计算,如何通过分析和处理这些数据,及时全面了解油田区块产油量、压力、含水等变化规律是数据挖掘应用又一问题。长庆油田开展了基于油井工况诊断及功图计产系统的区块动态分析,从空间和历史角度,对油井分类、分级、分层次进行统计分析,挖掘生产数据里有用的信息,提炼区块共性问题,并按照设计的模板(区块指标统计图表、供液能力分析、产量分析、故障井分析等)每月30日自动生成全面及时的区块油井生产动态分析,从而指导区块生产管理,实现油田的精细管理,为油田开发决策提供依据。
4结束语
随着长庆油田数字化建设的不断深入,各种生产、研究、管理等数据库不断增加,如何深化数据应用,准确迅速从数据库是提取有用信息,已成为是数字油田生产管理的迫切需求。在基于油井工况实时分析及功图计产系统数据挖掘应用中我们积累了不少经验,拓展了系统功能,提升系统在长庆油田数字化前端的核心地位。在今后应用中,油田数据挖掘应用注意几个问题:
(1)数据是数字油田的血液,为了保证数据挖掘效率,在数据库建设中要规范数据存储格式,保证数据源及数据类型的统一,同时加强数据审核,注重数据入库的质量;
(2)数据挖掘中尽可能使用可视化工具,一幅图胜过千句话,数据挖掘可视化主要包括数据可视化、挖掘结果可视化、挖掘过程可视化等;
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结束语
[关键词]数据挖掘数据挖掘方法
随着信息技术迅速发展,数据库的规模不断扩大,产生了大量的数据。但大量的数据往往无法辨别隐藏在其中的能对决策提供支持的信息,而传统的查询、报表工具无法满足挖掘这些信息的需求。因此,需要一种新的数据分析技术处理大量数据,并从中抽取有价值的潜在知识,数据挖掘(DataMining)技术由此应运而生。
一、数据挖掘的定义
数据挖掘是指从数据集合中自动抽取隐藏在数据中的那些有用信息的非平凡过程,这些信息的表现形式为:规则、概念、规律及模式等。它可帮助决策者分析历史数据及当前数据,并从中发现隐藏的关系和模式,进而预测未来可能发生的行为。数据挖掘的过程也叫知识发现的过程。
二、数据挖掘的方法
1.统计方法。传统的统计学为数据挖掘提供了许多判别和回归分析方法,常用的有贝叶斯推理、回归分析、方差分析等技术。贝叶斯推理是在知道新的信息后修正数据集概率分布的基本工具,处理数据挖掘中的分类问题,回归分析用来找到一个输入变量和输出变量关系的最佳模型,在回归分析中有用来描述一个变量的变化趋势和别的变量值的关系的线性回归,还有用来为某些事件发生的概率建模为预测变量集的对数回归、统计方法中的方差分析一般用于分析估计回归直线的性能和自变量对最终回归的影响,是许多挖掘应用中有力的工具之一。
2.关联规则。关联规则是一种简单,实用的分析规则,它描述了一个事物中某些属性同时出现的规律和模式,是数据挖掘中最成熟的主要技术之一。关联规则在数据挖掘领域应用很广泛适合于在大型数据集中发现数据之间的有意义关系,原因之一是它不受只选择一个因变量的限制。大多数关联规则挖掘算法能够无遗漏发现隐藏在所挖掘数据中的所有关联关系,但是,并不是所有通过关联得到的属性之间的关系都有实际应用价值,要对这些规则要进行有效的评价,筛选有意义的关联规则。
3.聚类分析。聚类分析是根据所选样本间关联的标准将其划分成几个组,同组内的样本具有较高的相似度,不同组的则相异,常用的技术有分裂算法,凝聚算法,划分聚类和增量聚类。聚类方法适合于探讨样本间的内部关系,从而对样本结构做出合理的评价,此外,聚类分析还用于对孤立点的检测。并非由聚类分析算法得到的类对决策都有效,在运用某一个算法之前,一般要先对数据的聚类趋势进行检验。
4.决策树方法。决策树学习是一种通过逼近离散值目标函数的方法,通过把实例从根结点排列到某个叶子结点来分类实例,叶子结点即为实例所属的分类。树上的每个结点说明了对实例的某个属性的测试,该结点的每一个后继分支对应于该属性的一个可能值,分类实例的方法是从这棵树的根结点开始,测试这个结点指定的属性,然后按照给定实例的该属性值对应的树枝向下移动。决策树方法是要应用于数据挖掘的分类方面。
5.神经网络。神经网络建立在自学习的数学模型基础之上,能够对大量复杂的数据进行分析,并可以完成对人脑或其他计算机来说极为复杂的模式抽取及趋势分析,神经网络既可以表现为有指导的学习也可以是无指导聚类,无论哪种,输入到神经网络中的值都是数值型的。人工神经元网络模拟人脑神经元结构,建立三大类多种神经元网络,具有非线形映射特性、信息的分布存储、并行处理和全局集体的作用、高度的自学习、自组织和自适应能力的种种优点。
6.遗传算法。遗传算法是一种受生物进化启发的学习方法,通过变异和重组当前己知的最好假设来生成后续的假设。每一步,通过使用目前适应性最高的假设的后代替代群体的某个部分,来更新当前群体的一组假设,来实现各个个体的适应性的提高。遗传算法由三个基本过程组成:繁殖(选择)是从一个旧种群(父代)选出生命力强的个体,产生新种群(后代)的过程;交叉〔重组)选择两个不同个体〔染色体)的部分(基因)进行交换,形成新个体的过程;变异(突变)是对某些个体的某些基因进行变异的过程。在数据挖掘中,可以被用作评估其他算法的适合度。
7.粗糙集。粗糙集能够在缺少关于数据先验知识的情况下,只以考察数据的分类能力为基础,解决模糊或不确定数据的分析和处理问题。粗糙集用于从数据库中发现分类规则的基本思想是将数据库中的属性分为条件属性和结论属性,对数据库中的元组根据各个属性不同的属性值分成相应的子集,然后对条件属性划分的子集与结论属性划分的子集之间上下近似关系生成判定规则。所有相似对象的集合称为初等集合,形成知识的基本成分。任何初等集合的并集称为精确集,否则,一个集合就是粗糙的(不精确的)。每个粗糙集都具有边界元素,也就是那些既不能确定为集合元素,也不能确定为集合补集元素的元素。粗糙集理论可以应用于数据挖掘中的分类、发现不准确数据或噪声数据内在的结构联系。
8.支持向量机。支持向量机(SVM)是在统计学习理论的基础上发展出来的一种新的机器学习方法。它基于结构风险最小化原则上的,尽量提高学习机的泛化能力,具有良好的推广性能和较好的分类精确性,能有效的解决过学习问题,现已成为训练多层感知器、RBF神经网络和多项式神经元网络的替代性方法。另外,支持向量机算法是一个凸优化问题,局部最优解一定是全局最优解,这些特点都是包括神经元网络在内的其他算法所不能及的。支持向量机可以应用于数据挖掘的分类、回归、对未知事物的探索等方面。
事实上,任何一种挖掘工具往往是根据具体问题来选择合适挖掘方法,很难说哪种方法好,那种方法劣,而是视具体问题而定。
三、结束语
目前,数据挖掘技术虽然得到了一定程度的应用,并取得了显著成效,但仍存在着许多尚未解决的问题。随着人们对数据挖掘技术的深人研究,数据挖掘技术必将在更加广泛的领域得到应用,并取得更加显著的效果。
[关键词]数据挖掘客户关系管理应用步骤
根据波特的影响企业的利益相关者理论,企业有五个利益相关者,分别是客户、竞争对手、供应商、分销商和政府等其他利益相关者。其中,最重要的利益相关者就是客户。现代企业的竞争优势不仅体现在产品上,还体现在市场上,谁能获得更大的市场份额,谁就能在竞争中占据优势和主动。而对市场份额的争夺实质上是对客户的争夺,因此,企业必须完成从“产品”导向向“客户”导向的转变,对企业与客户发生的各种关系进行管理。进行有效的客户关系管理,就要通过有效的途径,从储存大量客户信息的数据仓库中经过深层分析,获得有利于商业运作,提高企业市场竞争力的有效信息。而实现这些有效性的关键技术支持就是数据挖掘,即从海量数据中挖掘出更有价值的潜在信息。正是有了数据挖掘技术的支持,才使得客户关系管理的理念和目标得以实现,满足现代电子商务时代的需求和挑战。
一、客户关系管理(CRM)
CRM是一种旨在改善企业与客户之间关系的新型管理方法。它是企业通过富有意义的交流和沟通,理解并影响客户行为,最终实现提高客户获取、客户保留、客户忠诚和客户创利的目的。它包括的主要内容有客户识别、客户关系的建立、客户保持、客户流失控制和客户挽留。通过客户关系管理能够提高企业销售收入,改善企业的服务,提高客户满意度,同时能提高员工的生产能力。
二、数据挖掘(DM)
数据挖掘(DataMining,简称DM),简单的讲就是从大量数据中挖掘或抽取出知识。数据挖掘概念的定义描述有若干版本。一个通用的定义是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中提取人们感兴趣的知识,这些知识是隐讳的、事先未知的、潜在有用的信息。
常用的数据挖掘方法有:(1)关联分析。即从给定的数据集中发现频繁出现的项集模式知识。例如,某商场通过关联分析,可以找出若干个客户在本商场购买商品时,哪些商品被购置率较高,进而可以发现数据库中不同商品的联系,进而反映客户的购买习惯。(2)序列模式分析。它与关联分析相似,其目的也是为了控制挖掘出的数据间的联系。但序列模式分析的侧重点在于分析数据间的前后(因果)关系。例如,可以通过分析客户在购买A商品后,必定(或大部分情况下)随着购买B商品,来发现客户潜在的购买模式。(3)分类分析。是找出一组能够描述数据集合典型特征的模型,以便能够分类识别未知数据的归属或类别。例如,银行可以根据客户的债务水平、收入水平和工作情况,可对给定用户进行信用风险分析。(4)聚类分析。是从给定的数据集中搜索数据对象之间所存在的有价值联系。在商业上,聚类可以通过顾客数据将顾客信息分组,并对顾客的购买模式进行描述,找出他们的特征,制定针对性的营销方案。(5)孤立点分析。孤立点是数据库中与数据的一般模式不一致的数据对象,它可能是收集数据的设备出现故障、人为输入时的输入错误等。孤立点分析就是专门挖掘这些特殊信息的方法。例如,银行可以利用孤立点分析发现信用卡诈骗,电信部门可以利用孤立点分析发现电话盗用等。
三、数据挖掘在客户关系管理中的应用
1.进行客户分类
客户分类是将大量的客户分成不同的类别,在每一类别里的客户具有相似的属性,而不同类别里的客户的属性不同。数据挖掘可以帮助企业进行客户分类,针对不同类别的客户,提供个性化的服务来提高客户的满意度,提高现有客户的价值。细致而可行的客户分类对企业的经营策略有很大益处。例如,保险公司在长期的保险服务中,积累了很多的数据信息,包括对客户的服务历史、对客户的销售历史和收入,以及客户的人口统计学资料和生活方式等。保险公司必须将这些众多的信息资源综合起来,以便在数据库里建立起一个完整的客户背景。在客户背景信息中,大批客户可能在保险种类、保险年份和保险金额上具有极高的相似性,因而形成了具有共性的客户群体。经过数据挖掘的聚类分析,可以发现他们的共性,掌握他们的保险理念,提供有针对性的服务,提高保险公司的综合服务水平,并可以降低业务服务成本,取得更高的收益。
2.进行客户识别和保留
(1)在CRM中,首先应识别潜在客户,然后将他们转化为客户
这时可以采用DM中的分类方法。首先是通过对数据库中各数据进行分析,从而建立一个描述已知数据集类别或概念的模型,然后对每一个测试样本,用其已知的类别与学习所获模型的预测类别做比较,如果一个学习所获模型的准确率经测试被认可,就可以用这个模型对未来对象进行分类。例如,图书发行公司利用顾客邮件地址数据库,给潜在顾客发送用于促销的新书宣传册。该数据库内容有客户情况的描述,包括年龄、收入、职业、阅读偏好、订购习惯、购书资金、计划等属性的描述,顾客被分类为“是”或“否”会成为购买书籍的顾客。当新顾客的信息被输入到数据库中时,就对该新顾客的购买倾向进行分类,以决定是否给该顾客发送相应书籍的宣传手册。
(2)在客户保留中的应用
客户识别是获取新客户的过程,而客户保留则是留住老顾客、防止客户流失的过程。对企业来说,获取一个新顾客的成本要比保留一个老顾客的成本高。在保留客户的过程中,非常重要的一个工作就是要找出顾客流失的原因。例如,某专科学校的招生人数在逐渐减少,那么就要找出减少的原因,经过广泛的搜集信息,发现原因在于本学校对技能培训不够重视,学生只能学到书本知识,没有实际的技能,在就业市场上找工作很难。针对这种情况,学校应果断的抽取资金,购买先进的、有针对性的实验实训设备,同时修改教学计划,加大实验实训课时和考核力度,培训相关专业的教师。
(3)对客户忠诚度进行分析
客户的忠诚意味着客户不断地购买公司的产品或服务。数据挖掘在客户忠诚度分析中主要是对客户持久性、牢固性和稳定性进行分析。比如大型超市通过会员的消费信息,如最近一次消费、消费频率、消费金额三个指标对数据进行分析,可以预测出顾客忠诚度的变化,据此对价格、商品的种类以及销售策略加以调整和更新,以便留住老顾客,吸引新顾客。
(4)对客户盈利能力分析和预测
对于一个企业而言,如果不知道客户的价值,就很难做出合适的市场策略。不同的客户对于企业而言,其价值是不同的。研究表明,一个企业的80%的利润是由只占客户总数的20%的客户创造的,这部分客户就是有价值的优质客户。为了弄清谁才是有价值的客户,就需要按照客户的创利能力来划分客户,进而改进客户关系管理。数据挖掘技术可以用来分析和预测不同市场活动情况下客户盈利能力的变化,帮助企业制定合适的市场策略。商业银行一般会利用数据挖掘技术对客户的资料进行分析,找出对提高企业盈利能力最重要的客户,进而进行针对性的服务和营销。
(5)交叉销售和增量销售
交叉销售是促使客户购买尚未使用的产品和服务的营销手段,目的是可以拓宽企业和客户间的关系。增量销售是促使客户将现有产品和服务升级的销售活动,目的在于增强企业和客户的关系。这两种销售都是建立在双赢的基础上的,客户因得到更多更好符合其需求的服务而获益,公司也因销售增长而获益。数据挖掘可以采用关联性模型或预测性模型来预测什么时间会发生什么事件,判断哪些客户对交叉销售和增量销售很有意向,以达到交叉销售和增量销售的目的。例如,保险公司的交叉营销策略:保险公司对已经购买某险种的客户推荐其它保险产品和服务。这种策略成功的关键是要确保推销的保险险种是用户所感兴趣的,否则会造成用户的反感。
四、客户关系管理应用数据挖掘的步骤
1.需求分析
只有确定需求,才有分析和预测的目标,然后才能提取数据、选择方法,因此,需求分析是数据挖掘的基础条件。数据挖掘的实施过程也是围绕着这个目标进行的。在确定用户的需求后,应该明确所要解决的问题属于哪种应用类型,是属于关联分析、分类、聚类及预测,还是其他应用。应对现有资源如已有的历史数据进行评估,确定是否能够通过数据挖掘技术来解决用户的需求,然后将进一步确定数据挖掘的目标和制定数据挖掘的计划。
2.建立数据库
这是数据挖掘中非常重要也非常复杂的一步。首先,要进行数据收集和集成,其次,要对数据进行描述和整合。数据主要有四个方面的来源:客户信息、客户行为、生产系统和其他相关数据。这些数据通过抽取、转换和装载,形成数据仓库,并通过OLAP和报表,将客户的整体行为结果分析等数据传递给数据库用户。
3.选择合适的数据挖掘工具
如果从上一步的分析中发现,所要解决的问题能用数据挖掘比较好地完成,那么需要做的第三步就是选择合适的数据挖掘技术与方法。将所要解决的问题转化成一系列数据挖掘的任务。数据挖掘主要有五种任务:分类,估值预测,关联规则,聚集,描述。前三种属于直接的数据挖掘。在直接数据挖掘中,目标是应用可得到的数据建立模型,用其它可得到的数据来描述感兴趣的变量。后两种属于间接数据挖掘。在间接数据挖掘中,没有单一的目标变量,目标是在所有变量中发现某些联系。
4.建立模型
建立模型是选择合适的方法和算法对数据进行分析,得到一个数据挖掘模型的过程。一个好的模型没必要与已有数据完全相符,但模型对未来的数据应有较好的预测。需要仔细考察不同的模型以判断哪个模型对所需解决的问题最有用。如决策树模型、聚类模型都是分类模型,它们将一个事件或对象归类。回归是通过具有已知值的变量来预测其它变量的值。时间序列是用变量过去的值来预测未来的值。这一步是数据挖掘的核心环节。建立模型是一个反复进行的过程,它需要不断地改进或更换算法以寻找对目标分析作用最明显的模型,最后得到一个最合理、最适用的模型。
5.模型评估
为了验证模型的有效性、可信性和可用性,从而选择最优的模型,需要对模型进行评估。我们可以将数据中的一部分用于模型评估,来测试模型的准确性,模型是否容易被理解模型的运行速度、输入结果的速度、实现代价、复杂度等。模型的建立和检验是一个反复的过程,通过这个阶段阶段的工作,能使数据以用户能理解的方式出现,直至找到最优或较优的模型。
6.部署和应用
将数据挖掘的知识归档和报告给需要的群体,根据数据挖掘发现的知识采取必要的行动,以及消除与先前知识可能存在的冲突,并将挖掘的知识应用于应用系统。在模型的应用过程中,也需要不断地对模型进行评估和检验,并做出适当的调整,以使模型适应不断变化的环境。
参考文献:
[1]罗纳德.S.史威福特.客户关系管理[M].杨东龙译.北京:中国经济出版社,2002
[2]马刚:客户关系管理[M]大连:东北财经大学出版社,2008
[3]朱美珍:以数据挖掘提升客户关系管理[J].高科技产业技术与创新管理,2006,(27)
[4]顾桂芳何世友:数据挖掘在客户关系管理中的应用研究[J].企业管理,2007,(7)
对于一个多种网络形式并存的复杂网络,假设复杂网络作为一个网络社区,在复杂网络中存在的网络类型数即社区数。我们用一个无向遍历图GV,E来表示整个网络社区,如果网络中有两个节点有两条不重合的网络路径,则说明这两个节点处于一个网络环路当中,网络中的数据流需要经过网络环路到达特定的节点。当在某个时间段里需要传送的数据流个数大于网络节点数时,则说明该网络的数据流密度较大,为了能够准确地在复杂网络中挖掘出所需的数据流,则需要根据数据流密度来划分整个网络社区,寻找数据流处于哪个社区,再确定数据流所在社区的环路。在这里我们通过设计算法确定网络数据流密度,来对复杂网络进行社区划分,再对社区进行无向环路遍历,并通过遍历得到该社区网络的所环路,确定所需查询的数据流位于哪个环路。以下为复杂网络中需要用到的符号说明。
2增量子空间数据挖掘算法
为了能够有效地在复杂网络中挖掘出目的数据流,使用了复杂网络数据流密度的分析方法在对复杂网络进行社区划分后,通过对社区网络进行无向环路遍历并得到社区网络的所有环路。接下来挖掘算法先后挖掘出目的数据流所属的社区以及环路,最终确定目的数据流的具置。
2.1基于社区网络遍历的数据流挖掘
当数据流i与社区k的相关度最大时,说明数据流i位于社区k的可能性就最大。但是当多个数据流的大小区别不大时,以数据流的大小作为指标来定义相关度会导致挖掘精度较低。这里我们也引入数据流的特征集和数据流中的分组队列长度来计算相关度。
2.2基于多增量空间的数据流挖掘
在采用基于社区网络遍历的数据流挖掘方法得到数据流的所属社区后,我们接着采用基于多增量空间的数据流挖掘方法来挖掘出数据流的所属环路。先将社区网络的环路进行多增量空间扩展,即先得到
目标数据流所经过的环路,再得到数据流所经过的节点与时间的相关系数,这样就可以在时空上确定目的数据流位于环路的哪个节点中。
3实验结果
为了验证本文提出的基于复杂网络数据流密度的增量子空间数据挖掘算法的效果,我们通过matlab7.0软件进行算法仿真,其中仿真的复杂网络由多种网络形式组成,网络节点有200个,数据流大小为500bytes,节点的接收能耗为10nJ/bit,发射能耗为50nJ/bit,进行信号处理和功率放大的能耗为10nJ/bit。其他节点干扰而产生的能量消耗为5nJ/bit。在对本文算法进行分析的过程中,我们采用了对比分析的方法,Lopez-Yanez等人提出一种基于时间序列数据挖掘的新的关联模型,该模型是基于伽玛分类,是一种监督模式识别模型,目的是为了挖掘已知模式中的时间序列,以预测未知的值。由Negrevergne等人提出的一种PARAMINER算法:一个通用的模式挖掘算法的多核架构。多核架构采用的是一种新的数据集缩减技术(称之为EL-还原),在算法中通过结合新的技术用于处理多核心架构的并行执行数据集。为了验证本文算法的挖掘有效性,我们分别在增多节点数量和社区网络数的情况下获取算法的数据挖掘精度。实验采用的精度为NMI[16],实验结果如图3和图4所示。在不同节点数量下基于复杂网络数据流密度的增量子空间数据挖掘算法的挖掘精度更高,挖掘精度高于85%,而文献[14]的挖掘精度在77%以上,挖掘精度在76%以上。因为、提出的关联模型、提出的多核架构没有准确把握数据流在不同时间段里与环路位置的相关情况。而本文算法采用社区网络遍历和多增量空间的方法可以有效地确定这种相关性。图4为不同社区数下的算法挖掘精度,从图中可以看出,当社区网络的种类增多时,会对算法的挖掘精度造成影响,本文算法的挖掘精度在社区数为10时是95.7%,当社区数增加到50时为87.5%。而基于时间序列数据挖掘方法的挖掘精度在社区数为10时是88.6%,在社区数为50时是77.4%,而PARAMINER算法在社区数为10时是86.7%,社区数为50时是78.2%。因此从数据分析来看,本文算法的数据挖掘精度在社区数增多时仍能保持在较高水平。
4结论
数据仓库是管理智能循证医学支持系统的基础,搭建数据仓库后,要充分地调取数据仓库的有效资源,必须要有强大的工具对数据仓库的资源进行规划整理。OLAP(On-lineAnalyticalProcessing,在线分析处理或联机分析处理)是一个应用广泛的数据仓库调用方法。它可以根据应用人员的指令,快速准确地对大量复杂的数据进行搜索查询,并以直观的容易理解的形式将搜索结果展示给医院决策者,使他们能够迅速全面地掌握医院的运营现状。
2采用可视化图形操作分析技术
可视化分析技术能够整合各式不同的数据来源或数据仓储系统,利用MicrosoftSQLServerAnalysisServices构建多维结构数据库(Cube),而后存取、分析商业数据,通过鼠标的拖、拉、点、选,操作各种维度与量值,迅速产生各式的分析图表与统计结果。可视化的图形操作能为用户迅速提供决策报表与在线分析处理(OLAP)等重要分析功能。运用专业工具所提供的报表(Reports)、实时查询(AD-HocQuery)、联机分析处理(OLAP)等重要商业智能的强大分析功能,使医院获得最全面、迅速的数据洞悉能力。具体功能如下:
(1)表定制及报表的整合,在报表灵活性和报表开发易用性等方面具有突出的优势,其报表是通过图形界面下的鼠标拖拽操作来直观的完成的,无须编写任何脚本或者代码,即可实现复杂格式的报表。
(2)优秀的BI前端图形展示功能,支持目前流行的几乎所有图形展现方式;而且图形之间可以任意组合应用,使支持的图形展现方式以几何级的方式增长。
网上银行促销渠道分析系统采用C/S架构或者B/S架构,充分考虑系统易用性和投入产出。从维护网上银行的C/S架构和B/S架构角度来分析,使用网上银行促销渠道分析系统的多是管理人员,并且在未来的发展过程中,系统用户数量也不会大幅度上涨,综合网上银行系统的维护成本和开发成本,尽量选择C/S架构。从使用者和系统数据传输的角度来分析,只有银行工作人员才能使用这个系统,而C/S架构具有良好的灵活性。综上所述,网上银行促销渠道分析系统可以使用C/S架构来部署软件模块。由于网上银行系统包含大量的客户信息数据,因此网上银行系统必须具有更高的安全性和保密性,相关操作人员必须强化风险防范意识,规范网上银行系统操作,严格控制系统的数据传输。网上银行系统必须具有良好的扩展性,为数据表和数据查询算法留出充足的软硬件资源。同时,网上银行渠道分析系统要支持工作人员扩展数据查询、数据字典和数据表之前的交叉查询,将用户的查询记录保存在本地网络服务器上,尽量避免重复查询,提高网上银行渠道分析系统的查询速度。
2数据挖掘技术在网上银行促销活动中的运用
随着商业银行的快速发展,网上银行受到人们的广泛关注。网上银行系统以计算机网络为交易平台,各种新型的促销策略,使网上银行业务得到迅速拓展。但是,和四大行相比,一些商业银行的网上银行业务仍然存在很大的差距。同时,近年来,网上银行市场竞争日益激烈,某些网上银行业务在应用过程中出现了促销成本不断增加,而促销效果不理想的状况,数据挖掘技术在网上银行促销活动中的运用,要积极解决这些问题。
2.1提高营销质量当前,很多银行都逐渐加大了网上银行促销力度,但是促销活动的效果却不明显,单纯的依靠赠送礼品或者各种优惠措施,在很大程度上会提升促销成本,并且难以真正地吸引客户。在网上银行促销活动中应用数据挖掘技术,分析不同促销活动的特点,根据网上银行系统自身的特点和优化,对不同客户进行组合促销,将不同的网上银行业务或者产品联系起来,有针对性地对有意向的客户进行促销,合理安排网上银行促销活动内容和时间,尽量在电子商务交易高峰时段之前,实现网上银行促销活动的目标。
2.2优化客户结构一些商业银行不了解客户的真实需求,在发展潜在客户时,缺乏针对性,网上银行促销活动的交易需求较弱。因此要应用数据挖掘技术挖掘一些隐含的信息,明确哪些客户对网上银行的哪些产品或者业务有需求,挖掘潜在的、有实力的客户,将这些客户作为网上银行促销活动的重点客户。
2.3优化促销活动流程在网上银行促销活动中运用数据挖掘技术,采用运用关联分析,挖掘传统银行渠道重点产品和网上银行系统重点产品的业务数据,挖掘非网络银行系统和网络银行系统业务以及网络银行系统不同业务或者产品之间的关联关系,通过数据挖掘技术寻找符合网上银行系统运营条件的关联关系,探索网上银行系统不同产品和业务之间的依存性或者相似性[2],由此将网上银行系统的某一项业务或者产品作为重点促销产品来拉动其他业务和产品的销售,并且可以将一些业务或者产品组合起来进行有针对性的促销,提高网上银行促销活动效果。另外,挖掘优质、有潜力客户特征,优质客户可以银行提供大量的业务收入和交易量,因此可以通过数据挖掘技术的聚类方法分析银行系统的客户构成,挖掘优质客户的共同特征,为网上银行促销活动提供重要的依据。
3结束语