999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

關聯規則挖掘算法的多核并行優化*

2011-01-22 03:35:20吳華平鄭曉薇張建強
網絡安全與數據管理 2011年1期
關鍵詞:關聯規則數據庫

吳華平,鄭曉薇,張建強

(遼寧師范大學 計算機與信息技術學院,遼寧 大連 116081)

關聯規則挖掘算法的多核并行優化*

吳華平,鄭曉薇,張建強

(遼寧師范大學 計算機與信息技術學院,遼寧 大連 116081)

分析了并行關聯規則挖掘算法存在的不足,提出了一種改進的關聯規則挖掘的多核并行優化算法。該算法對Apriori算法的壓縮矩陣進行了改造,并在多核平臺下利用OpenMP技術和TBB技術對串行程序進行循環并行化和任務分配的并行化設計,最大限度地實現并行關聯規則挖掘。

關聯規則;Apriori算法;頻繁項集矩陣;OpenMP;TBB;多核并行

海量數據中隱藏著大量的不為人知的模式和知識,尋找有價值的數據模式和知識是數據挖掘研究的主要內容[1]。關聯規則的挖掘是數據挖掘中的一項重要的基礎技術。經典的關聯規則挖掘算法主要有Agrawal等提出的基于Apriori算法的頻繁集方法,該算法以遞歸統計為基礎,以最小支持度為依據剪切生成頻繁集。隨著數據容量的增加,為了提高關聯規則的挖掘效率,研究人員提出了并行挖掘算法[2-3]。這些并行算法都是基于MPI和機群系統實現的,雖然具有速度快、容易實現、要求各節點間同步次數較少等優點,但仍然存在著可擴展性差、網絡通信量大、負載不平衡、處理器空轉、規則合成難度高等缺點。

目前市場上多核處理器已成為主流,比較有代表性的支持多核處理器的并行計算平臺之一的線程構建模塊TBB(Thread Building Blocking),可以在其他多核化工具支持下對串行程序中的可并行化部分進行線程的并行化重構,提升多核處理器平臺的效能,簡化應用程序的并行化過程。本文針對TBB的多核并行編程的優勢,結合OpenMP并行編程,提出了一種改進的關聯規則挖掘多核并行優化算法。該算法對Apriori算法的壓縮矩陣進行了改造,只需掃描一次數據庫,并利用TBB技術最大限度地壓縮矩陣,使矩陣的運算規模逐步減小。它不需要Apriori算法中的自聯接和剪枝,直接通過支持矩陣行向量的按位“與”運算并行地找出頻繁集,減少了數據移動帶來的額外開銷,提高關聯規則挖掘效率。與分布式系統的Apriori并行算法相比,該算法采用多核TBB并行技術,不存在節點間的通信與同步、負載平衡和規則合成難度高等問題。實驗證明該算法具有高效的并行挖掘效率和較高的多核CPU利用率。

1 挖掘關聯規則的串行算法

關聯規則的核心是基于兩階段頻繁項集思想的遞推算法。發現頻繁項集是關聯規則挖掘應用中的技術和步驟。支持度和置信度是關聯規則挖掘中的兩個重要指標,為了計算支持度,需要訪問數據庫。而Agrawal等人提出的挖掘關聯規則串行算法Apriori是首先掃描數據庫,計算每個數據項的支持度,并根據支持度閾值產生頻繁 1-項集 L1;L1用于找頻繁 2-項集 L2,L2而用于找L3,如此逐層迭代的搜索,直到不能找到頻繁k-項集。Apriori算法存在一些難以克服的缺陷:(1)可能產生大量的候選項集,沒有排除不應該參與組合的元素;(2)多次掃描數據庫,大大增加系統的 I/O開銷,并且數據庫有些可以刪除的項或事務被多次掃描;(3)連接程序中相同的項重復較多。針對Apriori算法的缺點,參考文獻[4]將事務數據庫轉換為基于內存的矩陣,在矩陣上找出所需的頻繁項集,從而大大減少了數據庫的掃描次數,但沒有對矩陣進行壓縮。參考文獻[5-6]對矩陣進行了壓縮,但不徹底,而且矩陣數據結構不合理,還額外增加了轉置矩陣。

本文介紹一種改進的基于Apriori算法的挖掘關聯規則的多核并行優化算法。本文改進了參考文獻[4-5]中的矩陣的數據結構:在一個單純的事務矩陣中,添加2個輔助行和1個輔助列,方便矩陣進行徹底的壓縮,使矩陣的規模逐步減小,運算量也大為減少;同時為了配合查找頻繁 k-項集(k>=2)的運算,設置了一個簡單的輔助二維數組,用來記錄下標組合情況。

定義1支持矩陣R:設A為任一給定的事務數據庫,m為事務的個數,n為項目的個數,事務集Ti(i∈m),項目集 Ij(j∈n)。如果 Ij∈Ti(1≤i≤n,1≤j≤m),則支持矩陣rij=1,否則rij=0。為方便矩陣進行徹底地壓縮,再為矩陣添加1列sum_r,記錄每個事務的事務數,即累計每行的項數;為矩陣添加1行sum_c,記錄每個項的項支持度;為矩陣添加一項,記錄項的編碼,則構造支持矩陣 R(m+2)×(n+1)。 支持矩陣 R如圖 1所示。

圖1 支持矩陣R

其中:第一行為記錄項的編碼;最后一行為每個項的支持度;第一列為每個事務的事務數;rij=1|0,(1≤i≤n,1≤j≤m)。

定義3 k-項集支持度:對支持矩陣R中的任意k列向量(除去第一列)進行對位(同行的元素)“與”運算,運算結果中“1”的個數稱為k列向量的k-項集支持度。

根據 k-項集支持度的定義,結合 Apriori性質,可以得到以下性質。

性質 1 Xk是 k-項集,如果頻繁(k-1)-項集 Lk-1中包含Xk的(k-1)-子項集的個數小于k,則Xk不可能是k維最大頻繁項集。證明見參考文獻[6]。

性質 2 設 k為 k-項頻繁項集,若 T?I,且支持矩陣 R(m+2)×(n+1)中 T的事務數等于 k,由于 k-項集對于生成頻繁(k+1)-項集沒有作用,則求(k+1)-項集支持度時,該行事務T可刪除。

性質 3 對于頻繁 k-項集的集合 Lk,如果|Lk|<k+1,則被挖掘的事務數據庫最大頻繁項集的次數為k。其中|Lk|是指 Lk的頻繁 k-項集的個數。

證明:對于頻繁(k+1)-項集 Ix={I1,I2,…,Ik+1},一定有k+1個頻繁k-項子集,若頻繁k-項集的集合Lk元素個數小于k+1,則被挖掘的事務數據庫不存在頻繁(k+1)-項集。利用該性質可以提前終止搜索頻繁集的循環。

2 多核并行編程技術

OpenMP是共享存儲系統編程的工業標準,它具有簡單、移植性好和可擴展等優點。OpenMP規范了一系列的編譯制導、運行時庫函數和環境變量來說明共享存儲結構的并行機制。OpenMP實現的是線程級的并行,線程間通過讀/寫共享變量實現,使用Fork-Join的并行執行模式。

TBB是針對多核平臺開發的一組開源的C++的模板庫,基于GPLv2開源證書,支持可伸縮的并行編程[7-8]。TBB的編程模式通過使用模板來提供常見的并行迭代模式,使程序員即使在不具備很專業的同步、負載平衡、緩存優化等專門知識的情況下,也能夠實現自動調度的并行程序,使得CPU的多個核心處于高效運轉之中。TBB完全支持嵌套的并行,程序員可以很容易地創建自己的并行組件,進而構建大型的并行程序。TBB并行編程指定的是任務,而不是線程[9],并以高效的方式將任務自動映射到線程,程序容易實現,且具有更優的可移植性和可擴展性。

3 關聯規則挖掘算法的多核并行優化

本文在改進算法的同時,運用多核平臺并行編程的優勢,配合采用OpenMP的工作分區sections和并行庫TBB的tbb_parallel_for,可以實現每個工作段都由多個執行核并行執行和負載均衡的并行執行固定數目獨立循環迭代體,用于提高查找頻繁項集的效率。基本流程如圖2所示。

(1)并行掃描數據庫 D,建立支持矩陣 R(m+2)×(n+1)。 TBB先初始化對象,再對包含m個事務n個項目的事務數據 庫 D={T1,T2,… ,Tm},項 目 集 I={I1,I2,… ,Im},運 用OpenMP的工作分區sections并行優化掃描事務數據庫D,建立支持 矩陣 R(m+2)×(n+1)。

圖2 并行優化流程圖

(2)并行求頻繁1-項集。k=1,計算最小事務支持度min_supsh=ceiling(min_sup×m),壓縮矩陣的列,余下的項都是頻繁1-項集。重新計算矩陣的sum_r列和sum_c行。

(3)k=2。

(4)并行壓縮支持矩陣。按照性質1,先統計每個項目I1在頻繁(k-1)-項集中出現的次數 bi,若 bi小于(k-1),則刪除R中Ii對應的矩陣列。重新計算矩陣的sum_r列和sum_c行,按照性質2,刪除不合條件的列和行,直到不能再壓縮為止。

//R支持矩陣 Wp×k存放 P個 k維項組合對

4 實驗及分析

為了驗證基于多核并行技術的改進挖掘關聯規則算法的性能,本文在Intel(R)Pentium(R)D CPU 3.0 GHz、1.86 GHz、1 GB內存的雙核處理器系統上測試了參考文獻[8]的BBM算法,改進的挖掘關聯規則串行算法(以下稱本文串行算法)及改進的挖掘關聯規則的多核并行優化算法(以下簡稱多核并行算法)。從參考文獻[10]選擇數據集進行實驗,事務數據庫共100 000條事務,事務的平均長度為 12。實驗測試結果見表 1,其中,加速比=本文串行執行時間/多核并行執行時間,CPU運行效率=加速比/核數。

表1 三種算法執行時間比較

表1表明,支持度較高時,這三種算法的執行時間差別并不大;但當支持度逐漸降低時,與BBM算法相比,本文串行算法的執行時間要更短,而多核并行算法的執行時間幾乎是本文串行算法的一半,具有高的并行挖掘效率。從加速比和CPU利用率分析,多核并行算法的多核CPU運行效率達到90%左右,充分調度了兩個處理核心的資源,體現了計算機雙核的優勢。

關聯規則技術是數據挖掘中的一種重要的基礎算法,本文在深入研究Apriori算法的基礎上,提出了一種改進的關聯規則挖掘的多核并行優化算法,綜合了布爾矩陣和多核并行編程的優點,節約了存儲空間,減少了執行時間,具有較高的并行挖掘效率和多核CPU的利用率。本算法的設計方法對于相關算法的研究有較好的借鑒作用。

[1]何軍,劉紅巖,杜小勇.挖掘多關系關聯規則[J].軟件學報,2007,18(11).

[2]Boeyen SX.509(2000):4thEdition Overview of PKI&PMI Frameworks.http://www.entrust.com.

[3]何中勝.基于向量的并行關聯規則挖掘算法[J].計算機系統應用,2009,18(3):42-45.

[4]曾萬聘,周緒波,戴勃,等.關聯規則挖掘的矩陣算法[J].計算機工程,2006,32(2):45-47.

[5]張月琴.基于0-1矩陣的頻繁項集挖掘算法研究[J].計算機工程與設計,2009,30(20).

[6]張素蘭.一種基于事務壓縮的關聯規則優化算法[J].計算機工程與設計,2006,27(18):3450-3453.

[7]Reinders J.Intel threading building blocks[M].[s.l.]:O’REILLY 出版社,2007.

[8]胡斌,袁道華.TBB多核編程及其混合編程模型的研究[J].計算機技術與發展,2009,19(2):89-101.

[9]Intel threading building blocks基于任務編程 [OL].http://www.cppprog.com/2009/0401/96_2.html.

[10]ALMADEN I.Quest synthetic data generation code.http://www.almaden.ibm.com/cs/quest/syndata.html.

Matrix compression based on multi-core TBB parallel algorithms for mining association rules

Wu Huaping,Zheng Xiaowei,Zhang Jianqiang

(College of Computer and Information Technology,Liaoning Normal University,Dalian 116081,China)

This paper analyzes the parallel algorithm for mining association rules exist,the paper proposes an improved multicore parallel association rule mining algorithm.The algorithm transforms the compression matrix of Apriori algorithm,and uses OpenMP and TBB technology under multi-core platform to complish cycle of serial procedures and task allocation in parallel of parallel design,to maximize the parallel association rule mining.

association rules;Apriori algorithm;frequent itemsets matrix;OpenMP;TBB;multi-core parallel

TP311

A

1674-7720(2011)01-0004-03

國家自然科學基金項目(No.60603047)

2010-09-05)

吳華平,男,1984年生,碩士研究生,主要研究方向:并行計算,多核計算機系統。

鄭曉薇,女,1957年生,教授,主要研究方向:并行計算,多核計算機系統。

張建強,男,1981年生,碩士研究生,主要研究方向:并行計算,多核計算機系統。

猜你喜歡
關聯規則數據庫
撐竿跳規則的制定
“苦”的關聯
當代陜西(2021年17期)2021-11-06 03:21:36
數獨的規則和演變
奇趣搭配
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
數據庫
財經(2017年2期)2017-03-10 14:35:35
智趣
讀者(2017年5期)2017-02-15 18:04:18
TPP反腐敗規則對我國的啟示
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 亚洲性色永久网址| 在线观看亚洲成人| 沈阳少妇高潮在线| 亚洲人成影视在线观看| 九九九九热精品视频| 狠狠亚洲五月天| 五月天在线网站| 日本在线亚洲| 国产精品永久在线| 五月婷婷丁香色| 国产99久久亚洲综合精品西瓜tv| 欧美视频在线播放观看免费福利资源| 国产亚洲精品自在久久不卡| 国产精品流白浆在线观看| 欧美一区二区三区不卡免费| 亚洲欧美日韩中文字幕一区二区三区| 97青青青国产在线播放| 国产高清不卡视频| 亚洲色欲色欲www网| 麻豆精品久久久久久久99蜜桃| 亚洲无限乱码| a级毛片网| 国产精品亚洲专区一区| 国产精品久久久精品三级| 国产91视频免费观看| 夜夜拍夜夜爽| 99精品国产电影| 不卡的在线视频免费观看| 国产综合在线观看视频| 免费Aⅴ片在线观看蜜芽Tⅴ | 亚洲免费福利视频| 青青草欧美| 欧洲成人在线观看| A级毛片无码久久精品免费| 国产一区二区网站| 71pao成人国产永久免费视频| 韩国福利一区| 国产精彩视频在线观看| 久久久91人妻无码精品蜜桃HD| 国产麻豆精品久久一二三| 亚洲成肉网| 九九热精品在线视频| 久久这里只有精品23| 国产在线视频福利资源站| av一区二区无码在线| 日韩性网站| 国产欧美专区在线观看| 免费黄色国产视频| 男女性色大片免费网站| 亚洲精品成人片在线观看| 免费国产好深啊好涨好硬视频| 亚洲国产午夜精华无码福利| 午夜啪啪福利| 欧美yw精品日本国产精品| 在线免费不卡视频| 久久久久九九精品影院| 国产精品污视频| 国产永久在线观看| 亚洲综合片| 久久久久青草大香线综合精品 | 538国产在线| 久久99这里精品8国产| 欧美a网站| 特级精品毛片免费观看| 国产嫖妓91东北老熟女久久一| 日本一区二区不卡视频| 国产福利不卡视频| 乱系列中文字幕在线视频 | 国产欧美自拍视频| 亚洲AV一二三区无码AV蜜桃| 国产成人1024精品| 国产福利微拍精品一区二区| 久久综合丝袜长腿丝袜| 97国产一区二区精品久久呦| 视频二区亚洲精品| 女人18毛片一级毛片在线 | 中文字幕久久亚洲一区| 视频国产精品丝袜第一页| 国产农村1级毛片| 欧美精品亚洲日韩a| 自慰网址在线观看| 在线观看精品自拍视频|