• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    通過GPU 加速數(shù)據(jù)挖掘的研究進(jìn)展和實(shí)踐

    2015-04-17 02:45:34戴春娥陳維斌傅順開李志強(qiáng)
    關(guān)鍵詞:數(shù)據(jù)挖掘協(xié)同算法

    戴春娥,陳維斌,傅順開,李志強(qiáng)

    DAI Chun’e,CHEN Weibin,FU Shunkai,LI Zhiqiang

    華僑大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,福建 廈門361021

    College of Computer Science and Technology,Huaqiao University,Xiamen,Fujian 361021,China

    1 引言

    數(shù)據(jù)挖掘是一個(gè)從大量歷史數(shù)據(jù)中發(fā)現(xiàn)有趣模式的過程[1],目前已經(jīng)應(yīng)用在商務(wù)智能、Web 搜索、金融、數(shù)字圖書館等領(lǐng)域。數(shù)據(jù)挖掘?qū)ι鐣?huì)具有很大影響,并且未來這種影響將繼續(xù)。隨著信息技術(shù)和互聯(lián)網(wǎng)的快速發(fā)展,各領(lǐng)域收集的數(shù)據(jù)規(guī)模已經(jīng)達(dá)到TB 甚至PB 量級(jí),這對(duì)計(jì)算速度提出了嚴(yán)峻挑戰(zhàn)。

    GPU(Graphics Processing Unit)是相對(duì)于CPU 的一個(gè)概念,伴隨著多媒體計(jì)算需求的迅猛增長而被意識(shí)到,并最終成為一個(gè)獨(dú)立于傳統(tǒng)CPU 的處理器。如今,GPU 已經(jīng)不再局限于3D 圖形處理了,GPU 通用計(jì)算技術(shù)發(fā)展已經(jīng)引起業(yè)界不少的關(guān)注,事實(shí)也證明在浮點(diǎn)運(yùn)算、并行計(jì)算等部分計(jì)算方面,GPU 可以提供數(shù)十倍乃至上百倍于CPU 的性能。相比CPU 而言,GPU 有以下特點(diǎn)[2-3]:(l)GPU 通常具有更大的內(nèi)存帶寬;(2)GPU 具有更多的執(zhí)行單元;(3)GPU 較同等級(jí)的CPU 具有價(jià)格優(yōu)勢。基于GPU 高性能和性價(jià)比等優(yōu)勢,現(xiàn)在GPU 的應(yīng)用已經(jīng)擴(kuò)展到了圖形領(lǐng)域之外的范圍內(nèi),如數(shù)值天氣預(yù)報(bào)[4],地質(zhì)勘探[5]、代數(shù)計(jì)算[6-7]、分子動(dòng)力學(xué)模擬[8]、數(shù)據(jù)庫操作[9]等。

    本文首先介紹GPU 特性和主流編程模型,隨后著重介紹已有的通過GPU 加速經(jīng)典數(shù)據(jù)挖掘算法的工作,包括聚類、分類、關(guān)聯(lián)分析、時(shí)序分析以及當(dāng)下熱門的深度學(xué)習(xí),并討論適合于GPU 加速數(shù)據(jù)挖掘算法的特征。最后,分別基于CPU 和GPU 實(shí)現(xiàn)協(xié)同過濾算法,通過大規(guī)模實(shí)驗(yàn)比較和驗(yàn)證GPU 對(duì)加速數(shù)據(jù)挖掘傳統(tǒng)算法的效果和效率,為未來進(jìn)一步深入研究奠定基礎(chǔ)。

    2 基于GPU 的計(jì)算和編程

    2.1 GPU

    GPU 之所以在某些應(yīng)用中較CPU 能夠獲得更高的性能,主要是因?yàn)镚PU 和CPU 在硬件結(jié)構(gòu)設(shè)計(jì)上存在很大差異。如圖1 所示[10],GPU 將大量的晶體管用作ALU 計(jì)算單元,從而適應(yīng)密集且可并行的圖像渲染計(jì)算處理需要。相對(duì)GPU 而言,CPU 卻是將更多的晶體管用作復(fù)雜的控制單元和緩存等非計(jì)算功能,并以此來提高少量執(zhí)行單元的執(zhí)行效率。

    圖1 CPU 與GPU 中晶體管的使用情況

    此外,存儲(chǔ)帶寬是另一個(gè)重要問題。存儲(chǔ)器到處理器的帶寬已經(jīng)成為許多應(yīng)用程序的瓶頸。目前GPU 的芯片帶寬是CPU 芯片帶寬的6 倍左右[11]。

    2.2 CPU/GPU 協(xié)同并行計(jì)算

    在諸多適用于高性能計(jì)算的體系結(jié)構(gòu)中,采用通用多核CPU 與定制加速協(xié)處理器相結(jié)合的異構(gòu)體系結(jié)構(gòu)成為構(gòu)造千萬億次計(jì)算機(jī)系統(tǒng)的一種可行途徑。而在眾多異構(gòu)混合平臺(tái)中,基于CPU/GPU 異構(gòu)協(xié)同的計(jì)算平臺(tái)具有很大的發(fā)展?jié)摿?。在協(xié)同并行計(jì)算時(shí),CPU 和GPU 應(yīng)各取所長,即CPU 承擔(dān)程序控制,而密集計(jì)算交由GPU 完成。另外,除管理和調(diào)度GPU 計(jì)算任務(wù)外,CPU 也應(yīng)當(dāng)承擔(dān)一部分科學(xué)計(jì)算任務(wù)[12]。

    新型異構(gòu)混合體系結(jié)構(gòu)對(duì)大規(guī)模并行算法研究提出了新的挑戰(zhàn),迫切需要深入研究與該體系結(jié)構(gòu)相適應(yīng)的并行算法。事實(shí)上,目前基于GPU 加速的數(shù)據(jù)挖掘算法實(shí)現(xiàn)都有CPU 參與協(xié)同計(jì)算,只是討論的重點(diǎn)多集中在為適應(yīng)GPU 而進(jìn)行的并行化設(shè)計(jì)上。實(shí)踐中,需要找出密集計(jì)算部分并將其遷移到GPU 中執(zhí)行,剩余部分仍然由CPU 來完成。

    2.3 CUDA

    為了加速GPU通用計(jì)算的發(fā)展,NVIDIA公司在2007年推出統(tǒng)一計(jì)算設(shè)備架構(gòu)(Compute Unified Device Architecture,CUDA)[10,13]。CUDA 編程模型將CPU 作為主機(jī),GPU 作為協(xié)處理器,兩者協(xié)同工作,各司其職。CPU 負(fù)責(zé)進(jìn)行邏輯性強(qiáng)的事務(wù)處理和串行計(jì)算,GPU則專注于執(zhí)行高度線程化的并行處理任務(wù)。CUDA 采用單指令多線程(SIMT)執(zhí)行模式,而內(nèi)核函數(shù)(kernel)執(zhí)行GPU 上的并行計(jì)算任務(wù),是整個(gè)程序中一個(gè)可以被并行執(zhí)行的步驟。CUDA 計(jì)算流程通常包含CPU 到GPU 數(shù)據(jù)傳遞、內(nèi)核函數(shù)執(zhí)行、GPU 到CPU 數(shù)據(jù)傳遞三個(gè)步驟。

    CUDA 不需要借助于圖形學(xué)API,并采用了比較容易掌握的類C/C++語言進(jìn)行開發(fā),為開發(fā)人員有效利用GPU 的強(qiáng)大性能提供了條件。CUDA 被廣泛應(yīng)用于石油勘探、天文計(jì)算、流體力學(xué)模擬、分子動(dòng)力學(xué)仿真、生物計(jì)算和圖像處理等領(lǐng)域,在很多應(yīng)用中獲得了幾倍、幾十倍,乃至上百倍的加速比[13]。

    2.4 并行編程語言和模型

    過去幾十年里,人們相繼提出了很多并行編程語言和模型,其中使用最廣泛的是為可擴(kuò)展的集群計(jì)算設(shè)計(jì)的消息傳遞接口(Message Passing Interface,MPI)和為共享存儲(chǔ)器的多處理器系統(tǒng)設(shè)計(jì)的OpenMP[14]。OpenMP最初是為CPU 執(zhí)行而設(shè)計(jì)的。

    OpenACC[15]是計(jì)算機(jī)廠商為異構(gòu)計(jì)算系統(tǒng)提出的一種新編程模型,其主要優(yōu)勢是為抽象掉許多并行編程細(xì)節(jié)提供了編譯自動(dòng)化和運(yùn)行時(shí)系統(tǒng)支持。這使得應(yīng)用程序在不同廠商的計(jì)算機(jī)和同一廠商不同時(shí)代的產(chǎn)品中保持兼容性。然而,學(xué)習(xí)OpenACC 需要理解所有相關(guān)的并行編程細(xì)節(jié)。

    在MPI 編程模型中,集群中的計(jì)算節(jié)點(diǎn)之間相互不共享存儲(chǔ)器;節(jié)點(diǎn)之間的數(shù)據(jù)共享與交互都通過顯式傳遞消息的方式實(shí)現(xiàn)。MPI 成功應(yīng)用于高性能科學(xué)計(jì)算(HPC)領(lǐng)域?,F(xiàn)在很多HPC 集群采用的是異構(gòu)的CPU/GPU 節(jié)點(diǎn)。在集群層次上,開發(fā)人員使用MPI 進(jìn)行編程,但在節(jié)點(diǎn)層次上,CUDA 是非常高效的編程接口。由于計(jì)算節(jié)點(diǎn)之間缺乏共享存儲(chǔ)器機(jī)制,要把應(yīng)用程序移植到MPI中需要做大量針對(duì)性分析和分解工作。

    包括蘋果公司在內(nèi)的幾大公司在2009 年共同開發(fā)了一套標(biāo)準(zhǔn)編程接口,稱之為OpenCL[16]。與CUDA 類似,OpenCL 編程模型定義了語言擴(kuò)展和運(yùn)行時(shí)API,使程序員可以在大規(guī)模并行處理中進(jìn)行并行管理和數(shù)據(jù)傳遞。與CUDA 相比,OpenCL 更多地依賴API,而不是語言的擴(kuò)展,這允許廠商快速調(diào)整現(xiàn)有編譯器和工具來處理OpenCL 程序。OpenCL 和CUDA 在關(guān)鍵概念和特性上有諸多相似之處,因此CUDA 程序員可以很快掌握OpenCL。

    2.5 MATLAB

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

    2.6 JACKET 引擎

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

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

    3.1 基于CPU 的數(shù)據(jù)挖掘算法實(shí)現(xiàn)

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

    3.2 聚類算法

    聚類是數(shù)據(jù)挖掘中用來發(fā)現(xiàn)數(shù)據(jù)分布和隱含模式的一種無監(jiān)督學(xué)習(xí),每個(gè)訓(xùn)練元組的類標(biāo)號(hào)是未知的,并且要學(xué)習(xí)的個(gè)數(shù)或集合也可能事先不知道。對(duì)于給定的數(shù)據(jù)集,聚類算法按照一定的度量,將數(shù)據(jù)對(duì)象分組為多個(gè)簇,使得在同一個(gè)簇中的對(duì)象之間具有較高的相似度,而不同簇中的對(duì)象差別很大[22-23]。k-Means 算法是經(jīng)典的基于距離/劃分的聚類分析算法,也是應(yīng)用得最廣泛的算法之一,采用距離作為相似性的評(píng)價(jià)指標(biāo),即認(rèn)為兩個(gè)對(duì)象距離越近,其相似度就越大。k-Means算法的流程如下[24]:

    輸入:簇的數(shù)目k和包含n個(gè)對(duì)象數(shù)據(jù)集D。

    輸出:k個(gè)簇的集合。

    方法:

    (1)從D中任意選擇k個(gè)對(duì)象作為初始簇中心。計(jì)算每個(gè)數(shù)據(jù)對(duì)象到各簇中心的歐氏距離,將每個(gè)數(shù)據(jù)對(duì)象分配到最相似的簇中。

    (2)重新計(jì)算每個(gè)簇中對(duì)象的均值。

    (3)循環(huán)執(zhí)行步驟2~3 兩個(gè)步驟,直到各個(gè)簇內(nèi)對(duì)象不再變化。

    上述算法步驟2 屬于計(jì)算密度最大的部分,且具備并行化的條件。計(jì)算各個(gè)數(shù)據(jù)對(duì)象到各簇中心的歐氏距離和將數(shù)據(jù)對(duì)象分配到最近的簇的時(shí)候,數(shù)據(jù)對(duì)象之間都是相互獨(dú)立的,不需要進(jìn)行交換,且沒有先后順序,后計(jì)算的對(duì)象不需要等待前一次計(jì)算的結(jié)果,僅在完成全部分配過程之后,才需要進(jìn)行一次數(shù)據(jù)匯總。所以文獻(xiàn)[25]的作者們使用GPU 并行優(yōu)化了一維數(shù)據(jù)的k-Means 算法的步驟2,并使用帶緩存機(jī)制的常數(shù)存儲(chǔ)器保存中心點(diǎn)數(shù)據(jù),能獲得更好的讀取效率。文獻(xiàn)中還展示了實(shí)驗(yàn)結(jié)果,在8600GT 上取得了14 倍左右的加速效果。

    DBSCAN 屬于基于密度的聚類算法中最常被引用的,G-DBSCAN 是它的一個(gè)GPU 加速版本[26]。文獻(xiàn)[26]的實(shí)驗(yàn)顯示較DBSCAN 可以實(shí)現(xiàn)高達(dá)112 倍的加速。

    BIRCH 是經(jīng)典的基于層次的聚類算法,文獻(xiàn)[27]中基于CUDA 實(shí)現(xiàn)的GPU 加速版本在實(shí)驗(yàn)中獲得了高達(dá)154 倍的加速。

    3.3 分類算法

    分類是數(shù)據(jù)挖掘中應(yīng)用領(lǐng)域極其廣泛的重要技術(shù)之一,至今已經(jīng)提出很多算法。分類算法[28]是一種監(jiān)督學(xué)習(xí),通過對(duì)已知類別訓(xùn)練集的分析,從中發(fā)現(xiàn)分類規(guī)則,以此預(yù)測新數(shù)據(jù)的類別。分類算法是將一個(gè)未知樣本分到幾個(gè)已存在類的過程,主要包含兩個(gè)步驟:首先,根據(jù)類標(biāo)號(hào)已知的訓(xùn)練數(shù)據(jù)集,訓(xùn)練并構(gòu)建一個(gè)模型,用于描述預(yù)定的數(shù)據(jù)類集或概念集;其次,使用所獲得的模型對(duì)新的數(shù)據(jù)進(jìn)行分類。近年來,許多研究已經(jīng)轉(zhuǎn)向?qū)崿F(xiàn)基于GPU 加速分類算法,包括k-NN(k近鄰)分類算法[29],支持向量機(jī)分類算法[30],貝葉斯分類算法[31-32]等。

    kNN 算法[33]是數(shù)據(jù)挖掘中應(yīng)用最廣泛的一種分類算法,簡單易實(shí)現(xiàn)。它是一種典型的基于實(shí)例的學(xué)習(xí)法,將待判定的檢驗(yàn)元組與所有的訓(xùn)練元組進(jìn)行比較,挑選與其最相似的k個(gè)訓(xùn)練數(shù)據(jù),基于相應(yīng)的標(biāo)簽和一定的選舉規(guī)則來決定其標(biāo)簽。

    在Shenshen Liang 等人的文章[34]指出,由于kNN 算法是一種惰性學(xué)習(xí)法,對(duì)于每個(gè)待分類的樣本,它都需要計(jì)算其與訓(xùn)練樣本庫中所有樣本的距離,然后通過排序,才能得到與待分類樣本最相鄰的k個(gè)鄰居。那么當(dāng)遇到大規(guī)模數(shù)據(jù)并且是高維樣本時(shí),kNN 算法的時(shí)間復(fù)雜度和空間復(fù)雜度將會(huì)很高,造成執(zhí)行效率低下,無法勝任大數(shù)據(jù)分析任務(wù)。所以加速距離的計(jì)算是提高kNN 算法的核心問題。因?yàn)槊總€(gè)待分類的樣本都可以獨(dú)立地進(jìn)行kNN 分類,前后之間沒有計(jì)算順序上的相關(guān)性,因此可以采用GPU 并行運(yùn)算方法解決kNN 算法串行復(fù)雜度高的問題。將計(jì)算測試集和訓(xùn)練集中點(diǎn)與點(diǎn)之間的距離和排序一步采用GPU 并行化完成,其余如判斷類標(biāo)號(hào)一步難以在GPU 上高效實(shí)現(xiàn),由CPU 完成。文獻(xiàn)[34]通過GPU 并行化實(shí)現(xiàn)kNN 算法,讓kNN算法時(shí)間復(fù)雜度大幅度減少,從而說明GPU 對(duì)kNN 算法的加速效果是非常明顯的。

    3.4 關(guān)聯(lián)分析算法

    關(guān)聯(lián)規(guī)則挖掘是數(shù)據(jù)挖掘中較成熟和重要的研究方法,旨在挖掘事務(wù)數(shù)據(jù)庫頻繁出現(xiàn)的項(xiàng)集。因此,挖掘關(guān)聯(lián)規(guī)則的問題可以歸結(jié)為挖掘頻繁項(xiàng)集[35]。關(guān)聯(lián)分析算法首先找出所有的頻繁項(xiàng)集,然后根據(jù)最小支持度和最小置信度從頻繁項(xiàng)集中產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則。

    Apriori 算法[36]是最有影響力的挖掘布爾關(guān)聯(lián)規(guī)則頻繁項(xiàng)目集的經(jīng)典算法。Apriori 算法使用逐層搜索的迭代方法產(chǎn)生頻繁項(xiàng)目集,即利用k頻繁項(xiàng)集來產(chǎn)生(k+1)項(xiàng)集,是一種基于生成候選項(xiàng)集的關(guān)聯(lián)規(guī)則挖掘方法。在劉瑩等人的文章[37]中指出,產(chǎn)生候選項(xiàng)和計(jì)算支持度,占據(jù)Apriori 的大部分計(jì)算量。產(chǎn)生候選項(xiàng)的任務(wù)是連接兩個(gè)頻繁項(xiàng)集,而這個(gè)任務(wù)在不同線程之間是獨(dú)立的,所以這個(gè)過程適合在GPU 上被并行化。通過掃描交易數(shù)據(jù)庫,計(jì)算支持度程序記錄一個(gè)候選項(xiàng)集出現(xiàn)的次數(shù)。由于每個(gè)候選項(xiàng)集的計(jì)數(shù)與其他項(xiàng)集的計(jì)數(shù)相對(duì)獨(dú)立,同樣適合于多線程并行。所以文獻(xiàn)[37]的作者們?cè)趯?shí)現(xiàn)Apriori 時(shí)使用GPU 并行化了產(chǎn)生候選項(xiàng)和計(jì)算支持度這兩個(gè)過程,取得了顯著的加速效果。

    文獻(xiàn)[38]是目前發(fā)現(xiàn)的對(duì)于在GPU 上實(shí)現(xiàn)頻繁項(xiàng)集挖掘最全面細(xì)致的研究。他們使用的是早期的CUDA平臺(tái),采用了bitmap 和trie 兩種數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)GPU 的挖掘算法,并且根據(jù)不同數(shù)據(jù)集和支持度進(jìn)行了算法性能的對(duì)比,均相對(duì)于CPU 版本的算法獲得的一定的加速比。

    3.5 時(shí)序分析

    由于越來越多的數(shù)據(jù)都與時(shí)間有著密切的關(guān)系,時(shí)序數(shù)據(jù)作為數(shù)據(jù)挖掘研究的重要分支之一,越來越受到人們的重視。其研究的目的主要包括以下兩個(gè)方面:一是學(xué)習(xí)待觀察過程過去的行為特征;二是預(yù)測未來該過程的可能狀態(tài)或表現(xiàn)。

    時(shí)序數(shù)據(jù)挖掘主要包含以下幾個(gè)主要任務(wù):數(shù)據(jù)預(yù)處理,時(shí)序數(shù)據(jù)表示,分割,相似度度量,分類,聚類等。這些任務(wù)中很多都涉及到相當(dāng)大的計(jì)算量。由于問題規(guī)模的不斷擴(kuò)大,并且對(duì)于實(shí)時(shí)性能的要求,時(shí)序數(shù)據(jù)挖掘的任務(wù)就必須要求充分地提高計(jì)算速度或者通過優(yōu)化減少計(jì)算量。

    時(shí)序數(shù)據(jù)的表示有時(shí)候會(huì)采取特征來表示,這就涉及到了特征提取問題,當(dāng)特征數(shù)量龐大的時(shí)候就需要進(jìn)行維數(shù)約簡,主要的方法有奇異值分解法,離散小波變換。這些計(jì)算都涉及到很大的時(shí)間復(fù)雜度,為了減少計(jì)算的時(shí)間消耗,Sheetal Lahabar 等人使用GPU 加速SVD 的計(jì)算,獲得了60 多倍的加速效果[39]。

    動(dòng)態(tài)時(shí)間彎曲(Dynamic Time Warping,DTW)起初被應(yīng)用于文本數(shù)據(jù)匹配和視覺模式識(shí)別的研究領(lǐng)域,是一種相似性度量算法。研究表明這種基于非線性彎曲技術(shù)的算法可以獲得很高的識(shí)別、匹配精度。Berndt和Clifford 提出了將DTW 的概念引入小型時(shí)間序列分析領(lǐng)域,在初步的實(shí)驗(yàn)中取得了較好的結(jié)果[40]。隨著問題規(guī)模的擴(kuò)大,對(duì)于DTW 的計(jì)算成為了時(shí)序數(shù)據(jù)挖掘的首先要處理的問題。在DTW 中,搜索需要找出與訓(xùn)練數(shù)據(jù)最近距離的樣本,這就需要搜索與每個(gè)訓(xùn)練樣本的距離,這就可以很好地利用GPU 進(jìn)行并行化處理。Doruk Sart 等人在對(duì)DTW 加速的處理中,獲得了兩個(gè)數(shù)量級(jí)的加速效果[41]。

    而對(duì)于分類和聚類任務(wù)的加速,上面已經(jīng)提到,這里不再累贅。

    3.6 深度學(xué)習(xí)

    深度學(xué)習(xí)雖然隸屬機(jī)器學(xué)習(xí),但鑒于機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘領(lǐng)域的緊密聯(lián)系,深度學(xué)習(xí)必定將在數(shù)據(jù)挖掘領(lǐng)域獲得越來越多的應(yīng)用。從2006 年Hinton 和他的學(xué)生Salakhutdinov 在《科學(xué)》上發(fā)表的文章[42]開始,深度學(xué)習(xí)在學(xué)術(shù)界持續(xù)升溫。

    深度學(xué)習(xí)的實(shí)質(zhì)是通過構(gòu)建具有很多隱層的機(jī)器學(xué)習(xí)模型和海量的訓(xùn)練數(shù)據(jù),來學(xué)習(xí)更有用的特征,從而最終提升分類預(yù)測的準(zhǔn)確性[43]。

    如何在工程上利用大規(guī)模的并行計(jì)算平臺(tái)來實(shí)現(xiàn)海量數(shù)據(jù)訓(xùn)練,是各個(gè)機(jī)構(gòu)從事深度學(xué)習(xí)技術(shù)研發(fā)首先要解決的問題。傳統(tǒng)的大數(shù)據(jù)平臺(tái)如Hadoop,由于數(shù)據(jù)處理延遲太高而不適合需要頻繁迭代的深度學(xué)習(xí)。神經(jīng)網(wǎng)絡(luò)一般基于大量相似的神經(jīng)元,故本質(zhì)上可以高度并行化訓(xùn)練;通過映射到GPU,可以實(shí)現(xiàn)比單純依賴CPU 顯著的提升。

    谷歌搭建的DistBelief[44]是一個(gè)采用普通服務(wù)器的深度學(xué)習(xí)并行計(jì)算平臺(tái),采用異步算法,由很多計(jì)算單元獨(dú)立更新同一個(gè)參數(shù)服務(wù)器的模型參數(shù),實(shí)現(xiàn)了隨機(jī)梯度下降算法的并行化,加快了模型訓(xùn)練速度。百度的多GPU 并行計(jì)算平臺(tái)克服了傳統(tǒng)SGD 訓(xùn)練不能并行的技術(shù)難題,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練已經(jīng)可以在海量語料上并行展開[43]。

    NVIDIA 在2014 年9 月推出了深度學(xué)習(xí)GPU 加速庫cuDNN,可以方便地嵌入高層級(jí)機(jī)器學(xué)習(xí)框架中使用,例如Caffe[45]。cuDNN 支持NVIDIA 的全系列GPU,包括低端的Tegra K1 和高端的Tesla K40,并承諾可向上支持未來的GPU。

    3.7 小結(jié)

    并行化能帶來多少倍的加速取決于算法中可并行化的部分。例如,如果可并行部分的時(shí)間占整個(gè)應(yīng)用程序執(zhí)行時(shí)間的20%,那么即使將并行部分加速100 倍,總執(zhí)行時(shí)間也只能減少19.8%,整個(gè)應(yīng)用程序的加速只有1.247 倍;即使無限加速也只能減少約20%的執(zhí)行時(shí)間,總加速不會(huì)超過1.25 倍。

    對(duì)于一個(gè)數(shù)據(jù)挖掘(學(xué)習(xí)和預(yù)測)算法進(jìn)行GPU 加速實(shí)現(xiàn),首先要思考是否存在可并行執(zhí)行的部分,之后再結(jié)合GPU 的架構(gòu)特點(diǎn)進(jìn)行針對(duì)性實(shí)現(xiàn)優(yōu)化。然而,由于數(shù)據(jù)挖掘算法普遍是數(shù)據(jù)密集型計(jì)算,而GPU 片內(nèi)存儲(chǔ)容量有限,如何降低與內(nèi)存交換數(shù)據(jù)集是一個(gè)要解決的關(guān)鍵問題。

    通過以上相關(guān)工作的分析,可以發(fā)現(xiàn)數(shù)據(jù)挖掘算法在GPU 上的加速具有數(shù)據(jù)獨(dú)立,可并行化共同特征。本文提出數(shù)據(jù)挖掘算法在GPU 上加速實(shí)現(xiàn)的一種解決思路:在大數(shù)據(jù)下,分析算法的性能瓶頸,從而確定算法中耗時(shí)大,時(shí)間復(fù)雜度高的部分,將此部分在GPU 上執(zhí)行,不耗時(shí)部分在CPU 上串行執(zhí)行,以達(dá)到加速效果。為了更充分利用GPU 的并行計(jì)算的體系結(jié)構(gòu),可深入分析耗時(shí)大的部分,將具有數(shù)據(jù)獨(dú)立,可并行化的部分在GPU 上并行執(zhí)行,達(dá)到更進(jìn)一步的加速效果。

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

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

    4.1 算法實(shí)現(xiàn)

    4.1.1 基于CPU 實(shí)現(xiàn)協(xié)同過濾推薦的兩類經(jīng)典算法

    本文基于MATLAB實(shí)現(xiàn)CPU版本的基于用戶和基于項(xiàng)目的兩種經(jīng)典協(xié)同過濾推薦算法。實(shí)現(xiàn)的步驟[51-55]:

    (1)數(shù)據(jù)表示:收集用戶的評(píng)分?jǐn)?shù)據(jù),并進(jìn)行數(shù)據(jù)清理、轉(zhuǎn)換,最終形成一個(gè)m×n的用戶-項(xiàng)目評(píng)分矩陣R,m和n分別代表矩陣中的用戶數(shù)和項(xiàng)目數(shù),矩陣中的元素代表用戶對(duì)項(xiàng)目的評(píng)分值。

    (2)最近鄰居搜索:主要完成對(duì)目標(biāo)用戶/項(xiàng)目的最近鄰居的查找。通過計(jì)算目標(biāo)用戶/項(xiàng)目與其他用戶/項(xiàng)目之間的相似度,算出與目標(biāo)用戶/項(xiàng)目最相似的最近鄰居集。該過程分兩步完成:首先采用協(xié)同過濾推薦算法中運(yùn)用較多的度量方法“Pearson 相關(guān)系數(shù)”計(jì)算用戶/項(xiàng)目之間的相似度得到相應(yīng)的相似度矩陣,其次是采用最近鄰方法找到目標(biāo)用戶/項(xiàng)目的最近的K個(gè)鄰居,這些鄰居是由與目標(biāo)相似度最高的一些用戶/項(xiàng)目組成的。

    設(shè)用戶u 和用戶v 共同評(píng)分的項(xiàng)目集合用Iuv表示,則用戶u 和用戶v 之間的相似性sim(u,v)通過Pearson相關(guān)系數(shù)來度量,如式(1)所示:

    其中Ru,i表示用戶u 對(duì)項(xiàng)目i的評(píng)分,和分別表示用戶u 和用戶v 對(duì)項(xiàng)目的平均評(píng)分。

    設(shè)對(duì)項(xiàng)目i和項(xiàng)目j共同評(píng)分過的用戶集合用Uij表示,則項(xiàng)目i和項(xiàng)目j之間的相似性sim(i,j) 通過Pearson 相關(guān)系數(shù)來度量,如式(2)所示:

    其中Ru,i表示用戶u 對(duì)項(xiàng)目i的評(píng)分,和分別表示對(duì)項(xiàng)目i和項(xiàng)目j的平均評(píng)分。

    (3)產(chǎn)生推薦:根據(jù)之前計(jì)算好的用戶/項(xiàng)目之間的相似度,并使用相應(yīng)的預(yù)測評(píng)分函數(shù)對(duì)用戶未打分的項(xiàng)目進(jìn)行預(yù)測,得到預(yù)測評(píng)分矩陣,然后選擇預(yù)測評(píng)分最高的Top-n項(xiàng)推薦給目標(biāo)用戶。

    基于用戶的協(xié)同過濾推薦算法的預(yù)測評(píng)分函數(shù),如式(3)所示:

    其中NNu表示用戶u 的最近鄰居集合,sim(u,v)表示用戶u 和最近鄰居v 之間的相似性。

    基于項(xiàng)目的協(xié)同過濾推薦算法的預(yù)測評(píng)分函數(shù),如式(4)所示:

    其中NNi表示項(xiàng)目i的最近鄰居集合,sim(i,j)表示項(xiàng)目i和最近鄰居j之間的相似性。

    (4)性能評(píng)估:本研究擬采用平均絕對(duì)誤差MAE 作為評(píng)價(jià)推薦系統(tǒng)預(yù)測質(zhì)量的評(píng)價(jià)標(biāo)準(zhǔn)。MAE 可以直觀地對(duì)預(yù)測質(zhì)量進(jìn)行度量,是最常用的一種方法。MAE通過計(jì)算預(yù)測的用戶評(píng)分與實(shí)際評(píng)分之間的偏差度量預(yù)測的準(zhǔn)確性;MAE 越小,預(yù)測質(zhì)量越高。假設(shè)預(yù)測用戶對(duì)n個(gè)項(xiàng)目的評(píng)分集合為{r1,r2,…,rn},而用戶實(shí)際上對(duì)這n個(gè)項(xiàng)目相應(yīng)的評(píng)分集合為{w1,w2,…,wn},根據(jù)平均絕對(duì)誤差,如式(5)所示:

    4.1.2 基于GPU 實(shí)現(xiàn)協(xié)同過濾推薦的兩類經(jīng)典算法

    在大數(shù)據(jù)下,協(xié)同過濾算法中主要的時(shí)間消耗在于相似度計(jì)算模塊,占了整個(gè)算法的大部分時(shí)間,且每個(gè)用戶/項(xiàng)目之間的相似度可以被獨(dú)立計(jì)算,不依靠其他用戶/項(xiàng)目,具備并行化的條件,所以在以下的實(shí)驗(yàn)中,將相似度計(jì)算模塊在GPU 上執(zhí)行,其他部分在CPU 上執(zhí)行,進(jìn)而提高整個(gè)算法的執(zhí)行效率。

    使用MATLAB 編程技術(shù)和JACKET 編程技術(shù)在GPU 上分別實(shí)現(xiàn)基于用戶和基于項(xiàng)目的兩種經(jīng)典協(xié)同過濾推薦算法。實(shí)現(xiàn)步驟如下:

    (1)數(shù)據(jù)表示:收集用戶的評(píng)分?jǐn)?shù)據(jù),并進(jìn)行數(shù)據(jù)清理、轉(zhuǎn)換,最終形成用戶-項(xiàng)目評(píng)分矩陣。

    (2)將收集的數(shù)據(jù)從CPU 傳輸至GPU。

    (3)對(duì)傳輸?shù)紾PU 上的數(shù)據(jù)執(zhí)行GPU 操作,調(diào)用相關(guān)函數(shù)庫,采用公式(1)和(2)分別計(jì)算并獲取用戶/項(xiàng)目間的相似度矩陣。

    (4)將GPU 計(jì)算結(jié)果返回CPU 中以便后續(xù)操作。

    (5)采用公式(3)和(4)在CPU 上分別獲取兩種經(jīng)典算法的評(píng)分預(yù)測矩陣。

    (6)選擇預(yù)測評(píng)分最高的Top-n項(xiàng)推薦給目標(biāo)用戶。

    (7)采用公式(5)求兩種經(jīng)典算法的平均絕對(duì)誤差MAE。

    4.2 實(shí)驗(yàn)結(jié)果與分析

    4.2.1 實(shí)驗(yàn)環(huán)境

    本實(shí)驗(yàn)所用的CPU 是Intel Xeon E5 2687W,核心數(shù)量是八核,主頻率是3.1 GHz,內(nèi)存大小是32 GB;所使用的GPU是NVIDIA Quadro K4000,顯存容量是3 GB,顯存帶寬是134 GB/s 核心頻率是811 MHz,流處理器數(shù)是768 個(gè)。使用Windows7 64 位操作系統(tǒng),編程環(huán)境使用最新的CUDA。

    4.2.2 實(shí)驗(yàn)數(shù)據(jù)

    本實(shí)驗(yàn)使用目前比較常用的MovieLens[56]數(shù)據(jù)集作為測試數(shù)據(jù),該數(shù)據(jù)集從MovieLens 網(wǎng)站(http://movielens.umn.edu/)采集而來,由美國Minnesota 大學(xué)的GroupLens 研究小組提供,數(shù)據(jù)集1 包含943 個(gè)用戶對(duì)1 682部電影約10 萬的評(píng)分?jǐn)?shù)據(jù),數(shù)據(jù)集2 包含6 040 個(gè)用戶對(duì)3 952 部電影約100 萬的評(píng)分?jǐn)?shù)據(jù),其中每個(gè)用戶至少對(duì)20 部電影進(jìn)行了評(píng)分。評(píng)分的范圍是1~5,1 表示“很差”,5 表示“很好”。實(shí)驗(yàn)需要將每個(gè)數(shù)據(jù)集劃分為一個(gè)訓(xùn)練集和一個(gè)測試集,每次隨機(jī)選出其中80%的評(píng)分?jǐn)?shù)據(jù)用作訓(xùn)練集,另20%用作測試集。

    4.2.3 實(shí)驗(yàn)結(jié)果與分析

    本文采用加速比來比較算法的CPU 實(shí)現(xiàn)和GPU 實(shí)現(xiàn)的運(yùn)行效率。計(jì)算加速比的方法如式(6)所示:

    在公式中,TimeCPU表示算法在CPU 上的平均運(yùn)行時(shí)間,TimeGPU表示算法在GPU 上的平均運(yùn)行時(shí)間。所有實(shí)驗(yàn)中均取最近鄰居數(shù)為20,且各實(shí)驗(yàn)結(jié)果均為5 次獨(dú)立測試的平均值。

    圖2 是關(guān)于兩個(gè)算法核心步驟的加速效果,而圖3則展示了算法整體加速效果??梢钥闯觯海?)整體加速效果取決于核心步驟的加速效果。(2)GPU 版本的算法在性能上較CPU 版本有較顯著的優(yōu)勢,且面對(duì)大數(shù)據(jù)集的加速效果更為明顯。例如在基于100 萬條數(shù)據(jù)集時(shí),Item-based 的整體算法的加速比達(dá)到了14 倍左右,而面對(duì)10 萬條數(shù)據(jù)集時(shí),加速比不到8 倍。這可以解釋為GPU 的多核優(yōu)勢在面對(duì)大數(shù)據(jù)集時(shí)被更為充分地得到釋放。(3)算法對(duì)User-based 和Item-based 兩種算法的加速比相近。

    圖2 計(jì)算相似度加速比

    圖4 是關(guān)于算法預(yù)測效果的評(píng)估,可以看出基于GPU 加速的兩類經(jīng)典協(xié)同過濾算法與基于CPU 的兩類經(jīng)典協(xié)同過濾算法在預(yù)測效果上相近。如果結(jié)合圖2和圖3,可獲得結(jié)論-能夠基于GPU 獲得可觀的計(jì)算加速而不犧牲應(yīng)用效果。

    圖3 整體算法加速比

    圖4 算法的MAE 比較

    4.3 小結(jié)

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

    5 結(jié)束語

    本文既對(duì)基于GPU 加速經(jīng)典數(shù)據(jù)挖掘的研究進(jìn)行了分類回顧和小結(jié),也實(shí)踐了基于GPU 加速協(xié)同過濾計(jì)算,通過和基于CPU 的版本對(duì)比,確實(shí)可以實(shí)現(xiàn)可觀的效率提升。這對(duì)深入研究將GPU 應(yīng)用到大數(shù)據(jù)處理場景可以積累寶貴的一手經(jīng)驗(yàn),并在已知的尚未基于GPU 加速的數(shù)據(jù)挖掘算法有的放矢。

    [1] Han Jiawei,Kamber M,Pei Jian.Data Mining:concepts and techniques[M].3rd ed.[S.l.]:Morgan Kaufmann,2012:5-8.

    [2] Owens J D,Houston M,Luebke D,et al.GPU computing[J].Proceedings of the IEEE,2008,96(5):879-899.

    [3] NVIDIA CUDA Zone[EB/OL].(2012-03-09).http://developer.nvidia.com/page/home.html.

    [4] Michalakes J,Vachharajani M.GPU acceleration of numerical weather prediction[J].Parallel Processing Letters,2008,18(4):531-548.

    [5] 劉欽,佟小龍.GPU/CPU 協(xié)同并行計(jì)算(CPPC)在地震勘探資料處理中的應(yīng)用[R].2008.

    [6] Bell N,Garland M.Implementing sparse matrix-vector multiplication on throughput-oriented processors[C]//Proceedings of the Conference on High Performance Computing Networking,Storage and Analysis.ACM,2009.

    [7] Bolz J,F(xiàn)armer I,Grinspun E,et al.Sparse matrix solvers on the GPU:conjugate gradients and multigrid[C]//ACM Transactions on Graphics(TOG).ACM,2003,22(3):917-924.

    [8] Stone J E,Phillips J C,F(xiàn)reddolino P L,et al.Accelerating molecular modeling applications with graphics processors[J].Journal of Computational Chemistry,2007,28(16):2618-2640.

    [9] Govindaraju N K,Lloyd B,Wang W,et al.Fast computation of database operations using graphics processors[C]//Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data.ACM,2004:215-226.

    [10] NVIDIA Corporation.NVIDIA CUDA programming guide version 2.3.1[R].2009:1-3.

    [11] David B K,Wen-mei W H.Programming massively parallel processors:A handson approach[M].2nd ed.[S.l.]:Elsevier Inc,2006.

    [12] 盧風(fēng)順,宋君強(qiáng),銀???,等.CPU/GPU 協(xié)同并行計(jì)算研究綜述[J].計(jì)算機(jī)科學(xué),2011(3):5-9.

    [13] 張舒,褚艷利.GPU 高性能運(yùn)算之CUDA[M].北京:中國水利水電出版社,2009:1-13.

    [14] Dagum L,Menon R.OpenMP:an industry standard APfor shared-memory programming[J].Computational Science& Engineering.IEEE,1998,5(1):46-55.

    [15] Wienke S,Springer P,Terboven C,et al.OpenACC—first experiences with real-world applications[M]//Euro-Par 2012 Parallel Processing.Berlin Heidelberg:Springer,2012:859-870.

    [16] Breitbart J,F(xiàn)ohry C.OpenCL-an effective programming model for data parallel computations at the cell broadband engine[C]//2010 IEEE International Symposium on Parallel & Distributed Processing,Workshops and Phd Forum(IPDPSW).IEEE,2010:1-8.

    [17] 王恒,高建瓴.基于GPU 的MATLAB 計(jì)算與仿真研究[J].貴州大學(xué)學(xué)報(bào):自然科學(xué)版,2012,6:95-98.

    [18] Mark H,Eibe F,Geoffrey H,et al.The WEKA data mining software:An update[J].SIGKDD Explorations,2009,11(1).

    [19] Jeffry D,Sanjay G.MapReduce:Simplied data processing on large clusters[C]//Proceedings of 6th Symposium on Operating System Design and Implementation(OSDI),2004.

    [20] Sean O,Robin A,Ted D,et al.Mahout in action[M].[S.l.]:Manning Publications,2011.

    [21] Cheng-Tao C,Sang K K,Yi-An L,et al.Map-Reduce for machine learning on multicore[C]//Proceedings of 20th Neural Information Processing Systems(NIPS),2006:281-288.

    [22] 孫吉貴,劉杰,趙連宇.聚類算法研究[J].軟件學(xué)報(bào),2008,19(1):48-61.

    [23] 周濤,陸惠玲.數(shù)據(jù)挖掘中聚類算法研究進(jìn)展[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(12):100-111.

    [24] 周愛武,于亞飛.K-Means 聚類算法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(2):62-65.

    [25] Farivar R,Rebolledo D,Chan E,et al.A parallel implementation of K-Means Clustering on GPUs[C]//Proceedings of the 2008 International Conference on Parallel and Distributed Processing Techniques and Applications.[S.l.]:Springer-Verlag,2008:340-345.

    [26] Guilherme A,Gabriel R,Daniel M,et al.G-DBSCAN:A GPU accelerated algorithm for density-based clustering[J].Procedia Computer Science,2013,18:369-378.

    [27] Jianqiang D,F(xiàn)ei W,Bo Y.Accelerating BIRCH for clustering large scale streaming data using CUDA dynamic parallelism[C]//Proceedings of 14th International Conference on Intelligent Data Engineering and Automated Learning(IDEAL),2013.

    [28] 郭煒星.數(shù)據(jù)挖掘分類算法研究[D].杭州:浙江大學(xué),2008.

    [29] Garcia V,Debreuve E,Barlaud M.Fastknearest neighbor search using GPU[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.IEEE,2008:1-6.

    [30] Catanzaro B,Sundaram N,Keutzer K.Fast support vector machine training and classification on graphics processors[C]//Proceedings of the 25th International Conference on Machine Learning.ACM,2008:104-111.

    [31] Andrade G,Viegas F,Ramos G S,et al.GPU-NB:A fast CUDA-based implementation of Na?ve Bayes[C]//2013 25th International Symposium on Computer Architecture and High Performance Computing(S BAC-PAD).IEEE,2013:168-175.

    [32] 劉琳,何劍鋒,王紅玲.GPU 加速數(shù)據(jù)挖掘算法的研究[J].鄭州工業(yè)大學(xué)學(xué)報(bào):理學(xué)版,2010,42(2):31-34.

    [33] 潘麗芳,楊炳儒.基于簇的K最近鄰(KNN)分類算法研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(18):4260-4262.

    [34] Liang S,Liu Y,Wang C,et al.A CUDA-based parallel implementation of K-nearest neighbor algorithm[C]//International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery.IEEE,2009:291-296.

    [35] Han J,Cheng H,Xin D,et al.Frequent pattern mining:current status and future directions[J].Data Mining and Knowledge Discovery,2007,15(1):55-86.

    [36] 崔貫勛,李梁,王柯柯,等.關(guān)聯(lián)規(guī)則挖掘中Apriori 算法的研究與改進(jìn)[J].計(jì)算機(jī)應(yīng)用,2010(11):2952-2955.

    [37] 劉瑩,菅立恒,梁莘燊,等.基于CUDA 架構(gòu)的GPU 的并行數(shù)據(jù)挖掘技術(shù)研究[J].科研信息化技術(shù)與應(yīng)用,2010(4):38-52.

    [38] Fang W,Lu M,Xiao X,et al.Frequent itemset mining on graphics processors[C]//Proceedings of the Fifth International Workshop on Data Management on New Hardware.ACM,2009:34-42.

    [39] Lahabar S,Narayanan P J.Singular value decomposition on GPU using CUDA[C]//2009 IEEE International Symposium on Parallel & Distributed Processing.IEEE,2009:1-10.

    [40] Berndt D J,Clifford J.Using dynamic time warping to find patterns in time series[C]//KDD Workshop,1994,10(16):359-370.

    [41] Sart D,Mueen A,Najjar W,et al.Accelerating dynamic time warping subsequence search with GPUs and FPGAs[C]//2010 IEEE 10th International Conference on Data Mining(ICDM).IEEE,2010:1001-1006.

    [42] Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.

    [43] 余凱,賈磊,陳雨強(qiáng),等.深度學(xué)習(xí)的昨天、今天和明天[J].計(jì)算機(jī)研究與發(fā)展,2013,50(9):1799-1804.

    [44] Dean J,Corrado G,Monga R,et al.Large scale distributed deep networks[C]//Advances in Neural Information Processing Systems,2012:1223-1231.

    [45] Yang Q J.Caffe:An open source convolutional architecture for fast feature embedding[Z].2013.

    [46] 鄧愛林,左子葉,朱揚(yáng)勇.基于項(xiàng)目聚類的協(xié)同過濾推薦算法[J].小型微型計(jì)算機(jī)系統(tǒng),2004(9):1665-1670.

    [47] Sarwar B,Karypis G,Konstan J,et al.Item-based collaborative filtering recommendation algorithms[C]//Proceedings of the 10th International Conference on World Wide Web.ACM,2001:285-295.

    [48] 鄧愛林,朱揚(yáng)勇,施伯樂.基于項(xiàng)目評(píng)分預(yù)測的協(xié)同過濾推薦算法[J].軟件學(xué)報(bào),2003(9):1621-1628.

    [49] 張忠平,郭獻(xiàn)麗.一種優(yōu)化的基于項(xiàng)目評(píng)分預(yù)測的協(xié)同過濾推薦算法[J].計(jì)算機(jī)應(yīng)用研究,2008(9):2658-2660.

    [50] 孫光福,吳樂,劉淇,等.基于時(shí)序行為的協(xié)同過濾推薦算法[J].軟件學(xué)報(bào),2013(11):2721-2733.

    [51] Ekstrand M D,Ridel J T,Konstan J A.Collaborative filtering recommender systems[M].Hanover:Now Publishers Inc,2010:81-173.

    [52] 王國霞,劉賀平.個(gè)性化推薦系統(tǒng)綜述[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(7):66-76.

    [53] Jannach D,Zanker M,F(xiàn)elfernig A,et al.推薦系統(tǒng)[M].蔣凡,譯.北京:人民郵電出版社,2013:8-13.

    [54] 項(xiàng)亮.推薦系統(tǒng)實(shí)踐[M].北京:人民郵電出版社,2012:184-186.

    [55] 張瑤,陳維斌,傅順開.協(xié)同過濾推薦研究綜述[J].微型機(jī)與應(yīng)用,2013(6):4-6.

    [56] Grouplens.MovieLens[EB/OL].[2014-02-13].http://grouplens.org.University of Minnesota.

    猜你喜歡
    數(shù)據(jù)挖掘協(xié)同算法
    探討人工智能與數(shù)據(jù)挖掘發(fā)展趨勢
    蜀道難:車與路的協(xié)同進(jìn)化
    基于MapReduce的改進(jìn)Eclat算法
    Travellng thg World Full—time for Rree
    “四化”協(xié)同才有出路
    汽車觀察(2019年2期)2019-03-15 06:00:50
    進(jìn)位加法的兩種算法
    基于并行計(jì)算的大數(shù)據(jù)挖掘在電網(wǎng)中的應(yīng)用
    電力與能源(2017年6期)2017-05-14 06:19:37
    三醫(yī)聯(lián)動(dòng) 協(xié)同創(chuàng)新
    一種改進(jìn)的整周模糊度去相關(guān)算法
    一種基于Hadoop的大數(shù)據(jù)挖掘云服務(wù)及應(yīng)用
    天天躁夜夜躁狠狠久久av| 18禁在线无遮挡免费观看视频| 国产 精品1| 亚洲图色成人| 国产白丝娇喘喷水9色精品| 久久99蜜桃精品久久| 亚洲自偷自拍三级| 午夜福利视频精品| 99久久综合免费| 欧美xxxx黑人xx丫x性爽| 久久久久精品久久久久真实原创| 一个人免费看片子| 亚洲欧美一区二区三区国产| 另类亚洲欧美激情| 亚洲色图综合在线观看| 亚洲综合色惰| 免费观看在线日韩| 国产精品麻豆人妻色哟哟久久| 激情五月婷婷亚洲| 久久久久久伊人网av| 精品国产三级普通话版| 午夜日本视频在线| 男的添女的下面高潮视频| 久久鲁丝午夜福利片| 午夜免费观看性视频| 精品视频人人做人人爽| 色5月婷婷丁香| 成人毛片60女人毛片免费| 99久久精品热视频| 国产亚洲一区二区精品| 新久久久久国产一级毛片| 久久久久国产网址| 亚洲av成人精品一二三区| 国产黄片视频在线免费观看| a级毛色黄片| 久久久精品免费免费高清| 黑丝袜美女国产一区| 亚洲欧美精品专区久久| 在线观看三级黄色| 亚洲精品日本国产第一区| 中文字幕人妻熟人妻熟丝袜美| 日韩国内少妇激情av| 亚洲av中文av极速乱| 中文精品一卡2卡3卡4更新| 王馨瑶露胸无遮挡在线观看| 又爽又黄a免费视频| 精品少妇黑人巨大在线播放| 日本av免费视频播放| a级毛片免费高清观看在线播放| 毛片女人毛片| 亚洲av在线观看美女高潮| 欧美人与善性xxx| 日本黄大片高清| 日日撸夜夜添| 能在线免费看毛片的网站| 午夜精品国产一区二区电影| 女性生殖器流出的白浆| 国产成人91sexporn| 午夜福利视频精品| 老熟女久久久| 欧美区成人在线视频| 国产精品av视频在线免费观看| 国产免费视频播放在线视频| 国产在线一区二区三区精| 岛国毛片在线播放| 精品一区二区免费观看| 丰满少妇做爰视频| 国产成人精品一,二区| av.在线天堂| 成人国产av品久久久| 国产精品99久久久久久久久| 久久99精品国语久久久| 视频中文字幕在线观看| 成年免费大片在线观看| 欧美激情极品国产一区二区三区 | 亚洲美女搞黄在线观看| 精品国产一区二区三区久久久樱花 | 色哟哟·www| 在线 av 中文字幕| 日韩视频在线欧美| 日日啪夜夜撸| 久久青草综合色| 亚洲成人一二三区av| 亚洲性久久影院| 亚洲一区二区三区欧美精品| 精品少妇久久久久久888优播| 欧美丝袜亚洲另类| 欧美+日韩+精品| 街头女战士在线观看网站| 我要看日韩黄色一级片| 国产精品国产三级国产专区5o| 国产精品人妻久久久久久| 午夜福利在线在线| 少妇裸体淫交视频免费看高清| 国产亚洲一区二区精品| 少妇高潮的动态图| 最近最新中文字幕免费大全7| 欧美日韩国产mv在线观看视频 | 多毛熟女@视频| 欧美精品亚洲一区二区| 97超碰精品成人国产| 婷婷色麻豆天堂久久| 在线观看国产h片| 国产精品国产三级国产专区5o| 熟女av电影| 国产精品偷伦视频观看了| 久久影院123| 国产69精品久久久久777片| 人妻一区二区av| 国产极品天堂在线| 日本爱情动作片www.在线观看| 免费看日本二区| 久久精品国产亚洲av涩爱| 美女主播在线视频| 精品久久久久久久末码| 黄色欧美视频在线观看| 国产一区二区三区av在线| 天堂8中文在线网| 美女高潮的动态| 亚洲久久久国产精品| 国产精品福利在线免费观看| 99热网站在线观看| 欧美少妇被猛烈插入视频| 亚洲国产欧美在线一区| 欧美高清成人免费视频www| 蜜桃亚洲精品一区二区三区| 国产国拍精品亚洲av在线观看| 搡女人真爽免费视频火全软件| 免费播放大片免费观看视频在线观看| 国产欧美另类精品又又久久亚洲欧美| 日本wwww免费看| 日本wwww免费看| 国产亚洲欧美精品永久| 一级二级三级毛片免费看| 毛片一级片免费看久久久久| 久久久色成人| 水蜜桃什么品种好| 一级av片app| 亚洲av在线观看美女高潮| 国产日韩欧美在线精品| 亚洲,欧美,日韩| 女性生殖器流出的白浆| 国产精品福利在线免费观看| 18禁在线播放成人免费| 直男gayav资源| 亚洲电影在线观看av| 午夜激情久久久久久久| 网址你懂的国产日韩在线| 久久久久久伊人网av| 成年人午夜在线观看视频| 99久久精品一区二区三区| 国产精品福利在线免费观看| 18禁裸乳无遮挡免费网站照片| 成人美女网站在线观看视频| 亚洲激情五月婷婷啪啪| 亚洲精品久久午夜乱码| 直男gayav资源| 三级国产精品欧美在线观看| 超碰av人人做人人爽久久| 久久久久久久国产电影| 纵有疾风起免费观看全集完整版| 噜噜噜噜噜久久久久久91| 亚洲av综合色区一区| 成人免费观看视频高清| 麻豆国产97在线/欧美| 国产视频内射| 成人免费观看视频高清| 国产精品人妻久久久影院| 国产 精品1| 在线精品无人区一区二区三 | 热re99久久精品国产66热6| 久久久久国产网址| av免费在线看不卡| 国产熟女欧美一区二区| 国产精品爽爽va在线观看网站| 干丝袜人妻中文字幕| 成人亚洲精品一区在线观看 | 亚洲国产成人一精品久久久| 成人毛片60女人毛片免费| 丰满迷人的少妇在线观看| 国产精品蜜桃在线观看| 99视频精品全部免费 在线| 九色成人免费人妻av| 欧美丝袜亚洲另类| 国产精品久久久久久久电影| 免费大片18禁| 中文字幕人妻熟人妻熟丝袜美| 精品人妻偷拍中文字幕| 久久午夜福利片| 精品视频人人做人人爽| 精品国产三级普通话版| 亚洲欧美日韩另类电影网站 | 亚洲国产精品一区三区| 中文在线观看免费www的网站| 国产女主播在线喷水免费视频网站| 亚洲精品日韩在线中文字幕| 亚洲精品国产av成人精品| 午夜免费观看性视频| av免费观看日本| 久久国内精品自在自线图片| 亚洲国产日韩一区二区| 欧美国产精品一级二级三级 | 看十八女毛片水多多多| 亚洲精品国产色婷婷电影| 18禁动态无遮挡网站| 欧美日韩一区二区视频在线观看视频在线| 天美传媒精品一区二区| 精品一品国产午夜福利视频| 视频区图区小说| 亚洲四区av| 91狼人影院| 国产精品秋霞免费鲁丝片| 乱系列少妇在线播放| 亚洲最大成人中文| 多毛熟女@视频| 免费黄网站久久成人精品| 日本黄大片高清| 这个男人来自地球电影免费观看 | 久久久精品94久久精品| 97在线人人人人妻| 观看av在线不卡| 国产精品久久久久成人av| 国产成人午夜福利电影在线观看| 国产精品人妻久久久影院| 天堂俺去俺来也www色官网| 久久国产精品大桥未久av | 少妇人妻精品综合一区二区| 人妻一区二区av| 国产精品国产三级国产av玫瑰| 人妻系列 视频| 成人亚洲欧美一区二区av| 丰满乱子伦码专区| 久久久久久久亚洲中文字幕| 日本色播在线视频| 亚洲人与动物交配视频| 国产av码专区亚洲av| 中国国产av一级| 精品亚洲成a人片在线观看 | 国产免费又黄又爽又色| 成人国产麻豆网| 国产淫片久久久久久久久| 黄色一级大片看看| 亚洲国产精品一区三区| 国产淫语在线视频| 99久久精品热视频| 欧美日韩亚洲高清精品| 永久免费av网站大全| av国产精品久久久久影院| 精品视频人人做人人爽| 我的女老师完整版在线观看| 亚洲美女搞黄在线观看| 久久久午夜欧美精品| videossex国产| kizo精华| 国产精品免费大片| 久久精品国产亚洲av天美| 九九在线视频观看精品| 99久久中文字幕三级久久日本| 99视频精品全部免费 在线| 一个人看视频在线观看www免费| av福利片在线观看| 久久久久久久亚洲中文字幕| 看免费成人av毛片| 亚洲中文av在线| 黄色一级大片看看| 国产免费一级a男人的天堂| 亚洲综合色惰| 观看美女的网站| 秋霞在线观看毛片| 欧美变态另类bdsm刘玥| 欧美最新免费一区二区三区| 亚洲精品aⅴ在线观看| 又大又黄又爽视频免费| 超碰av人人做人人爽久久| 少妇熟女欧美另类| 人妻 亚洲 视频| 国产女主播在线喷水免费视频网站| 国产精品三级大全| 国产中年淑女户外野战色| 人人妻人人澡人人爽人人夜夜| 激情 狠狠 欧美| 最近最新中文字幕大全电影3| 精品人妻视频免费看| 亚洲国产精品成人久久小说| 国产成人精品久久久久久| 久久6这里有精品| 日本与韩国留学比较| 97热精品久久久久久| 内射极品少妇av片p| 亚洲av福利一区| 狠狠精品人妻久久久久久综合| 天天躁夜夜躁狠狠久久av| 春色校园在线视频观看| 亚洲在久久综合| 国国产精品蜜臀av免费| 男人添女人高潮全过程视频| 国产精品一及| 精品亚洲乱码少妇综合久久| 一区二区av电影网| 国产精品蜜桃在线观看| 亚洲天堂av无毛| 最近的中文字幕免费完整| 国产av精品麻豆| 亚洲欧美日韩卡通动漫| 十八禁网站网址无遮挡 | 在线观看免费高清a一片| 亚洲精华国产精华液的使用体验| 欧美另类一区| 国产成人a区在线观看| 视频区图区小说| 亚洲精品中文字幕在线视频 | 精品人妻视频免费看| 欧美精品亚洲一区二区| 国产永久视频网站| 国产片特级美女逼逼视频| 精品国产露脸久久av麻豆| 久久青草综合色| 亚洲精品一二三| 亚洲欧洲日产国产| 成年女人在线观看亚洲视频| 国产亚洲91精品色在线| 一级爰片在线观看| 中国三级夫妇交换| 国产亚洲av片在线观看秒播厂| 少妇丰满av| 欧美3d第一页| 91aial.com中文字幕在线观看| 日韩 亚洲 欧美在线| 三级国产精品欧美在线观看| 国产精品熟女久久久久浪| 欧美日韩综合久久久久久| 国产高清有码在线观看视频| 久久鲁丝午夜福利片| 在线观看美女被高潮喷水网站| a级一级毛片免费在线观看| 亚洲av福利一区| 中文在线观看免费www的网站| 99热国产这里只有精品6| 91精品国产九色| 自拍偷自拍亚洲精品老妇| 亚洲欧美一区二区三区国产| 日韩av在线免费看完整版不卡| 最近手机中文字幕大全| 99视频精品全部免费 在线| 在线观看免费高清a一片| 免费看光身美女| 国产精品一区二区在线不卡| 国产精品国产av在线观看| 国产成人免费观看mmmm| 精品亚洲成国产av| 亚洲精品乱久久久久久| 亚洲第一av免费看| 大码成人一级视频| 观看免费一级毛片| 丰满人妻一区二区三区视频av| 欧美高清性xxxxhd video| 婷婷色综合大香蕉| 久久久久久人妻| 亚洲天堂av无毛| 男人狂女人下面高潮的视频| 日本色播在线视频| 国产精品久久久久久精品古装| 99精国产麻豆久久婷婷| 能在线免费看毛片的网站| .国产精品久久| 久久韩国三级中文字幕| 亚洲成色77777| 久久6这里有精品| 不卡视频在线观看欧美| 久久 成人 亚洲| 国产欧美亚洲国产| 久久 成人 亚洲| 女人久久www免费人成看片| 一区二区三区四区激情视频| 亚洲中文av在线| 国产免费视频播放在线视频| 人人妻人人澡人人爽人人夜夜| 美女福利国产在线 | 免费不卡的大黄色大毛片视频在线观看| 久久久久久久久久久丰满| 又大又黄又爽视频免费| 久久久久久久久久久丰满| 亚洲国产av新网站| 高清在线视频一区二区三区| 国产成人91sexporn| 97在线人人人人妻| 各种免费的搞黄视频| 国产成人a区在线观看| 爱豆传媒免费全集在线观看| 国产色婷婷99| 有码 亚洲区| a级一级毛片免费在线观看| 色哟哟·www| av视频免费观看在线观看| 欧美另类一区| 色5月婷婷丁香| 日韩成人av中文字幕在线观看| 欧美激情国产日韩精品一区| 最近中文字幕高清免费大全6| 久久av网站| 少妇裸体淫交视频免费看高清| 99国产精品免费福利视频| 人人妻人人添人人爽欧美一区卜 | av一本久久久久| 18+在线观看网站| 激情 狠狠 欧美| 国产伦理片在线播放av一区| 综合色丁香网| 成人亚洲精品一区在线观看 | 一个人看视频在线观看www免费| 欧美日韩视频高清一区二区三区二| 亚洲,欧美,日韩| 国产黄片视频在线免费观看| 亚洲经典国产精华液单| 夜夜骑夜夜射夜夜干| av在线蜜桃| 在线 av 中文字幕| 汤姆久久久久久久影院中文字幕| 男人狂女人下面高潮的视频| 亚洲美女视频黄频| 少妇精品久久久久久久| 亚洲内射少妇av| 国产又色又爽无遮挡免| 免费大片18禁| 国产白丝娇喘喷水9色精品| 美女内射精品一级片tv| 午夜福利在线观看免费完整高清在| 久久午夜福利片| 不卡视频在线观看欧美| 一边亲一边摸免费视频| 国产久久久一区二区三区| 国产乱来视频区| 国产精品99久久久久久久久| www.色视频.com| 久久人人爽人人片av| 在线精品无人区一区二区三 | 亚洲熟女精品中文字幕| av国产久精品久网站免费入址| 国产在线男女| 草草在线视频免费看| 99热这里只有是精品在线观看| 肉色欧美久久久久久久蜜桃| 免费观看性生交大片5| h视频一区二区三区| 色婷婷av一区二区三区视频| 成人二区视频| 亚洲精品亚洲一区二区| 亚洲va在线va天堂va国产| 久久鲁丝午夜福利片| 搡老乐熟女国产| 国产淫语在线视频| 一级毛片 在线播放| 国产91av在线免费观看| 2022亚洲国产成人精品| 99久久精品国产国产毛片| 成人免费观看视频高清| 久久人人爽av亚洲精品天堂 | 国产男女内射视频| 国产大屁股一区二区在线视频| 最新中文字幕久久久久| 免费看日本二区| 中文天堂在线官网| 在线免费观看不下载黄p国产| 欧美精品一区二区免费开放| 精品亚洲乱码少妇综合久久| 九色成人免费人妻av| 亚洲无线观看免费| 久久99热这里只有精品18| 街头女战士在线观看网站| 亚洲av综合色区一区| 亚洲欧洲国产日韩| 亚洲av成人精品一区久久| 欧美另类一区| 人妻制服诱惑在线中文字幕| 毛片女人毛片| 男人舔奶头视频| 欧美成人精品欧美一级黄| 少妇人妻久久综合中文| 国产欧美日韩精品一区二区| 久久99热这里只频精品6学生| h日本视频在线播放| 色婷婷久久久亚洲欧美| 免费高清在线观看视频在线观看| 亚洲不卡免费看| 777米奇影视久久| 久久亚洲国产成人精品v| 久久97久久精品| 人人妻人人澡人人爽人人夜夜| 99久久精品国产国产毛片| 91午夜精品亚洲一区二区三区| 免费看日本二区| 国产成人免费观看mmmm| 80岁老熟妇乱子伦牲交| 日本爱情动作片www.在线观看| 成人亚洲欧美一区二区av| 国产精品一区www在线观看| 黄片无遮挡物在线观看| 中文在线观看免费www的网站| 一级a做视频免费观看| 人人妻人人看人人澡| 我要看日韩黄色一级片| 久久久欧美国产精品| 哪个播放器可以免费观看大片| 26uuu在线亚洲综合色| 国产精品99久久99久久久不卡 | 深爱激情五月婷婷| 97超碰精品成人国产| 男女边吃奶边做爰视频| 免费看不卡的av| 天美传媒精品一区二区| 人妻制服诱惑在线中文字幕| 91精品伊人久久大香线蕉| 大陆偷拍与自拍| 成人无遮挡网站| 国产精品一区二区在线观看99| 一区二区三区乱码不卡18| 美女脱内裤让男人舔精品视频| 五月天丁香电影| 成人毛片a级毛片在线播放| 国内精品宾馆在线| 永久网站在线| 国产黄色视频一区二区在线观看| 亚洲欧美一区二区三区黑人 | 日本猛色少妇xxxxx猛交久久| h视频一区二区三区| 男女边吃奶边做爰视频| 人人妻人人看人人澡| 我要看日韩黄色一级片| 日韩,欧美,国产一区二区三区| 国产高清有码在线观看视频| 欧美日本视频| 欧美日韩视频高清一区二区三区二| 五月开心婷婷网| 97热精品久久久久久| 一级毛片黄色毛片免费观看视频| av在线播放精品| 人妻制服诱惑在线中文字幕| 99久久综合免费| 尾随美女入室| 亚洲国产精品一区三区| 在线播放无遮挡| 啦啦啦中文免费视频观看日本| 成人亚洲精品一区在线观看 | 国产深夜福利视频在线观看| 亚洲伊人久久精品综合| 日日啪夜夜爽| 色吧在线观看| 免费人成在线观看视频色| 中国三级夫妇交换| 新久久久久国产一级毛片| 大码成人一级视频| 欧美成人午夜免费资源| 美女主播在线视频| 亚洲人成网站在线播| 亚洲欧美日韩无卡精品| 亚洲av综合色区一区| 五月伊人婷婷丁香| 欧美高清性xxxxhd video| 精品国产乱码久久久久久小说| 熟妇人妻不卡中文字幕| 一区二区av电影网| av在线app专区| 一级片'在线观看视频| h视频一区二区三区| 91久久精品国产一区二区三区| 久久久精品免费免费高清| 久久影院123| 伊人久久精品亚洲午夜| 啦啦啦视频在线资源免费观看| 久久久久久久久久人人人人人人| 欧美成人a在线观看| 欧美区成人在线视频| 99久久精品国产国产毛片| 制服丝袜香蕉在线| 简卡轻食公司| 亚洲av中文av极速乱| 青春草国产在线视频| 婷婷色综合大香蕉| 免费黄网站久久成人精品| www.色视频.com| 99热6这里只有精品| 成年女人在线观看亚洲视频| 欧美精品国产亚洲| 日韩视频在线欧美| 精品一区二区免费观看| 国产国拍精品亚洲av在线观看| 久久国产精品男人的天堂亚洲 | 高清不卡的av网站| 高清午夜精品一区二区三区| 亚洲av免费高清在线观看| 精品人妻偷拍中文字幕| 男人狂女人下面高潮的视频| 汤姆久久久久久久影院中文字幕| 成人二区视频| 精品久久久久久电影网| 久久国产精品男人的天堂亚洲 | 亚洲国产色片| 三级国产精品欧美在线观看| 久久久色成人| 亚洲精品乱码久久久久久按摩| 如何舔出高潮| 亚洲av男天堂| 国产伦精品一区二区三区四那| 欧美日韩视频高清一区二区三区二| 久久女婷五月综合色啪小说| 久久久久精品性色| 精品人妻视频免费看| 又爽又黄a免费视频| 国产精品三级大全| 人妻制服诱惑在线中文字幕| 日本一二三区视频观看| 这个男人来自地球电影免费观看 | 亚洲欧美日韩无卡精品| 直男gayav资源| 男女边吃奶边做爰视频|