99热精品69堂国产-97超级碰在线精品视频-日韩欧美中文字幕在线视频-欧美日韩大尺码免费专区-最新国产三级在线不卡视频-在线观看成人免费视频-亚洲欧美国产精品完整版-色综久久天天综合绕视看-中文字幕免费在线看线人-久久国产精品99精品国产

期刊大全 雜志訂閱 SCI期刊 期刊投稿 出版社 公文范文 精品范文

數(shù)據(jù)挖掘論文范文

時間:2023-03-23 15:18:24

序論:在您撰寫數(shù)據(jù)挖掘論文時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導您走向新的創(chuàng)作高度。

數(shù)據(jù)挖掘論文

第1篇

數(shù)據(jù)挖掘技術(shù)是近些年發(fā)展起來的一門新興學科,它涉及到數(shù)據(jù)庫和人工智能等多個領(lǐng)域。隨著計算機技術(shù)的普及數(shù)據(jù)庫產(chǎn)生大量數(shù)據(jù),能夠從這些大量數(shù)據(jù)中抽取出有價值信息的技術(shù)稱之為數(shù)據(jù)挖掘技術(shù)。數(shù)據(jù)挖掘方法有統(tǒng)計學方法、關(guān)聯(lián)規(guī)則挖掘、決策樹方法、聚類方法等八種方法,關(guān)聯(lián)規(guī)則是其中最常用的研究方法。關(guān)聯(lián)規(guī)則算法是1993年由R.Atal,Inipusqi,Sqtm三人提出的Apriori算法,是指從海量數(shù)據(jù)中挖掘出有價值的能夠揭示實體和數(shù)據(jù)項間某些隱藏的聯(lián)系的有關(guān)知識,其中描述關(guān)聯(lián)規(guī)則的兩個重要概念分別是Suppor(t支持度)和Confi-dence(可信度)。只有當Support和Confidence兩者都較高的關(guān)聯(lián)規(guī)則才是有效的、需要進一步進行分析和應用的規(guī)則。

二、使用Weka進行關(guān)聯(lián)挖掘

Weka的全名是懷卡托智能分析環(huán)境(WaikatoEnviron-mentforKnowledgeAnalysis),是一款免費的、非商業(yè)化的、基于JAVA環(huán)境下開源的機器學習以及數(shù)據(jù)挖掘軟件[2]。它包含了許多數(shù)據(jù)挖掘的算法,是目前最完備的數(shù)據(jù)挖掘軟件之一。Weka軟件提供了Explorer、Experimenter、Knowledge-Flow、SimpleCLI四種模塊[2]。其中Explorer是用來探索數(shù)據(jù)環(huán)境的,Experimenter是對各種實驗計劃進行數(shù)據(jù)測試,KnowledgeFlow和Explorer類似,但該模塊通過其特殊的接口可以讓使用者通過拖動的形式去創(chuàng)建實驗方案,Simple-CLI為簡單的命令行界面。以下數(shù)據(jù)挖掘任務(wù)主要用Ex-plorer模塊來進行。

(一)數(shù)據(jù)預處理

數(shù)據(jù)挖掘所需要的所有數(shù)據(jù)可以由系統(tǒng)排序模塊生成并進行下載。這里我們下載近兩年的教師科研信息。為了使論文總分、學術(shù)著作總分、科研獲獎總分、科研立項總分、科研總得分更有利于數(shù)據(jù)挖掘計算,在這里我們將以上得分分別確定分類屬性值。

(二)數(shù)據(jù)載入

點擊Explorer進入后有四種載入數(shù)據(jù)的方式,這里采用第一種Openfile形式。由于Weka所支持的標準數(shù)據(jù)格式為ARFF,我們將處理好的xls格式另存為csv,在weka中找到這個文件并重新保存為arff文件格式來實現(xiàn)數(shù)據(jù)的載入。由于所載入的數(shù)據(jù)噪聲比較多,這里應根據(jù)數(shù)據(jù)挖掘任務(wù)對數(shù)據(jù)表中與本次數(shù)據(jù)任務(wù)不相關(guān)的屬性進行移除,只將學歷、職稱、論文等級、學術(shù)著作等級、科研獲獎等級、科研立項等級、科研總分等級留下。

(三)關(guān)聯(lián)挖掘與結(jié)果分析

WeakExplorer界面中提供了數(shù)據(jù)挖掘多種算法,在這里我們選擇“Associate”標簽下的Apriori算法。之后將“l(fā)owerBoundMinSupprot”(最小支持度)參數(shù)值設(shè)為0.1,將“upperBoundMinSupprot”(最大支持度)參數(shù)值設(shè)為1,在“metiricType”的參數(shù)值選項中選擇lift選項,將“minMetric”參數(shù)值設(shè)為1.1,將“numRules”(數(shù)據(jù)集數(shù))參數(shù)值設(shè)為10,其它選項保存默認值,這樣就可以挖掘出支持度在10%到100%之間并且lift值超過1.1且排名前10名的關(guān)聯(lián)規(guī)則。其挖掘參數(shù)信息和關(guān)聯(lián)挖掘的部分結(jié)果。

三、挖掘結(jié)果與應用

以上是針對教師基本情況和科研各項總分進行的反復的數(shù)據(jù)挖掘工作,從挖掘結(jié)果中找到最佳模式進行匯總。以下列出了幾項作為參考的關(guān)聯(lián)數(shù)據(jù)挖掘結(jié)果。

1、科研立項得分與論文、科研總得分關(guān)聯(lián)度高,即科研立項為A級的論文也一定是A。這與實際也是相符的,因為科研立項得A的教師應該是主持了省級或是國家級的立項的同時也參與了其他教師的科研立項,在課題研究的過程中一定會有國家級論文或者省級論文進行發(fā)表來支撐立項,所以這類教師的論文得分也會很高。針對這樣的結(jié)果,在今后的科研工作中,科研處要鼓勵和幫助教師搞科研,為教師的科研工作提供精神上的支持和物質(zhì)上的幫助,這樣在很大程度上能夠帶動整個學??蒲泄ぷ鞯倪M展。

2、副教授類的教師科研立項得分很高,而講師類教師和助教類教師的科研立項得分很低,這樣符合實際情況。因為副教授類的教師有一定的教學經(jīng)驗,并且很多副教授類的教師還想晉職稱,所以大多數(shù)副教授類教師都會申請一些課題。而對于講師類和助教類的教師,由于教學經(jīng)驗不足很少能進行省級以上的課題研究,因此這兩類教師的科研立項分數(shù)不高。針對這樣的結(jié)果,在今后的科研工作中,科研處可以采用一幫一、結(jié)對子的形式來幫助年輕教師,這樣可以使青年教師參與到老教師的科研課題研究工作中去,在課題研究工程中提高科研能力和教學能力。

第2篇

[關(guān)鍵詞]數(shù)據(jù)挖掘數(shù)據(jù)挖掘方法

隨著信息技術(shù)迅速發(fā)展,數(shù)據(jù)庫的規(guī)模不斷擴大,產(chǎn)生了大量的數(shù)據(jù)。但大量的數(shù)據(jù)往往無法辨別隱藏在其中的能對決策提供支持的信息,而傳統(tǒng)的查詢、報表工具無法滿足挖掘這些信息的需求。因此,需要一種新的數(shù)據(jù)分析技術(shù)處理大量數(shù)據(jù),并從中抽取有價值的潛在知識,數(shù)據(jù)挖掘(DataMining)技術(shù)由此應運而生。

一、數(shù)據(jù)挖掘的定義

數(shù)據(jù)挖掘是指從數(shù)據(jù)集合中自動抽取隱藏在數(shù)據(jù)中的那些有用信息的非平凡過程,這些信息的表現(xiàn)形式為:規(guī)則、概念、規(guī)律及模式等。它可幫助決策者分析歷史數(shù)據(jù)及當前數(shù)據(jù),并從中發(fā)現(xiàn)隱藏的關(guān)系和模式,進而預測未來可能發(fā)生的行為。數(shù)據(jù)挖掘的過程也叫知識發(fā)現(xiàn)的過程。

二、數(shù)據(jù)挖掘的方法

1.統(tǒng)計方法。傳統(tǒng)的統(tǒng)計學為數(shù)據(jù)挖掘提供了許多判別和回歸分析方法,常用的有貝葉斯推理、回歸分析、方差分析等技術(shù)。貝葉斯推理是在知道新的信息后修正數(shù)據(jù)集概率分布的基本工具,處理數(shù)據(jù)挖掘中的分類問題,回歸分析用來找到一個輸入變量和輸出變量關(guān)系的最佳模型,在回歸分析中有用來描述一個變量的變化趨勢和別的變量值的關(guān)系的線性回歸,還有用來為某些事件發(fā)生的概率建模為預測變量集的對數(shù)回歸、統(tǒng)計方法中的方差分析一般用于分析估計回歸直線的性能和自變量對最終回歸的影響,是許多挖掘應用中有力的工具之一。

2.關(guān)聯(lián)規(guī)則。關(guān)聯(lián)規(guī)則是一種簡單,實用的分析規(guī)則,它描述了一個事物中某些屬性同時出現(xiàn)的規(guī)律和模式,是數(shù)據(jù)挖掘中最成熟的主要技術(shù)之一。關(guān)聯(lián)規(guī)則在數(shù)據(jù)挖掘領(lǐng)域應用很廣泛適合于在大型數(shù)據(jù)集中發(fā)現(xiàn)數(shù)據(jù)之間的有意義關(guān)系,原因之一是它不受只選擇一個因變量的限制。大多數(shù)關(guān)聯(lián)規(guī)則挖掘算法能夠無遺漏發(fā)現(xiàn)隱藏在所挖掘數(shù)據(jù)中的所有關(guān)聯(lián)關(guān)系,但是,并不是所有通過關(guān)聯(lián)得到的屬性之間的關(guān)系都有實際應用價值,要對這些規(guī)則要進行有效的評價,篩選有意義的關(guān)聯(lián)規(guī)則。

3.聚類分析。聚類分析是根據(jù)所選樣本間關(guān)聯(lián)的標準將其劃分成幾個組,同組內(nèi)的樣本具有較高的相似度,不同組的則相異,常用的技術(shù)有分裂算法,凝聚算法,劃分聚類和增量聚類。聚類方法適合于探討樣本間的內(nèi)部關(guān)系,從而對樣本結(jié)構(gòu)做出合理的評價,此外,聚類分析還用于對孤立點的檢測。并非由聚類分析算法得到的類對決策都有效,在運用某一個算法之前,一般要先對數(shù)據(jù)的聚類趨勢進行檢驗。

4.決策樹方法。決策樹學習是一種通過逼近離散值目標函數(shù)的方法,通過把實例從根結(jié)點排列到某個葉子結(jié)點來分類實例,葉子結(jié)點即為實例所屬的分類。樹上的每個結(jié)點說明了對實例的某個屬性的測試,該結(jié)點的每一個后繼分支對應于該屬性的一個可能值,分類實例的方法是從這棵樹的根結(jié)點開始,測試這個結(jié)點指定的屬性,然后按照給定實例的該屬性值對應的樹枝向下移動。決策樹方法是要應用于數(shù)據(jù)挖掘的分類方面。

5.神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)建立在自學習的數(shù)學模型基礎(chǔ)之上,能夠?qū)Υ罅繌碗s的數(shù)據(jù)進行分析,并可以完成對人腦或其他計算機來說極為復雜的模式抽取及趨勢分析,神經(jīng)網(wǎng)絡(luò)既可以表現(xiàn)為有指導的學習也可以是無指導聚類,無論哪種,輸入到神經(jīng)網(wǎng)絡(luò)中的值都是數(shù)值型的。人工神經(jīng)元網(wǎng)絡(luò)模擬人腦神經(jīng)元結(jié)構(gòu),建立三大類多種神經(jīng)元網(wǎng)絡(luò),具有非線形映射特性、信息的分布存儲、并行處理和全局集體的作用、高度的自學習、自組織和自適應能力的種種優(yōu)點。

6.遺傳算法。遺傳算法是一種受生物進化啟發(fā)的學習方法,通過變異和重組當前己知的最好假設(shè)來生成后續(xù)的假設(shè)。每一步,通過使用目前適應性最高的假設(shè)的后代替代群體的某個部分,來更新當前群體的一組假設(shè),來實現(xiàn)各個個體的適應性的提高。遺傳算法由三個基本過程組成:繁殖(選擇)是從一個舊種群(父代)選出生命力強的個體,產(chǎn)生新種群(后代)的過程;交叉〔重組)選擇兩個不同個體〔染色體)的部分(基因)進行交換,形成新個體的過程;變異(突變)是對某些個體的某些基因進行變異的過程。在數(shù)據(jù)挖掘中,可以被用作評估其他算法的適合度。

7.粗糙集。粗糙集能夠在缺少關(guān)于數(shù)據(jù)先驗知識的情況下,只以考察數(shù)據(jù)的分類能力為基礎(chǔ),解決模糊或不確定數(shù)據(jù)的分析和處理問題。粗糙集用于從數(shù)據(jù)庫中發(fā)現(xiàn)分類規(guī)則的基本思想是將數(shù)據(jù)庫中的屬性分為條件屬性和結(jié)論屬性,對數(shù)據(jù)庫中的元組根據(jù)各個屬性不同的屬性值分成相應的子集,然后對條件屬性劃分的子集與結(jié)論屬性劃分的子集之間上下近似關(guān)系生成判定規(guī)則。所有相似對象的集合稱為初等集合,形成知識的基本成分。任何初等集合的并集稱為精確集,否則,一個集合就是粗糙的(不精確的)。每個粗糙集都具有邊界元素,也就是那些既不能確定為集合元素,也不能確定為集合補集元素的元素。粗糙集理論可以應用于數(shù)據(jù)挖掘中的分類、發(fā)現(xiàn)不準確數(shù)據(jù)或噪聲數(shù)據(jù)內(nèi)在的結(jié)構(gòu)聯(lián)系。

8.支持向量機。支持向量機(SVM)是在統(tǒng)計學習理論的基礎(chǔ)上發(fā)展出來的一種新的機器學習方法。它基于結(jié)構(gòu)風險最小化原則上的,盡量提高學習機的泛化能力,具有良好的推廣性能和較好的分類精確性,能有效的解決過學習問題,現(xiàn)已成為訓練多層感知器、RBF神經(jīng)網(wǎng)絡(luò)和多項式神經(jīng)元網(wǎng)絡(luò)的替代性方法。另外,支持向量機算法是一個凸優(yōu)化問題,局部最優(yōu)解一定是全局最優(yōu)解,這些特點都是包括神經(jīng)元網(wǎng)絡(luò)在內(nèi)的其他算法所不能及的。支持向量機可以應用于數(shù)據(jù)挖掘的分類、回歸、對未知事物的探索等方面。

事實上,任何一種挖掘工具往往是根據(jù)具體問題來選擇合適挖掘方法,很難說哪種方法好,那種方法劣,而是視具體問題而定。

三、結(jié)束語

目前,數(shù)據(jù)挖掘技術(shù)雖然得到了一定程度的應用,并取得了顯著成效,但仍存在著許多尚未解決的問題。隨著人們對數(shù)據(jù)挖掘技術(shù)的深人研究,數(shù)據(jù)挖掘技術(shù)必將在更加廣泛的領(lǐng)域得到應用,并取得更加顯著的效果。

第3篇

1.1數(shù)據(jù)挖掘相關(guān)技術(shù)數(shù)據(jù)挖掘相關(guān)技術(shù)介紹如下[6]:(1)決策樹:在表示決策集合或分類時采用樹形結(jié)構(gòu),在這一過程中發(fā)現(xiàn)規(guī)律并產(chǎn)生規(guī)則,找到數(shù)據(jù)庫中有著最大信息量的字段,從而可建立起決策樹的人工智能及識別技術(shù)。(2)聚類分析:聚類分析指將物理或抽象對象的集合分組為由類似的對象組成的多個類的分析過程。它是一種重要的人類行為。(3)關(guān)聯(lián)分析:關(guān)聯(lián)分析又稱關(guān)聯(lián)挖掘,就是在交易數(shù)據(jù)、關(guān)系數(shù)據(jù)或其他信息載體中,查找存在于項目集合或?qū)ο蠹现g的頻繁模式、因果、關(guān)聯(lián)或相關(guān)性結(jié)構(gòu)。也可以說,關(guān)聯(lián)分析是用來發(fā)現(xiàn)有關(guān)交易的數(shù)據(jù)庫中不同商品(項)之間的聯(lián)系。(4)神經(jīng)網(wǎng)絡(luò)方法:顧名思義,類似于生物的神經(jīng)結(jié)構(gòu),由大量簡單的神經(jīng)元,通過非常豐富和完善的連接組成自適應的非線性動態(tài)系統(tǒng),具有自適應、自組織、自學習、聯(lián)想記憶、分布存儲、大規(guī)模并行處理等功能。粗集方法:也就是在數(shù)據(jù)庫里把行為對象列視為元素,將不同對象在某個(或多個)屬性上取值相同定義為等價關(guān)系R。其等價類為滿足R的對象組成的集合[5]。

1.2IBMSPSSModelerIBMSPSSModeler是一個數(shù)據(jù)挖掘工作臺,用于幫助用戶快速直觀地構(gòu)建預測模型,而無需進行編程。其精密的數(shù)據(jù)挖掘技術(shù)使用戶能夠?qū)Y(jié)果進行建模,了解哪些因素會對結(jié)果產(chǎn)生影響。它還能可提供數(shù)據(jù)挖掘相關(guān)的數(shù)據(jù)提取、轉(zhuǎn)換、分析建模、評估、部署等全過程的功能[3]。通常,SPSSModeler將數(shù)據(jù)以一條條記錄的形式讀入,然后通過對數(shù)據(jù)進行一系列操作,最后將其發(fā)送至某個地方(可以是模型,或某種格式的數(shù)據(jù)輸出)[3]。使用SPSSModeler處理數(shù)據(jù)的三個步驟:(1)將數(shù)據(jù)讀入SPSSModeler;(2)通過一系列操縱運行數(shù)據(jù);(3)將數(shù)據(jù)發(fā)送到目標位置。

2客戶流失預測分析

2.1數(shù)據(jù)預處理數(shù)據(jù)預處理[6],將需要的客戶投保數(shù)據(jù)按照業(yè)務(wù)預測分析的要求,將數(shù)據(jù)抽取到中間數(shù)據(jù)中,同時對數(shù)據(jù)清洗和轉(zhuǎn)換,滿足業(yè)務(wù)預測分析要求。每日凌晨調(diào)用存儲過程將核心業(yè)務(wù)系統(tǒng)數(shù)據(jù)提取到中間數(shù)據(jù)庫,壽險業(yè)務(wù)數(shù)據(jù)與其他數(shù)據(jù)一樣,存在不安全和不一致時,數(shù)據(jù)清洗與轉(zhuǎn)換可以幫助提升數(shù)據(jù)質(zhì)量,進而提升數(shù)據(jù)挖掘進程的有效性和準確性。數(shù)據(jù)清洗主要包括:遺漏數(shù)據(jù)清洗,錯誤數(shù)據(jù)處理,垃圾數(shù)據(jù)處理[1]。

2.2數(shù)據(jù)選取數(shù)據(jù)預處理后,可以從中得到投保人的投保信息,包括投保人姓名,投保年齡(有效保單為當前年齡,無效保單為退保年齡),保費,投保年期,保單狀態(tài)等。數(shù)據(jù)如圖1所示。

2.3客戶流失預測模型建立壽險業(yè)務(wù)按渠道來分可分為個人保險、團體保險、銀行保險、網(wǎng)銷保險、經(jīng)代保險五類。由于團體保險在壽險公司發(fā)展比較緩慢,團險業(yè)務(wù)基本屬于停滯階段。結(jié)合壽險公司的營銷特點,選定個人保單作為分析的對象,通過IBMSPSSModeler預測模型工具[3],使用決策樹預測模型對客戶流失進行預測分析。

2.4結(jié)果分析通過使用IBMSPSSModeler決策類預測模型分析某壽險公司2013年個人客戶承保情況來看有以下規(guī)則:(1)投保年數(shù)在1年以內(nèi),首期保費在0~2000元或大于9997.130保費的客戶比較容易流失。(2)保單終止保單中,女性客戶較男性客戶容易流失。(3)投保年數(shù)在2年以上,湖北及河北分支機構(gòu)客戶流失率比較容易流失。(4)分紅壽險相對傳統(tǒng)壽險,健康壽險的客戶比較容易流失[1]。

3總結(jié)

第4篇

關(guān)聯(lián)規(guī)則最初是針對購物籃分析問題提出的,目的是發(fā)現(xiàn)事務(wù)數(shù)據(jù)庫(TransactionDatabase)中不同商品之間的聯(lián)系。關(guān)聯(lián)規(guī)則是形如A=》B的蘊涵式,其中A稱為該關(guān)聯(lián)規(guī)則的前項,B稱為該關(guān)聯(lián)規(guī)則的后項。事務(wù),是一個明確定義的商業(yè)行為,如顧客在商店購物就是一次典型的事務(wù)。由用戶設(shè)定的支持度和置信度的門檻值,當sup-port(A=>B)、confidence(A=>B)分別大于等于各自的門檻值時,認為A=>B是有趣的,此兩值稱為最小支持度(minsupport)和最小置信度(minconfidence)。同時滿足minsupport和minconfidence的這種關(guān)聯(lián)規(guī)則就叫做強的關(guān)聯(lián)規(guī)則。設(shè)任務(wù)相關(guān)的數(shù)據(jù)D是數(shù)據(jù)庫事物的集合,當項集的支持計數(shù)≥D中事務(wù)總數(shù)|D|與minsup-port的乘積時,就叫做頻繁項集,當項集的支持計數(shù)可能≥D中事務(wù)總數(shù)|D|與minsupport的乘積時,就叫做侯選項集。所有侯選項集K-項集的集合記作Ck,所有頻繁項集K-項集的集合常記作Lk,很明顯Lk奐Ck。如果僅依賴最小支持度和最小置信度這兩個參數(shù)的限制,所挖掘出的強關(guān)聯(lián)規(guī)則不一定是用戶感興趣的,因此,用戶可以根據(jù)實際應用的需求,再結(jié)合自身的領(lǐng)域知識,通過選擇與實際分析任務(wù)有關(guān)的數(shù)據(jù)集,設(shè)置不同的參數(shù),限定前項和后項的個數(shù),選擇前項和后項包含的屬性等操作,對關(guān)聯(lián)規(guī)則的挖掘進行約束。

2模糊集理論的引入

在討論實際問題的時候,需要判定模糊概念涵義,如判斷某個數(shù)據(jù)在模糊集的定義和歸屬,這時就需要普通集合與模糊集合可依某種法則相互轉(zhuǎn)換。模糊理論中的截集是模糊集合和普通集合之間相互轉(zhuǎn)換的一座橋梁。

3基于事務(wù)間數(shù)值型關(guān)聯(lián)規(guī)則的數(shù)據(jù)挖掘算法

假設(shè)有一就業(yè)數(shù)據(jù)庫,先通過數(shù)據(jù)整理,將原始數(shù)據(jù)記錄值區(qū)間[0,10]偏置10個單位。由此就得到了經(jīng)過偏置后的數(shù)據(jù)庫記錄。再依滑動窗口方法,設(shè)maxspan=1(該值可以依實際情況的需要來定),就可將偏置后的數(shù)據(jù)庫數(shù)據(jù)整理轉(zhuǎn)化為擴展事務(wù)數(shù)據(jù)庫。再把擴展事務(wù)數(shù)據(jù)庫記錄通過隸屬度函數(shù)轉(zhuǎn)化為對應的隸屬度。

4結(jié)語

第5篇

數(shù)據(jù)挖掘技術(shù)是延伸和擴展了傳統(tǒng)分析方法,可以發(fā)現(xiàn)傳統(tǒng)分析方法不能發(fā)現(xiàn)的內(nèi)容和規(guī)律,并且它將人們從單調(diào)、枯燥的閱讀專利文獻的工作中解放出來,使用計算機代替了人類勞動,這樣不僅提高了效率,而且提升了準確度。因此,數(shù)據(jù)挖掘作為一個專利分析的強有力工具被引入到專利分析中來,并且得到快速的發(fā)展應用。專利數(shù)據(jù)挖掘流程應考慮的問題:一是用數(shù)據(jù)挖掘解決什么樣的問題;二是為進行數(shù)據(jù)挖掘所做的數(shù)據(jù)準備;三是數(shù)據(jù)挖掘的各種分析算法。故專利數(shù)據(jù)挖掘的一般過程通常按照以下步驟來完成:領(lǐng)會數(shù)據(jù)挖掘的目的,獲取分析所用的數(shù)據(jù)集合,探索、清理和預處理數(shù)據(jù),選擇要使用的數(shù)據(jù)挖掘技術(shù),使用算法解決問題,解釋算法的結(jié)果。而其一般流程可簡化為三個階段:數(shù)據(jù)準備數(shù)據(jù)挖掘結(jié)果解釋和評價。本文采用簡化的流程進行實證分析。

二、石家莊地區(qū)制藥企業(yè)專利數(shù)據(jù)挖掘

本文對石家莊地區(qū)制藥企業(yè)的專利數(shù)據(jù)進行挖掘分析,挖掘?qū)ο笫侨A北制藥集團公司、石家莊制藥集團有限公司、石家莊神威藥業(yè)股份有限公司、石家莊四藥股份、河北以嶺藥業(yè)股份有限公司、石家莊市華曙制藥集團、河北醫(yī)科大學制藥廠、河北圣雪大成制藥有限責任公司等地址在石家莊且具有一定代表性的藥企,希望通過這些藥企數(shù)據(jù)能夠找到石家莊地區(qū)制藥領(lǐng)域的核心組成,并能為藥企更好地發(fā)展提供有力的信息支持。IPC號是目前權(quán)威的專利技術(shù)主題的標識編碼之一,基本包含了各行各業(yè)的專利信息,是一個龐大的專利信息體系。目前國內(nèi)外很多分析方法及技術(shù)大部分是基于專利的IPC分類號來分析專利技術(shù)主題的,此分析方法有一定的參考價值和科學性,而且對于具有大量專利信息的分析具有很好的總結(jié)概括效果。本文以專利全部IPC號為分析對象,并且構(gòu)建IPC號之間的關(guān)聯(lián)規(guī)則,在最大程度上揭示隱含的專利技術(shù)關(guān)聯(lián)性,從而為石家莊地區(qū)制藥企業(yè)專利技術(shù)的發(fā)展提供參考。

1.數(shù)據(jù)準備。數(shù)據(jù)來源的準確與否是數(shù)據(jù)分析與挖掘的基礎(chǔ),是數(shù)據(jù)分析與挖掘的根本。本文所使用的石家莊地區(qū)制藥領(lǐng)域?qū)@麛?shù)據(jù)由萬方數(shù)據(jù)公司提供,以制藥企業(yè)地址為石家莊為檢索條件,搜索出了包括從1985—2014年間石家莊地區(qū)制藥領(lǐng)域?qū)@?44條,分別分布在A、B、C、D、E、F、G、H八個大部。對專利數(shù)據(jù)庫中的644條專利進行篩選,根據(jù)“分類號”字段限制,它涉及專利信息的分類,有些IPC所涉及的范圍與石家莊地區(qū)制藥領(lǐng)域沒有聯(lián)系或聯(lián)系很小,不宜保留。根據(jù)“申請人(專利權(quán)人)”字段的限制,剔除與石家莊地區(qū)制藥不相關(guān)或制藥企業(yè)地址不在石家莊地區(qū)的專利。最后篩選出590條最符合該領(lǐng)域特點的專利。由于IPC號在幾乎所有現(xiàn)存數(shù)據(jù)庫中均是以一個字段存儲一個專利的所有IPC分類號的,形如:A61K38/26、A61K9/08、A61K47/12、A61P3/10,且每個專利一般都有好幾個分類號,而每個企業(yè)又研究大量的專利,所以在進行專利分析之前,需要對專利IPC號進行數(shù)據(jù)整理。由于過于細致的IPC分類號并不利于專利主題的分析與揭示,所以本文中采用專利小類分析,就是取IPC號的前4位。并將申請人與其對應的多條IPC號進行拆分,拆分后的數(shù)據(jù)項有773條,即顯示每個申請人對應的一條IPC分類號。

2.數(shù)據(jù)挖掘。本文數(shù)據(jù)挖掘過程將采用Excel和SQLsever2005軟件,首先對所得到的數(shù)據(jù)導入SQLserver2005進行挖掘,利用SQLserver2005可以直接進行IPC號的關(guān)聯(lián)規(guī)則挖掘,然后對專利信息進行分析。

3.數(shù)據(jù)挖掘結(jié)果與分析?;陉P(guān)聯(lián)規(guī)則制作依賴關(guān)系網(wǎng)絡(luò)圖,可以更加直觀地看到各個IPC號之間的關(guān)聯(lián)和依賴狀態(tài)。

(1)以A61K、C12N、C12P、C07D、C07C為中心的核心專利技術(shù)群。這些專利的IPC分類號是關(guān)鍵部分藥物組成的各種化合物即藥物主要成分的重要聚集組。A61K(醫(yī)用、牙科用等的配置品)是項集次數(shù)最多的,即支持度較高的,C12P(發(fā)酵或使用酶的方法合成目標化合物或組合物或從外消旋混合物中分離旋光異構(gòu)體)、C12N(微生物或酶;其組合物)、C07D(雜環(huán)環(huán)合物,例如鄰氯芐星青霉素的合成)、C07C(無環(huán)和碳環(huán)化合物)通過專利相關(guān)知識我們已經(jīng)知道這些都是藥物的合成成分,即土霉素、鏈霉素、青霉素等多種抗生素和維生素的主要成分組成,是制藥領(lǐng)域的核心。這也是和石家莊地區(qū)制藥企業(yè)的核心領(lǐng)域相符合的。另外這些專利主題的相互關(guān)聯(lián)、依賴說明了石家莊地區(qū)制藥企業(yè)在該領(lǐng)域具有很好的布局網(wǎng)絡(luò),在研發(fā)數(shù)量上也占有一定優(yōu)勢,所以說是石家莊地區(qū)制藥企業(yè)的主要研究領(lǐng)域。

(2)以B65G、C12M為中心的輔助設(shè)備專利技術(shù)群。藥品的生產(chǎn)離不開設(shè)備的支持,所以設(shè)備方面的專利也能體現(xiàn)制藥企業(yè)的技術(shù)水平。在圖1中也能體現(xiàn)出來,專利間有著很強的依賴性和關(guān)聯(lián)性,在核心專利周邊有B65G(運輸或貯存裝置,例如裝載或傾斜用輸送機、車間輸送機系統(tǒng)、氣動管道輸送機)、C12M(酶學或微生物學裝置),這些是制藥的輔助技術(shù)手段,與中心專利是相互聯(lián)系的,也是制藥過程中必不可少的,在這些方面的提高有利于制藥核心領(lǐng)域的發(fā)展。先進藥品的研制離不開先進制藥設(shè)備支持,所以設(shè)備水平的提高也是關(guān)鍵的。如圖3所示,石家莊地區(qū)制藥企業(yè)在這一方面的技術(shù)依賴網(wǎng)絡(luò)也已經(jīng)形成,說明在此技術(shù)領(lǐng)域也已經(jīng)擁有較強實力。但與中心主要專利相比,輔助設(shè)備專利技術(shù)還是需要不斷提高的。

三、總結(jié)

第6篇

系統(tǒng)采用C/S+B/S結(jié)構(gòu),主要由前端數(shù)據(jù)采集設(shè)備(位移及載荷傳感器)、站點客戶端、數(shù)據(jù)庫及Web服務(wù)器等組成。各部分采取分布式協(xié)同處理運行方式,站點客戶端利用前端采集的數(shù)據(jù)獨立分析計算,分析完成后上傳至數(shù)據(jù)庫服務(wù)器,并通過網(wǎng)頁服務(wù)器對外。

2系統(tǒng)數(shù)據(jù)

2.1系統(tǒng)數(shù)據(jù)結(jié)構(gòu)系統(tǒng)采用MicrosoftSQLServer,創(chuàng)建了WPGUI與WPCHQ數(shù)據(jù)庫來管理3萬余口油井數(shù)據(jù)采集、處理及存儲等,建設(shè)數(shù)據(jù)表65張(見主要數(shù)據(jù)表的關(guān)系圖2),主要包括生產(chǎn)井的完井數(shù)據(jù)、靜態(tài)數(shù)據(jù)、動態(tài)數(shù)據(jù)、采集數(shù)據(jù)、原油物性數(shù)據(jù)、機桿管泵等技術(shù)數(shù)據(jù),同時系統(tǒng)保存了油井近兩年功圖電參數(shù)據(jù)(每天每口井到少100張),以及根據(jù)這些數(shù)據(jù)分析計算出來的結(jié)果和匯總生成的數(shù)據(jù)。

3數(shù)據(jù)挖掘應用

數(shù)據(jù)挖掘是從大量數(shù)據(jù)集中發(fā)現(xiàn)可行信息的過程,是統(tǒng)計分析技術(shù)、數(shù)據(jù)庫技術(shù)及人工智能技術(shù)的綜合。面對油井工況實時分析及功圖計產(chǎn)系統(tǒng)大量的油井生產(chǎn)完備數(shù)據(jù),長慶油田充分利用數(shù)據(jù)挖掘技術(shù),對數(shù)據(jù)進一步清理、集成、轉(zhuǎn)換、挖掘應用,深化功圖系統(tǒng)數(shù)據(jù)分析,先后開展了動液面計算,系統(tǒng)效率在線實時監(jiān)測、區(qū)塊動態(tài)分析研究等,并應用于油田現(xiàn)場,取得了較好的效果,既節(jié)約了生產(chǎn)成本,又方便了現(xiàn)場管理應用,進一步提升系統(tǒng)在長慶油田數(shù)字化前端的核心地位。

3.1區(qū)塊動態(tài)分析

油井生產(chǎn)中,每天都會獲得大量的實時生產(chǎn)數(shù)據(jù),目前系統(tǒng)主要對單井完成工況分析及產(chǎn)液量計算,如何通過分析和處理這些數(shù)據(jù),及時全面了解油田區(qū)塊產(chǎn)油量、壓力、含水等變化規(guī)律是數(shù)據(jù)挖掘應用又一問題。長慶油田開展了基于油井工況診斷及功圖計產(chǎn)系統(tǒng)的區(qū)塊動態(tài)分析,從空間和歷史角度,對油井分類、分級、分層次進行統(tǒng)計分析,挖掘生產(chǎn)數(shù)據(jù)里有用的信息,提煉區(qū)塊共性問題,并按照設(shè)計的模板(區(qū)塊指標統(tǒng)計圖表、供液能力分析、產(chǎn)量分析、故障井分析等)每月30日自動生成全面及時的區(qū)塊油井生產(chǎn)動態(tài)分析,從而指導區(qū)塊生產(chǎn)管理,實現(xiàn)油田的精細管理,為油田開發(fā)決策提供依據(jù)。

4結(jié)束語

隨著長慶油田數(shù)字化建設(shè)的不斷深入,各種生產(chǎn)、研究、管理等數(shù)據(jù)庫不斷增加,如何深化數(shù)據(jù)應用,準確迅速從數(shù)據(jù)庫是提取有用信息,已成為是數(shù)字油田生產(chǎn)管理的迫切需求。在基于油井工況實時分析及功圖計產(chǎn)系統(tǒng)數(shù)據(jù)挖掘應用中我們積累了不少經(jīng)驗,拓展了系統(tǒng)功能,提升系統(tǒng)在長慶油田數(shù)字化前端的核心地位。在今后應用中,油田數(shù)據(jù)挖掘應用注意幾個問題:

(1)數(shù)據(jù)是數(shù)字油田的血液,為了保證數(shù)據(jù)挖掘效率,在數(shù)據(jù)庫建設(shè)中要規(guī)范數(shù)據(jù)存儲格式,保證數(shù)據(jù)源及數(shù)據(jù)類型的統(tǒng)一,同時加強數(shù)據(jù)審核,注重數(shù)據(jù)入庫的質(zhì)量;

(2)數(shù)據(jù)挖掘中盡可能使用可視化工具,一幅圖勝過千句話,數(shù)據(jù)挖掘可視化主要包括數(shù)據(jù)可視化、挖掘結(jié)果可視化、挖掘過程可視化等;

第7篇

1.1GPUGPU之所以在某些應用中較CPU能夠獲得更高的性能,主要是因為GPU和CPU在硬件結(jié)構(gòu)設(shè)計上存在很大差異。如圖1所示[10],GPU將大量的晶體管用作ALU計算單元,從而適應密集且可并行的圖像渲染計算處理需要。相對GPU而言,CPU卻是將更多的晶體管用作復雜的控制單元和緩存等非計算功能,并以此來提高少量執(zhí)行單元的執(zhí)行效率。此外,存儲帶寬是另一個重要問題。存儲器到處理器的帶寬已經(jīng)成為許多應用程序的瓶頸。目前GPU的芯片帶寬是CPU芯片帶寬的6倍左右。

1.2CPU/GPU協(xié)同并行計算在諸多適用于高性能計算的體系結(jié)構(gòu)中,采用通用多核CPU與定制加速協(xié)處理器相結(jié)合的異構(gòu)體系結(jié)構(gòu)成為構(gòu)造千萬億次計算機系統(tǒng)的一種可行途徑。而在眾多異構(gòu)混合平臺中,基于CPU/GPU異構(gòu)協(xié)同的計算平臺具有很大的發(fā)展?jié)摿?。在協(xié)同并行計算時,CPU和GPU應各取所長,即CPU承擔程序控制,而密集計算交由GPU完成。另外,除管理和調(diào)度GPU計算任務(wù)外,CPU也應當承擔一部分科學計算任務(wù)[12]。新型異構(gòu)混合體系結(jié)構(gòu)對大規(guī)模并行算法研究提出了新的挑戰(zhàn),迫切需要深入研究與該體系結(jié)構(gòu)相適應的并行算法。事實上,目前基于GPU加速的數(shù)據(jù)挖掘算法實現(xiàn)都有CPU參與協(xié)同計算,只是討論的重點多集中在為適應GPU而進行的并行化設(shè)計上。實踐中,需要找出密集計算部分并將其遷移到GPU中執(zhí)行,剩余部分仍然由CPU來完成。

1.3CUDA為了加速GPU通用計算的發(fā)展,NVIDIA公司在2007年推出統(tǒng)一計算設(shè)備架構(gòu)(ComputeUnifiedDeviceArchitecture,CUDA)[10,13]。CUDA編程模型將CPU作為主機,GPU作為協(xié)處理器,兩者協(xié)同工作,各司其職。CPU負責進行邏輯性強的事務(wù)處理和串行計算,GPU則專注于執(zhí)行高度線程化的并行處理任務(wù)。CUDA采用單指令多線程(SIMT)執(zhí)行模式,而內(nèi)核函數(shù)(kernel)執(zhí)行GPU上的并行計算任務(wù),是整個程序中一個可以被并行執(zhí)行的步驟。CUDA計算流程通常包含CPU到GPU數(shù)據(jù)傳遞、內(nèi)核函數(shù)執(zhí)行、GPU到CPU數(shù)據(jù)傳遞三個步驟。CUDA不需要借助于圖形學API,并采用了比較容易掌握的類C/C++語言進行開發(fā),為開發(fā)人員有效利用GPU的強大性能提供了條件。CUDA被廣泛應用于石油勘探、天文計算、流體力學模擬、分子動力學仿真、生物計算和圖像處理等領(lǐng)域,在很多應用中獲得了幾倍、幾十倍,乃至上百倍的加速比[13]。

1.4并行編程語言和模型過去幾十年里,人們相繼提出了很多并行編程語言和模型,其中使用最廣泛的是為可擴展的集群計算設(shè)計的消息傳遞接口(MessagePassingInterface,MPI)和為共享存儲器的多處理器系統(tǒng)設(shè)計的OpenMP[14]。OpenMP最初是為CPU執(zhí)行而設(shè)計的。OpenACC[15]是計算機廠商為異構(gòu)計算系統(tǒng)提出的一種新編程模型,其主要優(yōu)勢是為抽象掉許多并行編程細節(jié)提供了編譯自動化和運行時系統(tǒng)支持。這使得應用程序在不同廠商的計算機和同一廠商不同時代的產(chǎn)品中保持兼容性。然而,學習OpenACC需要理解所有相關(guān)的并行編程細節(jié)。在MPI編程模型中,集群中的計算節(jié)點之間相互不共享存儲器;節(jié)點之間的數(shù)據(jù)共享與交互都通過顯式傳遞消息的方式實現(xiàn)。MPI成功應用于高性能科學計算(HPC)領(lǐng)域?,F(xiàn)在很多HPC集群采用的是異構(gòu)的CPU/GPU節(jié)點。在集群層次上,開發(fā)人員使用MPI進行編程,但在節(jié)點層次上,CUDA是非常高效的編程接口。由于計算節(jié)點之間缺乏共享存儲器機制,要把應用程序移植到MPI中需要做大量針對性分析和分解工作。包括蘋果公司在內(nèi)的幾大公司在2009年共同開發(fā)了一套標準編程接口,稱之為OpenCL[16]。與CUDA類似,OpenCL編程模型定義了語言擴展和運行時API,使程序員可以在大規(guī)模并行處理中進行并行管理和數(shù)據(jù)傳遞。與CUDA相比,OpenCL更多地依賴API,而不是語言的擴展,這允許廠商快速調(diào)整現(xiàn)有編譯器和工具來處理OpenCL程序。OpenCL和CUDA在關(guān)鍵概念和特性上有諸多相似之處,因此CUDA程序員可以很快掌握OpenCL。

1.5MATLAB因提供豐富的庫函數(shù)庫以及諸多其他研究者貢獻和共享的函數(shù)庫,MATLAB是研究人員實現(xiàn)算法的常用平臺。通過封裝的數(shù)據(jù)容器(GPUArrays)和函數(shù),MATLAB允許沒有底層CUDA編程能力的研究人員可以較容易獲得GPU計算能力,因此MATLAB較OpenCL更容易上手。截止準備本文時,2014版本的MATLAB提供了226個內(nèi)置的GPU版本的庫函數(shù)。對于有CUDA編程經(jīng)驗的人員,MATLAB允許直接集成CUDA內(nèi)核進MATLAB應用。本文第四節(jié)的實驗亦基于MATLAB實現(xiàn)。

1.6JACKET引擎JACKET[17]是一個由AccelerEyes公司開發(fā)專門用于以MATLAB為基礎(chǔ)的基于GPU的計算引擎,其最新版本已經(jīng)包含了高層的接口,完全屏蔽了底層硬件的復雜性,并支持所有支持CUDA的GPU計算,降低了進行CUDA開發(fā)的門檻。JACKET是MATLAB代碼在GPU上運行的插件。JACKET允許標準的MATLAB代碼能夠在任何支持CUDA的GPU上運行,這使得廣大的MATLAB及C/C++用戶可以直接使用GPU強大的計算能力進行相關(guān)應用領(lǐng)域的快速原型開發(fā)。JACKET包含了一套運行于MATLAB環(huán)境中優(yōu)化并行計算的基礎(chǔ)函數(shù)庫。并且支持MATLAB數(shù)據(jù)類型,可將任何存儲于MATLABCPU內(nèi)存中的變量數(shù)據(jù)轉(zhuǎn)換為GPU上的數(shù)據(jù)類型,對以往的MATLAB程序來說,只需更改數(shù)據(jù)類型,就能遷移到GPU上運行。本文的第四節(jié)的實驗亦基于JACKET在MATLAB上實現(xiàn)。

2相關(guān)工作綜述

2.1基于CPU的數(shù)據(jù)挖掘算法實現(xiàn)數(shù)據(jù)挖掘算法的研究一直很活躍,許多成熟和經(jīng)典的算法已經(jīng)實現(xiàn)在諸多研究或商用軟件包/平臺,例如開源的Weka[18]和KNIME,以及商用的IBM公司的PASWModeler(即之前SPSS公司的Clementine®)。這些軟件默認都是單機版本,可運行在普通PC或高性能服務(wù)器上,基于CPU的計算能力。為了適應目前大規(guī)模的計算,出現(xiàn)了基于Google公司提出的MapReduce[19]計算框架實現(xiàn)的開源數(shù)據(jù)挖掘平臺Mahout[20]。相關(guān)的研究起源于斯坦福大學AndrewNg研究組2006年的經(jīng)典論著[21]。由于現(xiàn)有的算法需要先找到可“遷移”到MapReduce的方式,因此目前Mahout平臺上僅有幾個能支持分布式部署的數(shù)據(jù)挖掘算法,包括用于分類的樸素貝葉斯、隨機森林,用于聚類的k-Means,基于項目的協(xié)同過濾等。目前Mahout仍然是基于CPU的計算能力。

2.2聚類算法聚類是數(shù)據(jù)挖掘中用來發(fā)現(xiàn)數(shù)據(jù)分布和隱含模式的一種無監(jiān)督學習,每個訓練元組的類標號是未知的,并且要學習的個數(shù)或集合也可能事先不知道。對于給定的數(shù)據(jù)集,聚類算法按照一定的度量,將數(shù)據(jù)對象分組為多個簇,使得在同一個簇中的對象之間具有較高的相似度,而不同簇中的對象差別很大[22-23]。k-Means算法是經(jīng)典的基于距離/劃分的聚類分析算法,也是應用得最廣泛的算法之一,采用距離作為相似性的評價指標,即認為兩個對象距離越近,其相似度就越大。k-Means算法的流程如下[24]:輸入:簇的數(shù)目k和包含n個對象數(shù)據(jù)集D。輸出:k個簇的集合。方法:1)從D中任意選擇k個對象作為初始簇中心。計算每個數(shù)據(jù)對象到各簇中心的歐氏距離,將每個數(shù)據(jù)對象分配到最相似的簇中。2)重新計算每個簇中對象的均值。3)循環(huán)執(zhí)行步驟2-3兩個步驟,直到各個簇內(nèi)對象不再變化。上述算法步驟2屬于計算密度最大的部分,且具備并行化的條件。計算各個數(shù)據(jù)對象到各簇中心的歐氏距離和將數(shù)據(jù)對象分配到最近的簇的時候,數(shù)據(jù)對象之間都是相互獨立的,不需要進行交換,且沒有先后順序,后計算的對象不需要等待前一次計算的結(jié)果,僅在完成全部分配過程之后,才需要進行一次數(shù)據(jù)匯總。所以文獻[25]的作者們使用GPU并行優(yōu)化了一維數(shù)據(jù)的k-Means算法的步驟2,并使用帶緩存機制的常數(shù)存儲器保存中心點數(shù)據(jù),能獲得更好的讀取效率。文獻中還展示了實驗結(jié)果,在8600GT上取得了14倍左右的加速效果。DBSCAN屬于基于密度的聚類算法中最常被引用的,G-DBSCAN是它的一個GPU加速版本[26]。文獻[26]的實驗顯示較DBSCAN可以實現(xiàn)高達112倍的加速。BIRCH是經(jīng)典的基于層次的聚類算法,文獻[27]中基于CUDA實現(xiàn)的GPU加速版本在實驗中獲得了高達154倍的加速。

2.3分類算法分類是數(shù)據(jù)挖掘中應用領(lǐng)域極其廣泛的重要技術(shù)之一,至今已經(jīng)提出很多算法。分類算法[28]是一種監(jiān)督學習,通過對已知類別訓練集的分析,從中發(fā)現(xiàn)分類規(guī)則,以此預測新數(shù)據(jù)的類別。分類算法是將一個未知樣本分到幾個已存在類的過程,主要包含兩個步驟:首先,根據(jù)類標號已知的訓練數(shù)據(jù)集,訓練并構(gòu)建一個模型,用于描述預定的數(shù)據(jù)類集或概念集;其次,使用所獲得的模型對新的數(shù)據(jù)進行分類。近年來,許多研究已經(jīng)轉(zhuǎn)向?qū)崿F(xiàn)基于GPU加速分類算法,包括k-NN(k近鄰)分類算法[29],支持向量機分類算法[30],貝葉斯分類算法[31-32]等。kNN算法[33]是數(shù)據(jù)挖掘中應用最廣泛的一種分類算法,簡單易實現(xiàn)。它是一種典型的基于實例的學習法,將待判定的檢驗元組與所有的訓練元組進行比較,挑選與其最相似的k個訓練數(shù)據(jù),基于相應的標簽和一定的選舉規(guī)則來決定其標簽。在ShenshenLiang等人的文章[34]指出,由于kNN算法是一種惰性學習法,對于每個待分類的樣本,它都需要計算其與訓練樣本庫中所有樣本的距離,然后通過排序,才能得到與待分類樣本最相鄰的k個鄰居。那么當遇到大規(guī)模數(shù)據(jù)并且是高維樣本時,kNN算法的時間復雜度和空間復雜度將會很高,造成執(zhí)行效率低下,無法勝任大數(shù)據(jù)分析任務(wù)。所以加速距離的計算是提高kNN算法的核心問題。因為每個待分類的樣本都可以獨立地進行kNN分類,前后之間沒有計算順序上的相關(guān)性,因此可以采用GPU并行運算方法解決kNN算法串行復雜度高的問題。將計算測試集和訓練集中點與點之間的距離和排序一步采用GPU并行化完成,其余如判斷類標號一步難以在GPU上高效實現(xiàn),由CPU完成。文獻[34]通過GPU并行化實現(xiàn)kNN算法,讓kNN算法時間復雜度大幅度減少,從而說明GPU對kNN算法的加速效果是非常明顯的。

2.4關(guān)聯(lián)分析算法關(guān)聯(lián)規(guī)則挖掘是數(shù)據(jù)挖掘中較成熟和重要的研究方法,旨在挖掘事務(wù)數(shù)據(jù)庫頻繁出現(xiàn)的項集。因此,挖掘關(guān)聯(lián)規(guī)則的問題可以歸結(jié)為挖掘頻繁項集[35]。關(guān)聯(lián)分析算法首先找出所有的頻繁項集,然后根據(jù)最小支持度和最小置信度從頻繁項集中產(chǎn)生強關(guān)聯(lián)規(guī)則。Apriori算法[36]是最有影響力的挖掘布爾關(guān)聯(lián)規(guī)則頻繁項目集的經(jīng)典算法。Apriori算法使用逐層搜索的迭代方法產(chǎn)生頻繁項目集,即利用k頻繁項集來產(chǎn)生(k+1)項集,是一種基于生成候選項集的關(guān)聯(lián)規(guī)則挖掘方法。在劉瑩等人的文章[37]中指出,產(chǎn)生候選項和計算支持度,占據(jù)Apriori的大部分計算量。產(chǎn)生候選項的任務(wù)是連接兩個頻繁項集,而這個任務(wù)在不同線程之間是獨立的,所以這個過程適合在GPU上被并行化。通過掃描交易數(shù)據(jù)庫,計算支持度程序記錄一個候選項集出現(xiàn)的次數(shù)。由于每個候選項集的計數(shù)與其他項集的計數(shù)相對獨立,同樣適合于多線程并行。所以文獻[37]的作者們在實現(xiàn)Apriori時使用GPU并行化了產(chǎn)生候選項和計算支持度這兩個過程,取得了顯著的加速效果。文獻[38]是目前發(fā)現(xiàn)的對于在GPU上實現(xiàn)頻繁項集挖掘最全面細致的研究。他們使用的是早期的CUDA平臺,采用了bitmap和trie兩種數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)GPU的挖掘算法,并且根據(jù)不同數(shù)據(jù)集和支持度進行了算法性能的對比,均相對于CPU版本的算法獲得的一定的加速比。

2.5時序分析由于越來越多的數(shù)據(jù)都與時間有著密切的關(guān)系,時序數(shù)據(jù)作為數(shù)據(jù)挖掘研究的重要分支之一,越來越受到人們的重視。其研究的目的主要包括以下兩個方面:一是學習待觀察過程過去的行為特征;二是預測未來該過程的可能狀態(tài)或表現(xiàn)。時序數(shù)據(jù)挖掘主要包含以下幾個主要任務(wù):數(shù)據(jù)預處理,時序數(shù)據(jù)表示,分割,相似度度量,分類,聚類等。這些任務(wù)中很多都涉及到相當大的計算量。由于問題規(guī)模的不斷擴大,并且對于實時性能的要求,時序數(shù)據(jù)挖掘的任務(wù)就必須要求充分地提高計算速度或者通過優(yōu)化減少計算量。時序數(shù)據(jù)的表示有時候會采取特征來表示,這就涉及到了特征提取問題,當特征數(shù)量龐大的時候就需要進行維數(shù)約簡,主要的方法有奇異值分解法,離散小波變換。這些計算都涉及到很大的時間復雜度,為了減少計算的時間消耗,SheetalLahabar等人使用GPU加速SVD的計算,獲得了60多倍的加速效果[39]。動態(tài)時間彎曲(DynamicTimeWarping,DTW)起初被應用于文本數(shù)據(jù)匹配和視覺模式識別的研究領(lǐng)域,是一種相似性度量算法。研究表明這種基于非線性彎曲技術(shù)的算法可以獲得很高的識別、匹配精度。Berndt和Clifford提出了將DTW的概念引入小型時間序列分析領(lǐng)域,在初步的實驗中取得了較好的結(jié)果[40]。隨著問題規(guī)模的擴大,對于DTW的計算成為了時序數(shù)據(jù)挖掘的首先要處理的問題。在DTW中,搜索需要找出與訓練數(shù)據(jù)最近距離的樣本,這就需要搜索與每個訓練樣本的距離,這就可以很好的利用GPU進行并行化處理。DorukSart等人在對DTW加速的處理中,獲得了兩個數(shù)量級的加速效果[41]。而對于分類和聚類任務(wù)的加速,上面已經(jīng)提到,這里不再累贅。

2.6深度學習深度學習雖然隸屬機器學習,但鑒于機器學習和數(shù)據(jù)挖掘領(lǐng)域的緊密聯(lián)系,深度學習必定將在數(shù)據(jù)挖掘領(lǐng)域獲得越來越多的應用。從2006年Hinton和他的學生Salakhutdinov在《科學》上發(fā)表的文章[42]開始,深度學習在學術(shù)界持續(xù)升溫。深度學習的實質(zhì)是通過構(gòu)建具有很多隱層的機器學習模型和海量的訓練數(shù)據(jù),來學習更有用的特征,從而最終提升分類預測的準確性[43]。如何在工程上利用大規(guī)模的并行計算平臺來實現(xiàn)海量數(shù)據(jù)訓練,是各個機構(gòu)從事深度學習技術(shù)研發(fā)首先要解決的問題。傳統(tǒng)的大數(shù)據(jù)平臺如Hadoop,由于數(shù)據(jù)處理延遲太高而不適合需要頻繁迭代的深度學習。神經(jīng)網(wǎng)絡(luò)一般基于大量相似的神經(jīng)元,故本質(zhì)上可以高度并行化訓練;通過映射到GPU,可以實現(xiàn)比單純依賴CPU顯著地提升。谷歌搭建的DistBelief是一個采用普通服務(wù)器的深度學習并行計算平臺,采用異步算法,由很多計算單元獨立更新同一個參數(shù)服務(wù)器的模型參數(shù),實現(xiàn)了隨機梯度下降算法的并行化,加快了模型訓練速度。百度的多GPU并行計算平臺克服了傳統(tǒng)SGD訓練不能并行的技術(shù)難題,神經(jīng)網(wǎng)絡(luò)的訓練已經(jīng)可以在海量語料上并行展開。NVIDIA在2014年9月推出了深度學習GPU加速庫cuDNN,可以方便地嵌入高層級機器學習框架中使用,例如Caffe[45]。cuDNN支持NVIDIA的全系列GPU,包括低端的TegraK1和高端的TeslaK40,并承諾可向上支持未來的GPU。

2.7小結(jié)并行化能帶來多少倍的加速取決于算法中可并行化的部分。例如,如果可并行部分的時間占整個應用程序執(zhí)行時間的20%,那么即使將并行部分加速100倍,總執(zhí)行時間也只能減少19.8%,整個應用程序的加速只有1.247倍;即使無限加速也只能減少約20%的執(zhí)行時間,總加速不會超過1.25倍。對于一個數(shù)據(jù)挖掘(學習和預測)算法進行GPU加速實現(xiàn),首先要思考是否存在可并行執(zhí)行的部分,之后再結(jié)合GPU的架構(gòu)特點進行針對性實現(xiàn)優(yōu)化。然而,由于數(shù)據(jù)挖掘算法普遍是數(shù)據(jù)密集型計算,而GPU片內(nèi)存儲容量有限,如何降低與內(nèi)存交換數(shù)據(jù)集是一個要解決的關(guān)鍵問題。通過以上相關(guān)工作的分析,可以發(fā)現(xiàn)數(shù)據(jù)挖掘算法在GPU上的加速具有數(shù)據(jù)獨立,可并行化共同特征。本文提出數(shù)據(jù)挖掘算法在GPU上加速實現(xiàn)的一種解決思路:在大數(shù)據(jù)下,分析算法的性能瓶頸,從而確定算法中耗時大,時間復雜度高的部分,將此部分在GPU上執(zhí)行,不耗時部分在CPU上串行執(zhí)行,以達到加速效果。為了更充分利用GPU的并行計算的體系結(jié)構(gòu),可深入分析耗時大的部分,將具有數(shù)據(jù)獨立,可并行化的部分在GPU上并行執(zhí)行,達到更進一步的加速效果。

3實踐和分析:協(xié)同過濾推薦

當前主要的協(xié)同過濾推薦算法有兩類:基于用戶(r-based)和基于項目(item-based)的協(xié)同過濾推薦算法。基于項目的協(xié)同過濾推薦算法[46-50]認為,項目間的評分具有相似性,可以通過用戶對目標項目的若干相似項目的評分來估計該項目的分值?;谟脩舻膮f(xié)同過濾推薦算法認為,如果用戶對一些項目的評分比較相似,那么他們對其他項目的評分也比較相似。本文根據(jù)以上總結(jié)的算法特征圍繞兩種經(jīng)典協(xié)同過濾算法的實現(xiàn),通過大規(guī)模數(shù)據(jù)的實驗來驗證GPU相對于傳統(tǒng)CPU的優(yōu)勢。

3.1算法實現(xiàn)

3.1.1基于CPU實現(xiàn)協(xié)同過濾推薦的兩類經(jīng)典算法本文基于MATLAB實現(xiàn)CPU版本的基于用戶和基于項目的兩種經(jīng)典協(xié)同過濾推薦算法。實現(xiàn)的步驟:1)數(shù)據(jù)表示:收集用戶的評分數(shù)據(jù),并進行數(shù)據(jù)清理、轉(zhuǎn)換,最終形成一個mn的用戶-項目評分矩陣R,m和n分別代表矩陣中的用戶數(shù)和項目數(shù),矩陣中的元素代表用戶對項目的評分值。2)最近鄰居搜索:主要完成對目標用戶/項目的最近鄰居的查找。通過計算目標用戶/項目與其他用戶/項目之間的相似度,算出與目標用戶/項目最相似的最近鄰居集。該過程分兩步完成:首先采用協(xié)同過濾推薦算法中運用較多的度量方法“Pearson相關(guān)系數(shù)”計算用戶/項目之間的相似度得到相應的相似度矩陣,其次是采用最近鄰方法找到目標用戶/項目的最近的K個鄰居,這些鄰居是由與目標相似度最高的一些用戶/項目組成的。3)產(chǎn)生推薦:根據(jù)之前計算好的用戶/項目之間的相似度,并使用相應的預測評分函數(shù)對用戶未打分的項目進行預測,得到預測評分矩陣,然后選擇預測評分最高的Top-n項推薦給目標用戶。4)性能評估:本研究擬采用平均絕對誤差MAE作為評價推薦系統(tǒng)預測質(zhì)量的評價標準。MAE可以直觀地對預測質(zhì)量進行度量,是最常用的一種方法。MAE通過計算預測的用戶評分與實際評分之間的偏差度量預測的準確性;MAE越小,預測質(zhì)量越高。

3.1.2基于GPU實現(xiàn)協(xié)同過濾推薦的兩類經(jīng)典算法在大數(shù)據(jù)下,協(xié)同過濾算法中主要的時間消耗在于相似度計算模塊,占了整個算法的大部分時間,且每個用戶/項目之間的相似度可以被獨立計算,不依靠其他用戶/項目,具備并行化的條件,所以在以下的實驗中,將相似度計算模塊在GPU上執(zhí)行,其他部分在CPU上執(zhí)行,進而提高整個算法的執(zhí)行效率。使用MATLAB編程技術(shù)和JACKET編程技術(shù)在GPU上分別實現(xiàn)基于用戶和基于項目的兩種經(jīng)典協(xié)同過濾推薦算法。實現(xiàn)步驟如下:1)數(shù)據(jù)表示:收集用戶的評分數(shù)據(jù),并進行數(shù)據(jù)清理、轉(zhuǎn)換,最終形成用戶-項目評分矩陣。2)將收集的數(shù)據(jù)從CPU傳輸至GPU。3)對傳輸?shù)紾PU上的數(shù)據(jù)執(zhí)行GPU操作,調(diào)用相關(guān)函數(shù)庫,采用公式(1)和(2)分別計算并獲取用戶/項目間的相似度矩陣。4)將GPU計算結(jié)果返回CPU中以便后續(xù)操作。5)采用公式(3)和(4)在CPU上分別獲取兩種經(jīng)典算法的評分預測矩陣。6)選擇預測評分最高的Top-n項推薦給目標用戶。7)采用公式(5)求兩種經(jīng)典算法的平均絕對誤差MAE。

3.2實驗結(jié)果與分析

3.2.1實驗環(huán)境本實驗所用的CPU是IntelXeonE52687W,核心數(shù)量是八核,主頻率是3.1GHz,內(nèi)存大小是32GB;所使用的GPU是NVIDIAQuadroK4000,顯存容量是3GB,顯存帶寬是134GB/s核心頻率是811MHz,流處理器數(shù)是768個。使用Windows764位操作系統(tǒng),編程環(huán)境使用最新的CUDA。

3.2.2實驗數(shù)據(jù)本實驗使用目前比較常用的MovieLens[56]數(shù)據(jù)集作為測試數(shù)據(jù),該數(shù)據(jù)集從MovieLens網(wǎng)站采集而來,由美國Minnesota大學的GroupLens研究小組提供,數(shù)據(jù)集1包含943個用戶對1682部電影約10萬的評分數(shù)據(jù),數(shù)據(jù)集2包含6040個用戶對3952部電影約100萬的評分數(shù)據(jù),其中每個用戶至少對20部電影進行了評分。評分的范圍是1~5,1表示“很差”,5表示“很好”。實驗需要將每個數(shù)據(jù)集劃分為一個訓練集和一個測試集,每次隨機選出其中80%的評分數(shù)據(jù)用作訓練集,另20%用作測試集。

3.2.3實驗結(jié)果與分析本文采用加速比來比較算法的CPU實現(xiàn)和GPU實現(xiàn)的運行效率。計算加速比的方法如式(6)所示:在公式中,TimeCPU表示算法在CPU上的平均運行時間,TimeGPU表示算法在GPU上的平均運行時間。所有實驗中均取最近鄰居數(shù)為20,且各實驗結(jié)果均為5次獨立測試的平均值。圖2是關(guān)于兩個算法核心步驟的加速效果,而圖3則展示了算法整體加速效果。可以看出,(1)整體加速效果取決于核心步驟的加速效果,(2)GPU版本的算法在性能上較CPU版本有較顯著地優(yōu)勢,且面對大數(shù)據(jù)集的加速效果更為明顯。例如在基于100萬條數(shù)據(jù)集時,Item-based的整體算法的加速比達到了14倍左右,而面對10萬條數(shù)據(jù)集時,加速比不到8倍。這可以解釋為GPU的多核優(yōu)勢在面對大數(shù)據(jù)集時被更為充分地得到釋放;(3)算法對r-based和Item-based兩種算法的加速比相近。圖4是關(guān)于算法預測效果的評估,可以看出基于GPU加速的兩類經(jīng)典協(xié)同過濾算法與基于CPU的兩類經(jīng)典協(xié)同過濾算法在預測效果上相近。如果結(jié)合圖2和圖3,可獲得結(jié)論-能夠基于GPU獲得得可觀的計算加速而不犧牲應用效果。

3.3小結(jié)

本文通過使用JACKET加快開發(fā)過程。目前國內(nèi)還缺少對JACKET的了解和應用,JACKET的出現(xiàn)為科學領(lǐng)域進行大規(guī)模計算仿真提供了新的研究方法,并使得研究人員可以在熟悉的MATLAB平臺上實現(xiàn)相關(guān)算法。

4結(jié)束語