版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第九章數(shù)據(jù)關(guān)聯(lián)分析大數(shù)據(jù)管理與應(yīng)用——01數(shù)據(jù)關(guān)聯(lián)分析概述02關(guān)聯(lián)規(guī)則分析03序列模式分析數(shù)據(jù)關(guān)聯(lián)分析(AssociationAnalysis)又稱數(shù)據(jù)關(guān)聯(lián)挖掘,是數(shù)據(jù)挖掘(DataMining)中一項(xiàng)基礎(chǔ)又重要的方法,旨在是挖掘隱藏在數(shù)據(jù)間的相互關(guān)系,即通過對(duì)給定的一組項(xiàng)目和一個(gè)記錄集的分析,得出項(xiàng)目集中項(xiàng)目之間的相關(guān)性。其包括兩個(gè)方面,即關(guān)聯(lián)規(guī)則分析(AssociationRulesAnalysis)與序列模式分析(SequencePatternAnalysis)。關(guān)聯(lián)規(guī)則分析關(guān)聯(lián)規(guī)則分析用于尋找數(shù)據(jù)集中各項(xiàng)之間的關(guān)聯(lián)關(guān)系。序列模式分析序列模式分析則側(cè)重于分析數(shù)據(jù)間的前后序列關(guān)系,發(fā)現(xiàn)某一時(shí)間段內(nèi)數(shù)據(jù)的相關(guān)處理,預(yù)測(cè)將來可能出現(xiàn)值的分布。1.1數(shù)據(jù)關(guān)聯(lián)分析的基本概念關(guān)聯(lián)分析可以分為以下幾種類型:按照規(guī)則中處理的變量類型,關(guān)聯(lián)規(guī)則可以分為布爾型和數(shù)值型。布爾型關(guān)聯(lián)規(guī)則處理的是離散的、種類化的值,它顯示了這些變量之間的關(guān)系。數(shù)值型關(guān)聯(lián)規(guī)則可以和多維關(guān)聯(lián)或多層關(guān)聯(lián)規(guī)則結(jié)合起來,對(duì)數(shù)值型字段進(jìn)行處理,將其進(jìn)行動(dòng)態(tài)的分割,或者直接對(duì)原始的數(shù)據(jù)進(jìn)行處理。按照規(guī)則中數(shù)據(jù)的抽象層次,可以分為單層關(guān)聯(lián)規(guī)則和多層關(guān)聯(lián)規(guī)則。在單層的關(guān)聯(lián)規(guī)則中,所有的變量都沒有考慮到現(xiàn)實(shí)的數(shù)據(jù)是具有多個(gè)不同的層次的。而在多層的關(guān)聯(lián)規(guī)則中,對(duì)數(shù)據(jù)的多層性進(jìn)行了充分的考慮。按照規(guī)則中涉及到的數(shù)據(jù)的維數(shù),關(guān)聯(lián)規(guī)則可以分為單維的和多維的。在單維的關(guān)聯(lián)規(guī)則中,只涉及到數(shù)據(jù)的一個(gè)維度,而在多維的關(guān)聯(lián)規(guī)則中,要處理的數(shù)據(jù)將會(huì)涉及多個(gè)維度,即單維關(guān)聯(lián)規(guī)則處理單個(gè)屬性中的一些關(guān)系,多維關(guān)聯(lián)規(guī)則處理多個(gè)屬性之間的某些關(guān)系。1.1數(shù)據(jù)關(guān)聯(lián)分析的基本概念關(guān)聯(lián)分析中最有名的案例是“啤酒與尿布”的故事,沃爾瑪?shù)摹捌【婆c尿布”案例正式刊登在1998年的《哈佛商業(yè)評(píng)論》上面。在美國有嬰兒的家庭中,一般是母親在家中照看嬰兒,年輕的父親前去超市購買尿布。父親在購買尿布的同時(shí),往往會(huì)順便為自己購買啤酒,這樣就會(huì)出現(xiàn)啤酒與尿布這兩件看上去不相干的商品經(jīng)常會(huì)被同時(shí)購買的現(xiàn)象。目前,關(guān)聯(lián)分析已經(jīng)成為一種常用的挖掘算法,其邏輯簡(jiǎn)單、功能強(qiáng)大,被廣泛應(yīng)用于如下場(chǎng)景:產(chǎn)品推薦與引導(dǎo)根據(jù)購買記錄,通過關(guān)聯(lián)分析發(fā)現(xiàn)群體購買習(xí)慣的內(nèi)在共性,指導(dǎo)超市產(chǎn)品擺放。特征篩選在一般使用的相關(guān)性系數(shù)方法中,只能判斷兩個(gè)變量間的相關(guān)性,而通過關(guān)聯(lián)分析得到的規(guī)則,可以判斷多個(gè)變量之間的關(guān)系。1.1數(shù)據(jù)關(guān)聯(lián)分析的基本概念
1.2關(guān)聯(lián)規(guī)則分析
1.2關(guān)聯(lián)規(guī)則分析
1.2關(guān)聯(lián)規(guī)則分析關(guān)聯(lián)規(guī)則分析的建模:算法關(guān)聯(lián)規(guī)則最為經(jīng)典的算法是Apriori算法,由Agrawal等人在1993年提出,其使用的一個(gè)典型的關(guān)聯(lián)規(guī)則的例子是購買輪胎和自動(dòng)配件的顧客中98%的顧客將傾向于同時(shí)接受汽車的保修和保養(yǎng)服務(wù)。但是,Apriori算法需要多次掃描數(shù)據(jù)庫,并且當(dāng)設(shè)置的支持度閾值較小時(shí),容易出現(xiàn)呈爆炸式增長(zhǎng)的“長(zhǎng)”關(guān)聯(lián)規(guī)則。FP-Growth算法采用分而治之的策略,只需要掃描兩次原始數(shù)據(jù)集,它不適用候選集,直接將數(shù)據(jù)庫壓縮成一個(gè)FP-Tree(頻繁模式樹),最后通過這棵樹生成關(guān)聯(lián)規(guī)則。實(shí)驗(yàn)表明,F(xiàn)P-growth對(duì)不同長(zhǎng)度的規(guī)則都有很好的適應(yīng)性,同時(shí)在效率上較Apriori算法有巨大的提高。1.2關(guān)聯(lián)規(guī)則分析Apriori算法:Apriori算法概述假設(shè)一個(gè)商店中有四種在售商品,工作人員想分析出顧客經(jīng)常同時(shí)購買哪幾種商品,從而確定銷售策略。假設(shè)這四種商品分別為商品1、商品2、商品3、商品4。那么一位顧客可能購買的商品組合由圖9-1所示。要完成一家只售賣四種商品的頻繁項(xiàng)集挖掘,需要掃描全部交易記錄15次。隨著商店中商品種類的增長(zhǎng),需要遍歷的次數(shù)呈現(xiàn)指數(shù)增長(zhǎng)。1.2關(guān)聯(lián)規(guī)則分析圖9-1可能購買的商品組合Apriori算法:Apriori算法概述為了提高頻繁項(xiàng)集挖掘的效率,Agrawal提出了一種Apriori原理,其可以大大減少掃描次數(shù)。具體原理為:如果某個(gè)項(xiàng)集是頻繁的,那么它的所有子集都是頻繁的。在圖9-2中,如果已知{1,3}是非頻繁項(xiàng)集,利用Apriori原理,可以推理出{1,2,3}、{1,3,4}、{1,2,3,4}都是非頻繁項(xiàng)集,這樣就可以減少三次掃描。使用該原理可以避免項(xiàng)集數(shù)量的指數(shù)增長(zhǎng),也可以避免極長(zhǎng)的項(xiàng)集出現(xiàn),從而可以在合理時(shí)間內(nèi)找到頻繁項(xiàng)集集合。1.2關(guān)聯(lián)規(guī)則分析圖9-2Apriori原理示例
1.2關(guān)聯(lián)規(guī)則分析TID項(xiàng)集1面包、牛奶、啤酒、尿布2面包、牛奶、啤酒3啤酒、尿布4面包、牛奶、花生表9-1事務(wù)數(shù)據(jù)庫D1.2關(guān)聯(lián)規(guī)則分析
1.2關(guān)聯(lián)規(guī)則分析
FP-growth算法:FP-Growth算法是2000年由JiaweiHan等提出來的。FP-Growth不同于Apriori的“試探”策略,其只需掃描原始數(shù)據(jù)庫兩遍,不使用候選集,直接將數(shù)據(jù)庫壓縮成一個(gè)FP-Tree,然后通過這棵樹生成頻繁項(xiàng)集。FP-Growth算法(偽代碼如算法9-4)主要分為兩個(gè)步驟:FP-Tree構(gòu)建和挖掘頻繁項(xiàng)集。1.2關(guān)聯(lián)規(guī)則分析
1.2關(guān)聯(lián)規(guī)則分析TID事務(wù)001R,Z,H,J,P002Z,Y,X,W,V,U,T,S003Z004R,X,N,O,S005Y,R,X,Z,Q,T,P表9-2事務(wù)數(shù)據(jù)庫TID事務(wù)掃描和排序后結(jié)果001R,Z,H,J,PZ,R,P002Z,Y,X,W,V,U,T,SZ,X,Y,T,S003ZZ004R,X,N,O,SR,X,S005Y,R,X,Z,Q,T,PZ,R,X,Y,T,P表9-3第一次掃描后的排序結(jié)果1.2關(guān)聯(lián)規(guī)則分析圖9-3FP-Tree構(gòu)造過程第二步,第二次掃描事務(wù)數(shù)據(jù)集,構(gòu)造FP-Tree。首先,創(chuàng)建FP樹的根結(jié)點(diǎn),用標(biāo)記。然后,參與掃描的是過濾后的數(shù)據(jù),如果某個(gè)數(shù)據(jù)項(xiàng)是第一次遇到,則創(chuàng)建該結(jié)點(diǎn),并在headTable中添加一個(gè)指向該結(jié)點(diǎn)的指針;否則按路徑找到該項(xiàng)對(duì)應(yīng)的結(jié)點(diǎn),修改該結(jié)點(diǎn)的計(jì)數(shù)。其中,headTable表中記錄著項(xiàng)、項(xiàng)的出現(xiàn)次數(shù)和指向FP-Tree中該項(xiàng)鏈表表頭的指針,見圖9-3中左側(cè)橙色部分(包含表頭指針)。構(gòu)建FP-Tree的過程如圖9-3所示。headTable并不是隨著FP-Tree一起創(chuàng)建,而是在第一次掃描時(shí)就已經(jīng)創(chuàng)建完畢,在創(chuàng)建FP-Tree時(shí)只需要將指針指向相應(yīng)結(jié)點(diǎn)即可。從事務(wù)004開始,需要?jiǎng)?chuàng)建節(jié)點(diǎn)間的連接,使不同路徑上的相同項(xiàng)連接成鏈表,稱其為項(xiàng)鏈表。1.2關(guān)聯(lián)規(guī)則分析例9-2:第二步,F(xiàn)P-Tree構(gòu)造過程算法的偽代碼如算法9-5所示。第三步,由條件FP-Tree產(chǎn)生頻繁項(xiàng)集。其主要過程為:對(duì)頻繁1-項(xiàng)集中的每個(gè)頻繁項(xiàng),構(gòu)造其條件模式基(ConditionalPatternBase),然后構(gòu)造它的條件FP-Tree,在此基礎(chǔ)上挖掘頻繁2-項(xiàng)集。接著,對(duì)頻繁2-項(xiàng)集集合中每個(gè)頻繁項(xiàng)集,重新尋找其條件模式基,構(gòu)造對(duì)應(yīng)的條件FP-Tree,進(jìn)而挖掘頻繁3-項(xiàng)集。以此類推,直到條件FP-Tree中沒有除樹根結(jié)點(diǎn)(?)之外的結(jié)點(diǎn)為止。1.2關(guān)聯(lián)規(guī)則分析圖9-4T的條件FP-Tree例9-2:第三步,由條件FP-Tree產(chǎn)生頻繁項(xiàng)集。對(duì)FP-Tree的headTable中每一個(gè)頻繁項(xiàng),獲得其對(duì)應(yīng)的條件模式基。條件模式基是以所查找項(xiàng)為結(jié)尾的路徑集合,每一條路徑是一條前輟路徑(PerfixPath),也就是介于所査找元素項(xiàng)與樹根結(jié)點(diǎn)之間的所有結(jié)點(diǎn)。利用條件模式基來創(chuàng)建條件FP-Tree,對(duì)每一個(gè)頻繁項(xiàng)都要?jiǎng)?chuàng)建一棵條件FP-Tree。根據(jù)如圖9-4所示的條件FP-Tree挖掘得到頻繁2-項(xiàng)集集合{{T,Z}:2,{T,X}:2,{T,Y}:2},對(duì)每個(gè)頻繁2-項(xiàng)集分別建立其頻繁項(xiàng)集的條件FP-Tree,進(jìn)而得到頻繁3-項(xiàng)集。例9-2:基于表9-2所示的事務(wù)數(shù)據(jù)庫,假設(shè)最小支持度閾值為40%,構(gòu)建FP樹。重復(fù)前三步過程,直到條件FP-Tree中沒有除樹根結(jié)點(diǎn)(?)之外的結(jié)點(diǎn)為止。由(條件)FP-Tree產(chǎn)生頻繁項(xiàng)集的偽代碼表示為算法9-6。1.2關(guān)聯(lián)規(guī)則分析
1.2關(guān)聯(lián)規(guī)則分析TID項(xiàng)集1{面包},{牛奶},{啤酒},{尿布}2{面包,牛奶}3{面包,啤酒}4{牛奶,啤酒}5{啤酒,尿布}6{面包,牛奶,啤酒}表9-5頻繁項(xiàng)集
1.2關(guān)聯(lián)規(guī)則分析序列模式挖掘(SequentialPatternMining,SPM)是指從序列數(shù)據(jù)庫中尋找頻繁子序列作為模式的知識(shí)發(fā)現(xiàn)過程,它是數(shù)據(jù)挖掘的一個(gè)重要的研究課題,在很多領(lǐng)域都有實(shí)際的應(yīng)用價(jià)值,如在DNA分析等尖端科學(xué)研究領(lǐng)域、Web訪問等新型應(yīng)用。通過對(duì)這些領(lǐng)域的數(shù)據(jù)開展序列模式挖掘,可以發(fā)現(xiàn)隱藏的知識(shí),從而幫助決策者做出更好的決策,以獲得巨大的社會(huì)價(jià)值和經(jīng)濟(jì)價(jià)值。與關(guān)聯(lián)規(guī)則挖掘不同,序列模式挖掘的對(duì)象以及結(jié)果都是有序的,即序列數(shù)據(jù)庫中每個(gè)序列的事件在時(shí)間或空間上是有序的,序列模式的輸出結(jié)果也是有序的。例如,<{1},{2}>和<{2},{1}>是兩個(gè)不同的序列。序列模式挖掘與關(guān)聯(lián)規(guī)則中挖掘頻繁項(xiàng)集又有一定的互通性,其也需要利用支持度的概念。序列模式挖掘的問題可以定義為:給定一個(gè)客戶交易數(shù)據(jù)庫D以及最小支持度閾值,從中找出大于等于最小支持度閾值的頻繁序列,這些頻繁序列也稱為序列模式。1.3序列模式分析迄今為止,出現(xiàn)了大量的序列模式挖掘算法,主要包括以下四種類型:基于Apriori特性的算法早期的序列模式挖掘算法都是基于Apriori特性發(fā)展起來的。RakeshAgrawal和RamakrishnanSrikan在1995年最早提出了序列模式挖掘的概念,并且提出了3個(gè)基于Apriori特性的算法:AprioriAll、AprioriSome和Dynamic-Some。在此基礎(chǔ)上,研究者又提出了廣義序列模式(GeneralizedSequentialPatterns,GSP)算法,它對(duì)AprioriAll算法的效率進(jìn)行了改進(jìn),并且加入了時(shí)間限制,放寬了交易的定義,加入了分類等條件,使序列模式挖掘更符合實(shí)際需要。GSP算法是最典型的類Apriori算法,后來又提出了MFS算法和PSP算法以改進(jìn)GSP算法的效率。這類算法可以有效地發(fā)現(xiàn)事務(wù)數(shù)據(jù)庫中所有頻繁序列,但是與Apriori算法相同,這類算法最大的缺點(diǎn)是需要多次掃描數(shù)據(jù)庫并且會(huì)產(chǎn)生大量的候選集,當(dāng)支持度閾值較小或者序列模式較長(zhǎng)時(shí)這個(gè)問題會(huì)更加突出。1.3序列模式分析迄今為止,出現(xiàn)了大量的序列模式挖掘算法,主要包括以下四種類型:基于垂直格式的算法最典型的基于垂直格式的算法是SPADE算法,它的基本思想是:首先把序列數(shù)據(jù)庫轉(zhuǎn)換成垂直數(shù)據(jù)庫格式,然后利用格理論和簡(jiǎn)單的連接方法挖掘頻繁序列模式。SPADE算法最大的優(yōu)點(diǎn)是大大減少了掃描數(shù)據(jù)庫的次數(shù),整個(gè)挖掘過程僅需要掃描3次數(shù)據(jù)庫,比GSP算法更優(yōu)越。然而,SPADE算法需要額外的計(jì)算時(shí)間和存儲(chǔ)空間,用以把水平格式的數(shù)據(jù)庫轉(zhuǎn)換成垂直格式,并且它的基本遍歷方法仍然是廣度優(yōu)先遍歷,需要付出候選碼巨大的代價(jià)。另一個(gè)典型的算法是SPAM算法,它實(shí)施了有效支持度計(jì)數(shù)與數(shù)據(jù)庫垂直數(shù)位映象的表示方法相結(jié)合的搜索策略,提高了挖掘長(zhǎng)序列模式時(shí)的效率。1.3序列模式分析迄今為止,出現(xiàn)了大量的序列模式挖掘算法,主要包括以下四種類型:基于投影數(shù)據(jù)庫的算法類Apriori算法會(huì)產(chǎn)生大量的候選集并且需要多次掃描數(shù)據(jù)庫,因此在挖掘長(zhǎng)序列模式時(shí)效率很低。為了克服以上缺點(diǎn),一些研究者開始另辟蹊徑,提出了基于投影數(shù)據(jù)庫的算法。此類算法采取了分而治之的思想,利用投影數(shù)據(jù)庫減小了搜索空間,從而提高了算法的性能。比較典型的算法有FreeSpan和PrefixSpan。FreeSpan算法的基本思想是:利用當(dāng)前挖掘的頻繁序列集將數(shù)據(jù)庫遞歸地投影到一組更小的投影數(shù)據(jù)庫上,分別在每個(gè)投影數(shù)據(jù)庫上增長(zhǎng)子序列。FreeSpan算法的優(yōu)點(diǎn)是它能夠有效地發(fā)現(xiàn)完整的序列模式,同時(shí)大大減少產(chǎn)生候選序列所需的開銷,與典型的類Apriori算法GSP算法相比性能更優(yōu)越。然而利用FreeSpan可能會(huì)產(chǎn)生很多投影數(shù)據(jù)庫,如果一個(gè)模式在數(shù)據(jù)庫中的每個(gè)序列中都出現(xiàn),該模式的投影數(shù)據(jù)庫將不會(huì)縮減;另外,由于長(zhǎng)度為k子序列可能在任何位置增長(zhǎng),搜索長(zhǎng)度(k+1)為的候選序列需要檢查每一個(gè)可能的組合,這是相當(dāng)費(fèi)時(shí)的。1.3序列模式分析迄今為止,出現(xiàn)了大量的序列模式挖掘算法,主要包括以下四種類型:基于投影數(shù)據(jù)庫的算法針對(duì)FreeSpan的缺點(diǎn),提出了PrefixSpan算法。它的基本思想是:在對(duì)數(shù)據(jù)庫進(jìn)行投影時(shí),不考慮所有可能的頻繁子序列,而只是基于頻繁前綴來構(gòu)造投影數(shù)據(jù)庫,因?yàn)轭l繁子序列總可以通過增長(zhǎng)頻繁前綴而被發(fā)現(xiàn)。PrefixSpan算法使得投影數(shù)據(jù)庫逐步縮減,比FreeSpan效率更高。并且它還采用了雙層投影和偽投影兩種優(yōu)化技術(shù)以減少投影數(shù)據(jù)庫的數(shù)量。PrefixSpan算法的主要代價(jià)是構(gòu)造投影數(shù)據(jù)庫。在最壞的情況下,PrefixSpan需要為每個(gè)序列模式構(gòu)造投影數(shù)據(jù)庫,如果序列模式數(shù)量巨大,那么代價(jià)也是不可忽視的?;趦?nèi)存索引的算法典型的基于內(nèi)存索引的算法是MEMISP。MEMISP算法整個(gè)過程只需要掃描數(shù)據(jù)庫一次,并且不產(chǎn)生候選序列也不產(chǎn)生投影數(shù)據(jù)庫,大大地提高了CPU和內(nèi)存的利用率。實(shí)驗(yàn)表明,MEMISP比GSP和PrefixSpan更高效,而且對(duì)于數(shù)據(jù)庫的大小和數(shù)據(jù)序列的數(shù)量也有較好的線性可伸縮性。1.3序列模式分析
1.3序列模式分析
1.3序列模式分析GSP算法GSP算法偽代碼如算法9-9所示利用哈希樹存儲(chǔ)候選序列:GSP采用哈希樹存儲(chǔ)候選序列。哈希樹的結(jié)點(diǎn)分為三類:根結(jié)點(diǎn)、內(nèi)部結(jié)點(diǎn)和葉子結(jié)點(diǎn)。根結(jié)點(diǎn)和內(nèi)部結(jié)點(diǎn)中存放的是一個(gè)哈希表,每個(gè)哈希表指向其他的結(jié)點(diǎn),而葉子結(jié)點(diǎn)內(nèi)存放的是一組候選序列。這種計(jì)算候選序列支持度的方法避免了大量無用的掃描,因?yàn)閷?duì)于一個(gè)序列,僅需要檢驗(yàn)最有可能是它子序列的候選序列。1.3序列模式分析GSP算法GSP中的時(shí)間約束技術(shù):GSP引入了時(shí)間約束、滑動(dòng)時(shí)間窗和分類層次技術(shù),為用戶提供了挖掘定制模式的方法。例如,通過分析大量曾經(jīng)患A類疾病的病人發(fā)病記錄,發(fā)現(xiàn)了如下的癥狀序列模式<{眩暈},{兩天后低燒37-38度}>,如果病人具有以上癥狀,則可能患A類病。用戶可以通過設(shè)置一些時(shí)間參數(shù)對(duì)挖掘的范圍進(jìn)行限制常用的時(shí)間參數(shù)如下:序列時(shí)間長(zhǎng)度與寬度的約束:序列的時(shí)間長(zhǎng)度是指序列中事件的個(gè)數(shù),寬度是指最長(zhǎng)事件的長(zhǎng)度。最小間隔的約束:指事件之間的最小時(shí)間間隔mingap。最大間隔的約束:指事件之間的最大時(shí)間間隔maxgap。時(shí)間窗口的約束:指整個(gè)序列都必須發(fā)生在某個(gè)時(shí)間窗口ws內(nèi)?;跁r(shí)間約束的序列模式挖掘問題就是要找到支持度不小于最小支持度閾值且滿足時(shí)間約束的序列模式。顯然,當(dāng)mingap=0,maxgap=∞,ws=∞的時(shí)候就相當(dāng)于沒有時(shí)間約束的序列模式挖掘。1.3序列模式分析謝謝!第十章深度學(xué)習(xí)大數(shù)據(jù)管理與應(yīng)用——主編:王剛副主編:劉婧、邵臻近年來,深度學(xué)習(xí)在學(xué)術(shù)界和產(chǎn)業(yè)界都取得了極大的成功,它是實(shí)現(xiàn)人工智能系統(tǒng)的重要方法。在本章中您將了解深度學(xué)習(xí)的發(fā)展歷程及基本概念;學(xué)習(xí)不同種類的深度學(xué)習(xí)模型和方法,包括深度前饋網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等;討論深度學(xué)習(xí)在實(shí)際生活和生產(chǎn)中的應(yīng)用。深度學(xué)習(xí)概述神經(jīng)網(wǎng)絡(luò)深度前饋網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)循環(huán)神經(jīng)網(wǎng)絡(luò)第十章深度學(xué)習(xí)01深度學(xué)習(xí)概述02神經(jīng)網(wǎng)絡(luò)03深度前饋網(wǎng)絡(luò)04卷積神經(jīng)網(wǎng)絡(luò)05循環(huán)神經(jīng)網(wǎng)絡(luò)人工智能(ArtificialIntelligence,AI)的目的是讓機(jī)器完成人類的智能工作,例如推理、規(guī)劃和學(xué)習(xí)等。AI中有許多方法,如專家系統(tǒng)(ExpertSystems)和機(jī)器學(xué)習(xí)(MachineLearning,ML)。機(jī)器學(xué)習(xí)是AI的重要領(lǐng)域,其目的是讓機(jī)器從訓(xùn)練數(shù)據(jù)中自動(dòng)學(xué)習(xí)和進(jìn)步,例如通過輸入大量棋譜,讓機(jī)器學(xué)會(huì)如何下棋。機(jī)器學(xué)習(xí)又包括多種方法,如決策樹、支持向量機(jī)和深度學(xué)習(xí)。深度學(xué)習(xí)是目前最熱門的機(jī)器學(xué)習(xí)方法,它在諸多問題上表現(xiàn)最佳,尤其是在數(shù)據(jù)量足夠多的情況下。深度學(xué)習(xí)的主要目標(biāo)是用一種“深度”的模型完成機(jī)器學(xué)習(xí),使用這種有“深度”的模型自動(dòng)學(xué)習(xí)出原始數(shù)據(jù)的特征表示,從而削減甚至消除人為特征工程的工作量。1.1深度學(xué)習(xí)概述圖10-1從人工智能到深度學(xué)習(xí)所謂“深度”是指將原始數(shù)據(jù)進(jìn)行非線性特征轉(zhuǎn)換的次數(shù)。如果將一個(gè)學(xué)習(xí)系統(tǒng)看作一個(gè)有向圖結(jié)構(gòu),“深度”也可以指數(shù)據(jù)在系統(tǒng)中從輸入到輸出走過的最長(zhǎng)路徑。神經(jīng)網(wǎng)絡(luò)模型是目前深度學(xué)習(xí)采用的主要模型,因此,可以將其簡(jiǎn)單地看成神經(jīng)網(wǎng)絡(luò)的層數(shù)。一般超過一層的神經(jīng)網(wǎng)絡(luò)模型都可以看作深度學(xué)習(xí)模型,但實(shí)際上,隨著深度學(xué)習(xí)的快速發(fā)展,神經(jīng)網(wǎng)絡(luò)的層數(shù)已經(jīng)從早期的5-10層增加到了目前的上千層。一般認(rèn)為,深度學(xué)習(xí)到目前為止共經(jīng)歷了3次浪潮:20世紀(jì)40年代到60年代,深度學(xué)習(xí)的雛形出現(xiàn)在控制論(Cybernetics)中;20世紀(jì)80年代到90年代,深度學(xué)習(xí)以連接主義(Connectionism)的形式出現(xiàn);2006年以深度學(xué)習(xí)之名復(fù)興??傊?,深度學(xué)習(xí)的演變趨勢(shì)可以總結(jié)如下:深度學(xué)習(xí)并不是一個(gè)新興的概念,其有著悠久的歷史,只是隨著許多哲學(xué)觀點(diǎn)的逐漸消逝,其名稱也漸漸被塵封。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,可用的訓(xùn)練數(shù)據(jù)量不斷增加,深度學(xué)習(xí)也變得更加有用。隨著計(jì)算機(jī)軟硬件基礎(chǔ)設(shè)施的改善,深度學(xué)習(xí)模型的規(guī)模也隨之增長(zhǎng)。隨著時(shí)間的推移,深度學(xué)習(xí)已經(jīng)可以解決日益復(fù)雜的問題,并且精度在不斷提升。1.1深度學(xué)習(xí)概述生物神經(jīng)網(wǎng)絡(luò)(BiologicalNeuralNetworks)一般指生物的大腦神經(jīng)元、細(xì)胞、觸點(diǎn)等組成的網(wǎng)絡(luò),用于產(chǎn)生生物的意識(shí),幫助生物進(jìn)行思考和行動(dòng)。以人類大腦為例,作為人體最復(fù)雜的器官,人類大腦由神經(jīng)元、神經(jīng)膠質(zhì)細(xì)胞、神經(jīng)干細(xì)胞和血小板組成。神經(jīng)元(Neuron),也叫神經(jīng)細(xì)胞(NerveCell),是攜帶和傳輸信息的細(xì)胞,是人腦神經(jīng)系統(tǒng)中最基本的結(jié)構(gòu)和功能單位。典型的神經(jīng)元結(jié)構(gòu)分為細(xì)胞體和突起兩部分:細(xì)胞體由細(xì)胞核、細(xì)胞膜、細(xì)胞質(zhì)組成,具有聯(lián)絡(luò)和整合輸入信息并傳出信息的作用。突起樹突短而分枝多,直接由細(xì)胞體擴(kuò)張突出,形成樹枝狀,其作用是接受其他神經(jīng)元軸突傳來的沖動(dòng)并傳給細(xì)胞體;軸突長(zhǎng)而分枝少,為粗細(xì)均勻的細(xì)長(zhǎng)突起,常起于軸丘,其作用是接受外來刺激,再由細(xì)胞體傳出。2.1生物神經(jīng)網(wǎng)絡(luò)圖10-2典型的神經(jīng)元結(jié)構(gòu)人工神經(jīng)網(wǎng)絡(luò)由多個(gè)節(jié)點(diǎn)(神經(jīng)元)互相連接而成,可以用來對(duì)數(shù)據(jù)之間的復(fù)雜關(guān)系進(jìn)行建模。圖10-3中的橙色圈表示人工神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元,神經(jīng)元內(nèi)部可以對(duì)輸入神經(jīng)元的信息進(jìn)行一定地處理,類似于生物神經(jīng)網(wǎng)絡(luò)中的細(xì)胞體對(duì)其接收到的信息進(jìn)行綜合處理。不同節(jié)點(diǎn)之間的連接被賦予不同的權(quán)重,每個(gè)權(quán)重代表了一個(gè)節(jié)點(diǎn)對(duì)另一個(gè)節(jié)點(diǎn)的影響大小。圖10-3中的黑色箭頭表示不同神經(jīng)元之間的連接,不同的連接被賦予不同的權(quán)重,類似于生物神經(jīng)網(wǎng)絡(luò)中在不同的神經(jīng)元之間傳遞信息的突觸,突觸之間有不同的“連接強(qiáng)度”。在生物神經(jīng)網(wǎng)絡(luò)中,當(dāng)細(xì)胞體接收到的累加刺激超過一定閾值時(shí),該神經(jīng)元被激活,并向其他神經(jīng)元傳遞信息。在人工神經(jīng)網(wǎng)絡(luò)中,不同的輸入結(jié)合不同的連接權(quán)重,被輸入給神經(jīng)元進(jìn)行處理,神經(jīng)元內(nèi)部首先對(duì)不同的輸入和相應(yīng)的權(quán)重進(jìn)行計(jì)算,得到累加輸入(生物神經(jīng)元中的累加刺激),該累加輸入再被傳遞給一個(gè)特殊函數(shù),我們稱之為激活函數(shù),得到一個(gè)新的活性值(興奮或抑制)。2.2人工神經(jīng)網(wǎng)絡(luò)圖10-3神經(jīng)網(wǎng)絡(luò)模型示例除了神經(jīng)元的內(nèi)部結(jié)構(gòu),各個(gè)神經(jīng)元之間的連接規(guī)則(即網(wǎng)絡(luò)結(jié)構(gòu))也是人工神經(jīng)網(wǎng)絡(luò)中至關(guān)重要的組成部分。到目前為止,研究者已經(jīng)發(fā)明了多種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),常用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)主要有三種:前饋網(wǎng)絡(luò)、記憶網(wǎng)絡(luò)和圖網(wǎng)絡(luò)。前饋網(wǎng)絡(luò):前饋網(wǎng)絡(luò)是指整個(gè)網(wǎng)絡(luò)中的信息朝一個(gè)方向傳播的神經(jīng)網(wǎng)絡(luò)。記憶網(wǎng)絡(luò):也稱為反饋網(wǎng)絡(luò),網(wǎng)絡(luò)中的神經(jīng)元不僅可以接收其他神經(jīng)元的信息,也可以接收自己的歷史信息。圖網(wǎng)絡(luò):圖網(wǎng)絡(luò)指的是定義在圖上的神經(jīng)網(wǎng)絡(luò)。2.2人工神經(jīng)網(wǎng)絡(luò)(a)前饋網(wǎng)絡(luò)(b)記憶網(wǎng)絡(luò)(c)圖網(wǎng)絡(luò)圖10-4三種不同的網(wǎng)絡(luò)結(jié)構(gòu)人腦神經(jīng)網(wǎng)絡(luò)有很強(qiáng)的學(xué)習(xí)能力,因此,人的智力和記憶能力可以通過后天的學(xué)習(xí)和訓(xùn)練得到提升。但是,事實(shí)上,早期的神經(jīng)網(wǎng)絡(luò)模型并不具備學(xué)習(xí)能力。首個(gè)可學(xué)習(xí)的人工神經(jīng)網(wǎng)絡(luò)是采用一種基于赫布規(guī)則的無監(jiān)督學(xué)習(xí)方法的網(wǎng)絡(luò),稱為赫布網(wǎng)絡(luò)。感知機(jī)是最早的具有機(jī)器學(xué)習(xí)思想的神經(jīng)網(wǎng)絡(luò),但其學(xué)習(xí)方法無法擴(kuò)展到多層神經(jīng)網(wǎng)絡(luò)上。直到20世紀(jì)80年代,反向傳播算法才有效地解決了多層神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)問題,并成為直到今天都廣為應(yīng)用的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法??傮w來看,人工神經(jīng)網(wǎng)絡(luò)的發(fā)展經(jīng)歷了興起、低潮、復(fù)興、再低潮、崛起五個(gè)階段。第一階段1943年,心理學(xué)家W.S.McCulloch和數(shù)理邏輯學(xué)家W.Pitts建立了神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型。該模型由可以執(zhí)行簡(jiǎn)單邏輯運(yùn)算的神經(jīng)元組成,稱為MP模型,至此,人工神經(jīng)網(wǎng)絡(luò)研究的時(shí)代被開啟。1948年,AlanTuring提出了一種可以基于Hebbian法則進(jìn)行學(xué)習(xí)的“B型圖靈機(jī)”。1949年,心理學(xué)家提出了突觸聯(lián)系強(qiáng)度可變的設(shè)想。1951年,McCulloch和Pitts的學(xué)生MarvinMinsky建造了第一臺(tái)神經(jīng)網(wǎng)絡(luò)機(jī)SNARC。1958年,Rosenblatt提出了一種可以模擬人類感知能力的神經(jīng)網(wǎng)絡(luò)模型,稱為感知機(jī)(Perceptron),并提出了接近人類學(xué)習(xí)過程(試錯(cuò)、迭代)的學(xué)習(xí)算法。60年代,人工神經(jīng)網(wǎng)絡(luò)得到了進(jìn)一步發(fā)展,提出了更完善的神經(jīng)網(wǎng)絡(luò)模型,包括自適應(yīng)線性元件等。第二階段M.Minsky等仔細(xì)分析了以感知器為代表的神經(jīng)網(wǎng)絡(luò)系統(tǒng)的功能及局限后,于1969年出版了《Perceptron》一書,指出感知器不能解決“異或”問題。他們的論點(diǎn)極大地影響了神經(jīng)網(wǎng)絡(luò)的研究,加之當(dāng)時(shí)串行計(jì)算機(jī)和人工智能所取得的成就,掩蓋了發(fā)展新型計(jì)算機(jī)和人工智能新途徑的必要性和迫切性,使人工神經(jīng)網(wǎng)絡(luò)的研究處于低潮。也有說法認(rèn)為除了感知機(jī)本身的局限外,另一個(gè)導(dǎo)致神經(jīng)網(wǎng)絡(luò)進(jìn)入低潮期的原因是當(dāng)時(shí)的計(jì)算機(jī)不具備訓(xùn)練大型神經(jīng)網(wǎng)絡(luò)所需的計(jì)算能力。2.3人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程第三階段1982年,美國加州工學(xué)院物理學(xué)家J.J.Hopfield提出了Hopfield神經(jīng)網(wǎng)格模型,引入了“計(jì)算能量”概念,給出了網(wǎng)絡(luò)穩(wěn)定性判斷。1984年,他又提出了連續(xù)時(shí)間Hopfield神經(jīng)網(wǎng)絡(luò)模型,為神經(jīng)計(jì)算機(jī)的研究做了開拓性的工作,開創(chuàng)了神經(jīng)網(wǎng)絡(luò)用于聯(lián)想記憶和優(yōu)化計(jì)算的新途徑,有力地推動(dòng)了神經(jīng)網(wǎng)絡(luò)的研究。1985年,有學(xué)者提出了玻耳茲曼模型,在學(xué)習(xí)中采用統(tǒng)計(jì)熱力學(xué)模擬退火技術(shù),以保證整個(gè)系統(tǒng)趨于全局穩(wěn)定點(diǎn)。1986年有研究者進(jìn)行了認(rèn)知微觀結(jié)構(gòu)的研究,提出了分布式并行處理的理論。1986年,Rumelhart,Hinton,Williams發(fā)展了BP算法。1988年,Linsker對(duì)感知機(jī)網(wǎng)絡(luò)提出了新的自組織理論,并在Shanon信息論的基礎(chǔ)上形成了最大互信息理論,從而點(diǎn)燃了基于神經(jīng)網(wǎng)絡(luò)的信息應(yīng)用理論的光芒。1988年,Broomhead和Lowe用徑向基函數(shù)(Radialbasisfunction,RBF)提出了分層網(wǎng)絡(luò)的設(shè)計(jì)方法,從而將神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)與數(shù)值分析和線性適應(yīng)濾波相掛鉤。第四階段在該階段,機(jī)器學(xué)習(xí)領(lǐng)域的支持向量機(jī)和線性分類器等方法的流行掩蓋了神經(jīng)網(wǎng)絡(luò)的光芒。雖然神經(jīng)網(wǎng)絡(luò)可以通過增加神經(jīng)元的數(shù)量、網(wǎng)絡(luò)的層數(shù)很容易地構(gòu)造更復(fù)雜的網(wǎng)絡(luò),但是更復(fù)雜的網(wǎng)絡(luò)也意味著更大的計(jì)算開銷。相比之下,機(jī)器學(xué)習(xí)領(lǐng)域的支持向量機(jī)、線性分類器等方法的計(jì)算開銷要小得多。因此,20世紀(jì)90年代中期,機(jī)器學(xué)習(xí)模型開始興起,神經(jīng)網(wǎng)絡(luò)則因?yàn)榉N種原因再一次進(jìn)入低潮期。第五階段自2006年Hinton等人通過逐層預(yù)訓(xùn)練來學(xué)習(xí)一個(gè)深度信念網(wǎng)絡(luò),并將其權(quán)重作為一個(gè)多層前饋神經(jīng)網(wǎng)絡(luò)的初始化權(quán)重,再用反向傳播算法進(jìn)行精調(diào)開始,研究者就逐漸掌握了訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)的方法,使得神經(jīng)網(wǎng)絡(luò)重新崛起。這種“預(yù)訓(xùn)練+精調(diào)”的方式可以有效地解決深度神經(jīng)網(wǎng)絡(luò)難以訓(xùn)練的問題。隨著深度神經(jīng)網(wǎng)絡(luò)在語音識(shí)別、圖像分類等任務(wù)上的成功,以神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的深度學(xué)習(xí)迅速崛起。2.3人工神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程一般而言,每個(gè)神經(jīng)元有多個(gè)輸入(輸入的個(gè)數(shù)可以根據(jù)需求自己設(shè)定),一個(gè)輸出(如果需要多個(gè)輸出,可使用多個(gè)神經(jīng)元),以及兩類參數(shù):權(quán)重神經(jīng)元的每個(gè)輸入都會(huì)有一個(gè)權(quán)重(由于神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的靈活性,有時(shí)也可以在多個(gè)輸入之間共享權(quán)重),可以認(rèn)為該權(quán)重表示相應(yīng)輸入的重要程度。權(quán)重一般是實(shí)數(shù),可以為正數(shù)也可以為負(fù)數(shù)。偏置每個(gè)神經(jīng)元中,在對(duì)輸入加權(quán)平均之后,一般都會(huì)加入一個(gè)偏置,可以將其看作線性函數(shù)中的常數(shù)項(xiàng)。當(dāng)然,偏置有時(shí)也可以省略。3.1神經(jīng)元圖10-5經(jīng)典神經(jīng)元結(jié)構(gòu)非線性激活函數(shù)在神經(jīng)網(wǎng)絡(luò)中是必要的,因?yàn)槿绻辉谏窠?jīng)元中使用加權(quán)平均計(jì)算,神經(jīng)元的輸出是輸入的線性函數(shù),而線性函數(shù)之間的嵌套仍然是線性函數(shù)。因此如果沒有非線性激活函數(shù),不管一個(gè)神經(jīng)網(wǎng)絡(luò)由多少個(gè)神經(jīng)元組成,該神經(jīng)網(wǎng)絡(luò)的輸出都是線性的,完全等價(jià)于一個(gè)神經(jīng)元的效果,這就失去了使用多個(gè)神經(jīng)元的意義。如圖10-6所示,線性神經(jīng)網(wǎng)絡(luò)完全等價(jià)于線性神經(jīng)元。3.2激活函數(shù)(a)(b)圖10-6線性神經(jīng)網(wǎng)絡(luò)等價(jià)于線性神經(jīng)元神經(jīng)網(wǎng)絡(luò)的激活函數(shù)有Sigmoid型函數(shù)、ReLU函數(shù)、Swish函數(shù)、GELU函數(shù)、Maxout單元等,最常用的包括Sigmoid型函數(shù)和ReLU函數(shù)。Sigmoid型函數(shù)Logistic函數(shù)Tanh函數(shù)ReLU函數(shù)3.2激活函數(shù)圖10-7Logistic函數(shù)和Tanh函數(shù)圖像
3.3前饋神經(jīng)網(wǎng)絡(luò)圖10-8多層前饋神經(jīng)網(wǎng)絡(luò)策略二分類損失函數(shù)多分類損失函數(shù)回歸問題損失函數(shù)算法搭建網(wǎng)絡(luò)模型,初始化參數(shù);根據(jù)訓(xùn)練數(shù)據(jù)的輸入和驗(yàn)證數(shù)據(jù)的輸入計(jì)算相應(yīng)的輸出;根據(jù)輸出與真實(shí)值計(jì)算損失;將訓(xùn)練數(shù)據(jù)的損失反向傳播,根據(jù)損失下降的方向,調(diào)整參數(shù);重復(fù)第二步,直到驗(yàn)證集數(shù)據(jù)的損失不再下降,或迭代次數(shù)達(dá)到設(shè)置的上限。3.3前饋神經(jīng)網(wǎng)絡(luò)在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),當(dāng)首次根據(jù)訓(xùn)練數(shù)據(jù)的輸入得到網(wǎng)絡(luò)輸出時(shí),需要將網(wǎng)絡(luò)輸出與真實(shí)值比較,得到損失值(本節(jié)用LOSS表示)。當(dāng)損失值較大且不符合要求時(shí),需要一種方法優(yōu)化參數(shù),使得損失減小。早期的調(diào)整方法是隨機(jī)調(diào)整參數(shù),重新計(jì)算損失,該方法是比較低效的。如果損失減少,保留調(diào)整后的參數(shù),如果沒有減少,則保留調(diào)整前的參數(shù)。目前通常采用梯度下降的方法調(diào)整參數(shù)。梯度下降(GradientDescent,GD)指通過求偏導(dǎo)數(shù)確定哪個(gè)調(diào)整參數(shù)的方向是“最能使損失減少的方向”,并將參數(shù)沿著該方向移動(dòng)一小步。這個(gè)過程就像下山,沿著坡度最陡的方向下山可以最快到達(dá)山腳。3.4梯度下降
3.5反向傳播算法
3.5反向傳播算法
3.6梯度消失和梯度爆炸卷積卷積(Convolution)是分析數(shù)學(xué)中一種重要的運(yùn)算,在信號(hào)處理中經(jīng)常使用一維或二維卷積,圖像處理中使用的通常是二維或三維卷積。若將一幅圖像簡(jiǎn)單地看成二維結(jié)構(gòu),一般使用二維卷積;當(dāng)一張圖片有多個(gè)通道時(shí)(如用RGB表示一張彩色圖像),則通常使用三維卷積。4.1卷積與互相關(guān)為了對(duì)二維卷積和三維卷積的運(yùn)算過程有更直觀的認(rèn)識(shí)和理解,下面舉例說明。定義一個(gè)像素矩陣(如圖10-9(a)所示)和一個(gè)3*3的卷積核(如圖10-9(b)所示),該卷積核是一個(gè)對(duì)稱矩陣,因此省略了卷積計(jì)算中卷積翻轉(zhuǎn)的步驟。4.1卷積與互相關(guān)(a)(b)
圖10-9待計(jì)算的像素矩陣與卷積核圖10-10卷積運(yùn)算圖10-11圖10-9(a)與圖10-9(b)卷積運(yùn)算結(jié)果4.1卷積與互相關(guān)圖10-12三維卷積計(jì)算過程示意
4.1卷積與互相關(guān)
4.2池化(匯聚)
4.3外襯與步長(zhǎng)卷積神經(jīng)網(wǎng)絡(luò)模型概述全連接指每一層的每一個(gè)神經(jīng)元都與前一層的每一個(gè)神經(jīng)元有連接,且每個(gè)連接都有各自的權(quán)重。卷積神經(jīng)網(wǎng)絡(luò)的本質(zhì)就是用卷積代替全連接,卷積核相當(dāng)于全連接中的權(quán)重。與全連接前饋神經(jīng)網(wǎng)絡(luò)相似,在卷積操作之后也可以加入激活函數(shù)。由卷積的定義及其計(jì)算方法可以發(fā)現(xiàn),每一個(gè)卷積核的每一次操作只與輸入數(shù)據(jù)中的一部分?jǐn)?shù)據(jù)進(jìn)行計(jì)算,且每一個(gè)卷積核在整個(gè)輸入數(shù)據(jù)集上是一樣的,這體現(xiàn)了卷積的兩個(gè)重要特征,即局部連接和權(quán)重共享。4.4卷積網(wǎng)絡(luò)的結(jié)構(gòu)與運(yùn)作圖10-13卷積神經(jīng)網(wǎng)絡(luò)的經(jīng)典結(jié)構(gòu)
4.4卷積網(wǎng)絡(luò)的結(jié)構(gòu)與運(yùn)作本部分以手寫數(shù)字的識(shí)別為例(判斷圖像中的手寫數(shù)字是0-9中的哪一個(gè)),闡述基于卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)樣本進(jìn)行預(yù)測(cè)的運(yùn)作過程。在圖像處理中,卷積經(jīng)常作為特征提取的有效方法,可用于識(shí)別圖像的紋理和形狀,而不同的卷積可用于識(shí)別不同的目標(biāo)。因此,本例中會(huì)使用多個(gè)卷積核處理圖像。4.4卷積網(wǎng)絡(luò)的結(jié)構(gòu)與運(yùn)作圖10-14卷積神經(jīng)網(wǎng)絡(luò)運(yùn)作過程舉例
5.1循環(huán)神經(jīng)網(wǎng)絡(luò)圖10-15循環(huán)神經(jīng)網(wǎng)絡(luò)
5.2簡(jiǎn)單的循環(huán)神經(jīng)網(wǎng)絡(luò)圖10-16按時(shí)間展開的簡(jiǎn)單循環(huán)神經(jīng)網(wǎng)絡(luò)由于梯度消失和梯度爆炸問題,簡(jiǎn)單循環(huán)網(wǎng)絡(luò)只能記憶較短時(shí)間內(nèi)的歷史狀態(tài),不能建立長(zhǎng)時(shí)間間隔狀態(tài)之間的依賴關(guān)系(長(zhǎng)程依賴問題)。為了解決這一問題,比較好的辦法是選取合適的參數(shù)、采用非飽和的激活函數(shù)的同時(shí),引入門控機(jī)制。門控機(jī)制的作用是控制信息的積累速度(有選擇地記憶新的信息,且有選擇地遺忘舊的信息)。這類網(wǎng)絡(luò)叫作基于門控的循環(huán)神經(jīng)網(wǎng)絡(luò)(GatedRNN),如長(zhǎng)短期記憶網(wǎng)絡(luò)和門控循環(huán)單元網(wǎng)絡(luò)。本節(jié)主要介紹長(zhǎng)短期記憶網(wǎng)絡(luò)(LongShort-TermMemoryNetwork,LSTM)。在數(shù)字電路中,門(Gate)是一個(gè)二值變量{0,1},其中0代表關(guān)閉狀態(tài),1代表開啟狀態(tài)。關(guān)閉狀態(tài)的門不允許任何信息通過,如果門是開啟狀態(tài)任何信息都可以通過。LSTM網(wǎng)絡(luò)引入了門控機(jī)制來控制信息的傳遞,包括輸入門、輸出門和遺忘門三個(gè)門,本節(jié)后文會(huì)結(jié)合具體的循環(huán)單元結(jié)構(gòu)闡述其作用。與數(shù)字電路中的門不同,LSTM中的門不是一個(gè)二值變量,而是介于(0,1)之間的值,稱為“軟門”。用表示遺忘門,表示輸入門,表示輸出門,這三個(gè)門的計(jì)算公式為:5.3長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)
5.3長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)圖10-17LSTM中一個(gè)循環(huán)單元的結(jié)構(gòu)深度神經(jīng)網(wǎng)絡(luò)一般指網(wǎng)絡(luò)層數(shù)比較多的神經(jīng)網(wǎng)絡(luò),但是在循環(huán)神經(jīng)網(wǎng)絡(luò)中,可以有兩種理解。一種是在時(shí)間維度上,即使循環(huán)神經(jīng)網(wǎng)絡(luò)只有一個(gè)隱藏層,隨著時(shí)間的推移,狀態(tài)在不同時(shí)刻之間的傳遞也會(huì)經(jīng)過比較長(zhǎng)的路徑,可以理解為“深”。另一種理解,對(duì)于同一時(shí)刻的循環(huán)神經(jīng)網(wǎng)絡(luò),只有一個(gè)隱藏層的循環(huán)神經(jīng)網(wǎng)絡(luò)則是一個(gè)很“淺”的網(wǎng)絡(luò)。堆疊循環(huán)神經(jīng)網(wǎng)絡(luò)堆疊循環(huán)神經(jīng)網(wǎng)絡(luò)(StackedRecurrentNeuralNetwork,SRNN)指將多個(gè)循環(huán)網(wǎng)絡(luò)堆疊起來。圖10-18展示了典型的堆疊循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。5.4深層循環(huán)神經(jīng)網(wǎng)絡(luò)圖10-18堆疊循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
5.4深層循環(huán)神經(jīng)網(wǎng)絡(luò)圖10-19按時(shí)間展開的雙向循環(huán)神經(jīng)網(wǎng)絡(luò)謝謝!第十一章文本分析大數(shù)據(jù)管理與應(yīng)用——主編:王剛副主編:劉婧、邵臻文本分析技術(shù)是一種分析、挖掘非結(jié)構(gòu)化自然語言文本的方法,其能挖掘出非結(jié)構(gòu)化文本中的深層語義信息,近年來被廣泛應(yīng)用于醫(yī)療、金融、管理等諸多領(lǐng)域。在本章中您將理解文本分析的概念,掌握常用的文本預(yù)處理技術(shù),特征提取和文本表示技術(shù),文本分類分析技術(shù),文本聚類分析技術(shù)以及文本分析應(yīng)用方法。文本分析概述文本預(yù)處理特征提取和文本表示方法文本分類分析文本聚類分析第十一章文本分析01文本分析概述02文本預(yù)處理03特征提取和文本表示方法04文本分類分析05文本聚類分析文本分析是從原始自然語言文本中提煉出研究者需要的信息。與常見的數(shù)據(jù)分析相比,文本數(shù)據(jù)大多是半結(jié)構(gòu)化、非結(jié)構(gòu)化的,維度可能是普通數(shù)據(jù)的幾十倍或是上百倍,數(shù)據(jù)量龐大,處理的工作量大,此外,更重要的是需要理解自然語言文本中所傳達(dá)出的語義信息。因此,文本分析需要涉及自然語言處理(NaturalLanguageProcessing)、模式識(shí)別(PatternRecognition)和機(jī)器學(xué)習(xí)(MachineLearning)等多個(gè)領(lǐng)域知識(shí),才可以盡可能地挖掘出文本中深層的語義信息,是一項(xiàng)交叉性的技術(shù)。文本分析經(jīng)歷了四代進(jìn)程,分別是符號(hào)主義、語法規(guī)則、統(tǒng)計(jì)學(xué)習(xí)以及深度學(xué)習(xí)。符號(hào)主義是通過邏輯推理方法來進(jìn)行文本分析。語法規(guī)則是基于專家制定的規(guī)則來進(jìn)行語義的抽取。統(tǒng)計(jì)學(xué)習(xí)通過對(duì)文本中詞頻、詞語共現(xiàn)等特征進(jìn)行語義的抽取。深度學(xué)習(xí)是通過建立的深度神經(jīng)網(wǎng)絡(luò)模型,根據(jù)訓(xùn)練語料,自主學(xué)習(xí)特征,從而完成文本分析任務(wù)。1.1文本分析的基本概念目前,文本分析還面臨著如下幾個(gè)方面的挑戰(zhàn)。第一,隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,文本數(shù)據(jù)的數(shù)量呈指數(shù)級(jí)增長(zhǎng),如何從海量的文本中提取關(guān)鍵信息,成為一個(gè)值得研究的問題。第二,文本數(shù)據(jù)是半結(jié)構(gòu)化或者非結(jié)構(gòu)化的,計(jì)算機(jī)無法直接理解其中的語義信息,這需要研究者構(gòu)建基于語義的模型,高效地識(shí)別出文本中的內(nèi)容。第三,簡(jiǎn)單的一句話中可能包含著多層意思,不僅需要簡(jiǎn)單的語言處理,還需要進(jìn)行文本推理等其他技術(shù)來挖掘語義信息。第四,標(biāo)注數(shù)據(jù)獲取十分困難,人工標(biāo)注語言文本費(fèi)時(shí)費(fèi)力,并且不能保證標(biāo)注全部正確,但是有效的模型往往都是在大量的文本中訓(xùn)練而來的。第五,文本分析的目的無法用數(shù)學(xué)模型直接表示出來。文本分析后的結(jié)果有時(shí)也需要將其轉(zhuǎn)換成人類能夠讀懂的自然語言,這中間的轉(zhuǎn)換復(fù)雜又困難。1.1文本分析的基本概念針對(duì)文本數(shù)據(jù)非結(jié)構(gòu)化、高維、具有豐富語義的特征,文本分析流程要比傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù)分析流程復(fù)雜一些,包含文本預(yù)處理、構(gòu)建分析挖掘模型及應(yīng)用三個(gè)階段。在文本預(yù)處理階段通常要將文本數(shù)據(jù)轉(zhuǎn)換成計(jì)算機(jī)可以處理的結(jié)構(gòu)化數(shù)據(jù),其核心步驟一般包括分詞、去除停用詞、基本的語義分析如詞性分析及句法分析等,在此基礎(chǔ)上針對(duì)高維特征利用特征提取方法提取出文本的主要特征,以降低維度。構(gòu)建分析挖掘模型是在文本預(yù)處理的基礎(chǔ)之上針對(duì)具體的應(yīng)用問題選取和設(shè)計(jì)算法,常用的技術(shù)包括文本分類、文本聚類等。文本分析典型應(yīng)用包括信息抽取、情感分析、知識(shí)圖譜構(gòu)建、問答系統(tǒng)等。1.2文本分析的基本流程圖11-1文本分析的一般流程圖文本分詞是利用分詞方法將文本分成一個(gè)字、詞語或者短語等詞匯單位的過程。文本分詞會(huì)根據(jù)語言的不同而采用不同的分詞方法。英語文本詞匯與詞匯之間用空格分開,因此英文文本可以直接使用空格和標(biāo)點(diǎn)符號(hào)進(jìn)行分詞。然而中文文本字詞之間并沒有天然的分隔標(biāo)記,一句話可以根據(jù)每個(gè)人理解的不同而被切分成不同的詞匯單位,如表11-1所示。因此,對(duì)于中文分詞需要額外考慮如何更精準(zhǔn)地進(jìn)行分詞操作。2.1文本分詞原句切分結(jié)果無雞鴨亦可,無魚肉亦可,白菜豆腐不能少。無/雞/鴨/亦可,無/魚/肉亦可,白菜/豆腐/不能/少。無/雞鴨/亦可,無/魚肉/亦可,白菜/豆腐/不能/少。這個(gè)桃子不大好吃。這個(gè)/桃子/不大/好吃。這個(gè)/桃子/不大好吃。表11-1歧義句常用的分詞方法主要有基于詞典的分詞方法、基于統(tǒng)計(jì)的分詞方法以及基于理解的分詞方法三種。基于詞典的分詞方法:此類方法依賴于詞表,將文本切分的字符串跟詞表中的詞語進(jìn)行匹配,匹配成功,則按詞表中的詞語進(jìn)行切分。基于統(tǒng)計(jì)的分詞方法:此類方法是基于統(tǒng)計(jì)的思想,根據(jù)大規(guī)模語料上表現(xiàn)出來的詞匯共現(xiàn)特征如詞頻、互信息熵進(jìn)行分詞?;诶斫獾姆衷~方法:此類方法是利用計(jì)算機(jī)模擬人的思維對(duì)句子進(jìn)行理解,從而達(dá)到分詞的目的。2.1文本分詞表11-2三種分詞工具的分詞結(jié)果分詞工具原句JiebaPkusegPyltp2020年8月8日天晴。2020/年/8/月/8/日/天晴/。2020年/8月/8日/天晴/。2020年/8月/8日/天晴/。吃葡萄不吐葡萄皮。吃/葡萄/不吐/葡萄/皮/。吃/葡萄/不/吐/葡萄皮/。吃/葡萄/不/吐/葡萄皮/。小明說他想要回家。小/明說/他/想要/回家/。小明/說/他/想要/回家/。小明/說/他/想要/回家/。我愛自然語言處理。我/愛/自然語言/處理/。我/愛/自然/語言/處理/。我/愛/自然/語言/處理/。TF-IDF(TermFrequency-InverseDocumentFrequency)是自然語言處理中較為經(jīng)典的特征權(quán)重算法。TF-IDF算法是給予在當(dāng)前文本出現(xiàn)頻率較高而在其他文本中出現(xiàn)頻率較低的詞語更高的權(quán)重。特征頻率(TF)是統(tǒng)計(jì)該特征項(xiàng)在當(dāng)前文檔中出現(xiàn)的次數(shù)。一個(gè)特征項(xiàng)在當(dāng)前文檔中出現(xiàn)頻率越高,則TF越大:逆文檔頻率(IDF)是反映一個(gè)特征項(xiàng)在全部語料中的重要程度。文檔頻率(DF)是包含該特征項(xiàng)的文檔數(shù),若是一個(gè)特征項(xiàng)的DF越高,就說明這個(gè)特征項(xiàng)攜帶所在文檔的語義信息越少。通常用下式表示:特征頻率-逆文檔頻率(TF-IDF)是TF和IDF的乘積。公式如下:3.1TF-IDF語料庫“我”的TF值“我”的IDF值“我”的TF-IDF值1.我愛自然語言處理。2.編程語言,我選Python。3.我選擇文本挖掘。4.深度學(xué)習(xí)很難。0.1250.6931470.086643表11-3NLTK調(diào)用TF-IDF算法結(jié)果
3.2卡方統(tǒng)計(jì)量類別特征項(xiàng)文本挖掘非文本挖掘總和出現(xiàn)“詞向量”78684沒有出現(xiàn)“詞向量”61016總和8416100表11-4類別和特征項(xiàng)出現(xiàn)的文檔頻率信息增益(InformationGain,IG)是指在預(yù)測(cè)變量Y時(shí),當(dāng)給定隨機(jī)變量X時(shí),Y不確定狀態(tài)減少的程度。不確定程度減少的大小由信息熵減少的程度來決定。信息熵的計(jì)算公式如下:3.3信息增益
特征信息增益值(IG值)1汽車0.20291312車型0.19864343轎車0.12854394找到0.12163985比賽0.11055946一頁0.09527017發(fā)動(dòng)機(jī)0.09453938消費(fèi)者0.0935282表11-5利用信息增益對(duì)搜狗新聞?wù)Z料數(shù)據(jù)集進(jìn)行特征選擇的部分結(jié)果一般都將輸入到模型的詞匯或者句子映射成詞向量(WordEmbedding)。詞向量的表征技術(shù)有靜態(tài)的詞向量表征技術(shù)和動(dòng)態(tài)的詞向量表征技術(shù)。靜態(tài)詞向量表征技術(shù)One-Hot詞向量One-Hot詞向量,是最簡(jiǎn)單的詞向量表征技術(shù)。根據(jù)前面的特征選擇方法,選擇合適的特征項(xiàng),這些特征項(xiàng)組成的集合就是整個(gè)語料的詞表。假設(shè)詞表的長(zhǎng)度為N,則第i個(gè)詞的詞向量的長(zhǎng)度為N,向量第I位值為1,其余值為0,如表11-6所示。One-Hot向量生成的詞向量離散稀疏,維度大,且不考慮上下文語義聯(lián)系。3.4詞向量表示原句我愛自然語言處理詞表{'我':1,'愛':2,'自然':3,'語言':4,'處理':5}'語言'的向量[0.,0.,0.,1.,0.]表11-6One-Hot詞向量示例Word2VecCBOW模型CBOW模型的主要思想是用上下文的詞語來預(yù)測(cè)中心目標(biāo)詞語,如圖11-2所示。輸入層為上下文詞語的One-Hot向量。假設(shè)詞表大小為V,上下文單詞窗口為C,示意圖中的窗口大小為2。每一個(gè)輸入的One-Hot向量乘以一個(gè)相同的權(quán)重矩陣W1。投影層將該窗口所得向量的平均值作為隱層向量。隱層向量乘以權(quán)重矩陣W2,得到輸出層的輸出向量,輸出向量的維數(shù)為V,最后經(jīng)過Softmax,獲得每個(gè)詞的輸出概率,概率最大的為預(yù)測(cè)的中心詞。3.4詞向量表示圖11-2CBOW模型示意圖Skip-Gram模型Skip-Gram模型的主要思想是用中心目標(biāo)詞語來預(yù)測(cè)上下文詞語,如圖11-3所示。整體計(jì)算過程其實(shí)與CBOW相似,只不過過程相反。輸入層為中心詞的One-Hot向量,乘以權(quán)重矩陣得到隱層向量,隱層向量乘以共享的權(quán)重矩陣得到輸出層向量,經(jīng)過Softmax獲得每個(gè)詞的概率,概率最大的為當(dāng)前節(jié)點(diǎn)的詞語。3.4詞向量表示圖11-3Skip-Gram模型示意圖動(dòng)態(tài)詞向量表征技術(shù)ElmoElmo(EmbeddingsFromLanguageModels)是最先提出解決多義詞的預(yù)訓(xùn)練詞向量模型。模型結(jié)構(gòu)如圖11-4所示。如圖所示,Elmo主要使用了雙向的LSTM(LongShort-TermMemory,長(zhǎng)短時(shí)記憶模型)來構(gòu)建語言模型。通過使用大規(guī)模的語料庫來訓(xùn)練這個(gè)語言模型,獲得各層Bilstm(圖中為2層)的特征,將這些特征拼接起來,得到的就是Elmo詞向量。語言模型是根據(jù)前面出現(xiàn)的詞匯預(yù)測(cè)下一個(gè)詞匯來獲得語料特征的模型,因此,語言模型不需要進(jìn)行人工標(biāo)注就可以獲得大量的數(shù)據(jù)。由于Bilstm能夠同時(shí)獲取上下文的信息,因此Elmo利用Bilstm構(gòu)建語言模型,從中學(xué)習(xí)語義特征,獲取詞向量。Elmo是將每一層Bilstm的輸出以及最開始的詞向量進(jìn)行線性相加,相加的權(quán)重是從下游任務(wù)中學(xué)習(xí)出來的。3.4詞向量表示圖11-4Elmo模型示意圖BERTBERT(BidirectionalEncoderRepresentationFromTransformers)是谷歌2019年提出的預(yù)訓(xùn)練模型。模型是由Transformer的Encoder部分組成的。Transformer是谷歌2017年在論文《AttentionIsAllYouNeed》中提出的模型,模型結(jié)構(gòu)如圖11-5所示。模型由Encoder(圖左邊部分)和Decoder(圖右邊部分)組成。Encoder部分由多頭注意力層以及前饋神經(jīng)網(wǎng)絡(luò)層組成,多層Encoder的堆疊就是BERT模型的基本架構(gòu)。3.4詞向量表示圖11-5Transformer模型結(jié)構(gòu)BERT采用兩個(gè)特殊的預(yù)訓(xùn)練任務(wù)進(jìn)行模型的訓(xùn)練。第一個(gè)任務(wù)是遮蔽語言模型(MLM,MaskedLanguageModel),用[MASK]隨機(jī)替換詞匯序列中的部分詞語,再根據(jù)上下文來預(yù)測(cè)[MASK]位置原有的詞,如圖11-6所示。第二個(gè)任務(wù)是下一句預(yù)測(cè)(NSP,NextSentencePredict),給定一篇文章的一句話,判斷第二句是否緊跟在第一句之后,并會(huì)在句子之前增加一個(gè)向量,用來存儲(chǔ)判斷結(jié)果,如圖11-7所示。3.4詞向量表示圖11-6Bert模型MLM輸出圖圖11-7Bert模型NSP輸出圖XlnetXlnet是一種泛化的自回歸語言模型,根據(jù)BERT存在的一些問題進(jìn)行了創(chuàng)新性的改進(jìn),在20個(gè)自然語言處理任務(wù)上的表現(xiàn)都超過了BERT。BERT是AE(Autoencoding)模型,雖然可以用上下文來預(yù)測(cè)[MASK]的原詞匯,但是在微調(diào)過程中,語料庫中并不會(huì)有[MASK]這個(gè)詞匯,這樣就會(huì)造成預(yù)訓(xùn)練過程和微調(diào)過程不匹配;其次,BERT隨機(jī)遮蔽詞匯的前提是假設(shè)每個(gè)詞匯都是獨(dú)立的,但是實(shí)際語料庫中,有些詞匯是相關(guān)的,如“紐約是一座城市”這句話,“紐”和“約”是相關(guān)的,并不是相互獨(dú)立的。AR模型是通過上文或者下文來預(yù)測(cè)目標(biāo),是單向的。Xlnet是AR(Autoregressive)模型,但是Xlnet提出了排列語言模型、雙流自注意力機(jī)制以及循環(huán)機(jī)制,將AR模型變成了真“雙向”預(yù)測(cè)目標(biāo)。排列語言模型能夠巧妙地獲取上下文信息。雙流自注意力機(jī)制能夠?qū)?nèi)容信息和位置信息分開,根據(jù)預(yù)測(cè)詞匯的不同,決定內(nèi)容信息和位置信息的使用。循環(huán)機(jī)制能夠使得模型記住長(zhǎng)距離的信息,因此,Xlnet比BERT更擅長(zhǎng)處理長(zhǎng)文本的任務(wù)。3.4詞向量表示ERNIEERNIE(EnhancedRepresentationFromKnowledgeIntegration)是百度提出針對(duì)中文文本的預(yù)訓(xùn)練語言模型。ERNIE模型的結(jié)構(gòu)與BERT模型差不多,主要?jiǎng)?chuàng)新在[MASK]設(shè)置上。BERT是隨機(jī)遮蔽掉一些字,比如“華[MASK]手機(jī)很好用”,這樣會(huì)造成詞法信息的丟失,而ERNIE隨機(jī)遮蔽的是短語或者是實(shí)體名。比如上面的句子,在處理時(shí)為“[MASK][MASK][MASK][MASK]很好用”,這樣使得模型的泛化能力更強(qiáng),通用語義表示能力更強(qiáng),在多項(xiàng)公開的中文數(shù)據(jù)集上的測(cè)試結(jié)果發(fā)現(xiàn)ERNIE的表現(xiàn)相較于BERT要好??梢钥闯鲈贐ERT提出之后,許多研究都以其為基礎(chǔ)進(jìn)行改進(jìn)。除上述模型外,還出現(xiàn)了如ALBERT、Roberta、Spanbert等模型。利用這些預(yù)訓(xùn)練模型能提升模型性能,減少模型訓(xùn)練收斂速度,因此近年來在文本分析中得到了較好的應(yīng)用和發(fā)展。3.4詞向量表示文本分類是自然語言處理領(lǐng)域的一項(xiàng)基礎(chǔ)性任務(wù),主要目標(biāo)是根據(jù)指定的分類體系,對(duì)文本進(jìn)行自動(dòng)類別標(biāo)注,對(duì)文本進(jìn)行有效的整理和歸納。文本分類的主要步驟包括文本預(yù)處理、文本特征提取與表示、分類模型構(gòu)建與訓(xùn)練。常見的應(yīng)用方向有垃圾郵件識(shí)別、文本主題分類、情感分析等。早期的文本分類方法是專家制定推理規(guī)則和模板來進(jìn)行文本分類,然而規(guī)則集的建立與更新都會(huì)造成人力、物力的大量浪費(fèi)。直至上個(gè)世紀(jì)90年代,隨著統(tǒng)計(jì)機(jī)器學(xué)習(xí)算法的提出與發(fā)展,文本分類技術(shù)有了一定程度的提升。常見的基于監(jiān)督的機(jī)器學(xué)習(xí)分類算法有樸素貝葉斯(NB,Na?veBayes)、支持向量機(jī)(SVM,SupportVectorMachines)、Logistic回歸、K近鄰(KNN,K-NearestNeighbor)等。統(tǒng)計(jì)機(jī)器學(xué)習(xí)主要是利用詞頻、共現(xiàn)詞匯信息進(jìn)行分類,這會(huì)造成文本特征稀疏,影響分類精度。近年來,隨著深度學(xué)習(xí)的興起,基于卷積神經(jīng)網(wǎng)絡(luò)(CNN,ConvolutionNeuralNetwork)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,RecurrentNeuralNetwork)的文本分類技術(shù)取得了較大的進(jìn)步,逐漸成為了目前的主流方法。4.1文本分類概述支持向量機(jī)(SVM,SupportVectorMachines)在文本分類任務(wù)上有著良好的性能,具有優(yōu)異的泛化能力。SVM的核心思想是根據(jù)數(shù)據(jù)集的分布情況,找到一個(gè)劃分超平面,使得不同類別之間的距離最大化,如圖11-8中L2所示,到兩類訓(xùn)練樣本的距離都是最大的。支持向量機(jī)是由在分類邊界上的樣本決定的,這可以只關(guān)注關(guān)鍵樣本,避免“維數(shù)災(zāi)難”,并且有優(yōu)秀的泛化能力,根據(jù)問題的不同,替換不同的核函數(shù)進(jìn)行更好的擬合。但是支持向量機(jī)對(duì)特征的選擇十分敏感;數(shù)據(jù)量大時(shí),支持向量機(jī)的訓(xùn)練時(shí)間過長(zhǎng),內(nèi)存消耗較大。4.2支持向量機(jī)分類方法圖11-8SVM超平面劃分圖卷積神經(jīng)網(wǎng)絡(luò)輸入層:文本進(jìn)行分詞、初始化詞向量之后得到的矩陣向量,作為卷積神經(jīng)網(wǎng)絡(luò)的輸入。實(shí)際操作中詞向量的維度一般為100維、200維,預(yù)訓(xùn)練模型如BERT的詞向量大小為768維。卷積層:卷積層是CNN的核心層,具有局部連接、共享權(quán)重的特點(diǎn)。通過設(shè)置不同大小的卷積核,可以提取不同大小的特征。卷積核的大小根據(jù)實(shí)際需要進(jìn)行選擇。池化層:對(duì)數(shù)據(jù)進(jìn)行下采樣,之后進(jìn)行拼接得到語義組合信息。下采樣策略有最大池化(Max-Pooling)、平均池化(Mean-Pooling)等。通過池化層可以將不同長(zhǎng)度的文本轉(zhuǎn)化為相同長(zhǎng)度的維度。全連接層:通過全連接層,將池化層的輸出映射成標(biāo)簽數(shù)量大小的輸出維度。卷積神經(jīng)網(wǎng)絡(luò)所需的參數(shù)更少,與循環(huán)神經(jīng)網(wǎng)絡(luò)相比,訓(xùn)練時(shí)間更短。但是卷積神經(jīng)網(wǎng)絡(luò)不能捕捉長(zhǎng)距離的語義信息,因此循環(huán)神經(jīng)網(wǎng)絡(luò)更適合處理自然語言處理。4.3深度神經(jīng)網(wǎng)絡(luò)方法圖11-9卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖循環(huán)神經(jīng)網(wǎng)絡(luò)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,RecurrentNeuralNetwork)可以存儲(chǔ)短距離的信息,擅長(zhǎng)處理序列數(shù)據(jù)。但是最基本的RNN網(wǎng)絡(luò)往往會(huì)出現(xiàn)梯度消失或者梯度爆炸問題,長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(LSTM,LongShortTermMemory)是RNN模型的一種變形,可避免上述問題。LSTM由輸入門、遺忘門以及輸出門來進(jìn)行信息的存儲(chǔ)與遺忘,具體結(jié)構(gòu)可以回顧第十章。與最基本的RNN相比,LSTM能夠考慮長(zhǎng)距離的語義依賴。當(dāng)前位置的文本信息不僅與前文有關(guān),與下文也有關(guān)系,因此,為了獲取更加完整的語義,有研究者提出了雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Bi-LSTM),將前向LSTM得到的隱層狀態(tài)和后向LSTM得到的隱層狀態(tài)拼接起來,共同決定最終的輸出,模型結(jié)構(gòu)如圖11-10所示。4.3深度神經(jīng)網(wǎng)絡(luò)方法圖11-10Bi-LSTM結(jié)構(gòu)圖文本分類是一種有監(jiān)督的分析方法,而文本聚類分析是一種無監(jiān)督的分析方法。正如第八章中介紹的,文本聚類分析的目的是將文檔集合劃分成不同的子集,使得同一子集中的文檔具有較高的相似性,而不同子集中的文檔相似性較低。在此基礎(chǔ)上,針對(duì)不同子集可以展開進(jìn)一步分析,歸納出它們的特點(diǎn)。因此,文本聚類分析有利于我們對(duì)文檔集合有更全面的認(rèn)識(shí)。由于在實(shí)際應(yīng)用中,我們所獲取的文本數(shù)據(jù)很多都是無標(biāo)簽的,因此文本聚類分析的應(yīng)用場(chǎng)景是比較廣泛的。例如在信息檢索中,對(duì)檢索出的文檔信息進(jìn)行聚類,可以使用戶快速找到自己所需要的信息,提高檢索效率;在電子商務(wù)領(lǐng)域中,通過對(duì)用戶評(píng)論的聚類,可以將信息進(jìn)行有效組織,找出用戶評(píng)論的主題,從而解決信息過載問題,輔助用戶做出決策,此外,可以通過對(duì)用戶評(píng)論中討論的產(chǎn)品特征進(jìn)行聚類,明確用戶所感興趣的產(chǎn)品特征;在醫(yī)學(xué)領(lǐng)域中,通過對(duì)電子病歷文檔進(jìn)行聚類,可以實(shí)現(xiàn)對(duì)不同病種的歸類分析。5.1文本聚類概述基于詞項(xiàng)的相似性度量方法基于詞項(xiàng)的相似度也稱為字面相似度或關(guān)鍵詞相似度,是指原文本中詞項(xiàng)之間的相似度。計(jì)算詞項(xiàng)間的相似度常用的度量方法有如下幾種:Jaccard相似度Jaccard系數(shù)度量了兩個(gè)集合之間的關(guān)系,其定義如下所示。編輯距離編輯距離又稱為L(zhǎng)evenshtein距離,Levenshtein距離關(guān)注的是兩個(gè)詞項(xiàng)之間的差異性,即由一個(gè)詞項(xiàng)轉(zhuǎn)換成另一個(gè)詞項(xiàng)所需要的最小編輯操作次數(shù)。這里的編輯操作是基于字符的操作,即一次操作編輯一個(gè)字符。編輯操作包括添加、刪除或者替換。以兩個(gè)詞項(xiàng)(字符串)a和b為例,它們之間的編輯距離可以定義如下:5.2文本相似性度量方法漢明距離漢明距離(Hamming)則是度量?jī)蓚€(gè)長(zhǎng)度相等的詞項(xiàng)之間的距離。根據(jù)兩個(gè)詞項(xiàng)中對(duì)應(yīng)位不同的數(shù)量來度量相似性大小。漢明距離越大表明相似度越低。假設(shè)兩個(gè)詞項(xiàng)A="文本分析",B="文本挖掘",則根據(jù)漢明距離的定義可知A和B兩者對(duì)應(yīng)位不同的個(gè)數(shù)為2,因此Hamming(A,B)=2;若兩個(gè)詞項(xiàng)A="文本分析",B="挖掘文本",則根據(jù)漢明距離的定義可知A和B兩者對(duì)應(yīng)位不同的個(gè)數(shù)為4,此時(shí)Hamming(A,B)=4。Jaro距離Jaro距離衡量?jī)蓚€(gè)字符串之間的距離,其公式定義如下:5.2文本相似性度量方法基于向量的相似度度量方法基于詞項(xiàng)的相似度主要用于計(jì)算兩個(gè)詞項(xiàng)之間的相似度,而基于向量的相似度度量方法則是將整個(gè)文檔映射成一個(gè)向量再通過計(jì)算向量間的距離計(jì)算文檔之間的相似度,即度量文檔與文檔之間的相似度。這種方式的基本模型稱之為向量空間模型,即文檔集可以看作是一系列特征詞組成的向量空間模型,在向量空間模型中不考慮文檔集中詞語之間的順序關(guān)系。圖11-11描述了向量空間模型的構(gòu)造過程:5.2文本相似性度量方法圖11-11向量空間模型的構(gòu)造過程基于分布的相似性度量方法文檔除了表示成上述的向量空間模型以外,還可以利用主題概率模型進(jìn)行表示。主題概率模型是一種生成式模型,模型中主題表現(xiàn)為文檔集合中若干詞語的條件概率分布,文檔是在多個(gè)主題上的概率分布。我們將在本節(jié)的第三小節(jié)中詳細(xì)介紹主題概率模型。在此,僅討論文檔表示成概率分布以后如何求解文檔與文檔之間的相似性。這時(shí)可以通過統(tǒng)計(jì)距離來度量?jī)烧咧g的相似度,其中最常使用的兩種方法是K-L散度和J-S散度。K-L散度K-L散度的定義公式如下:J-S散度由于K-L散度不具有對(duì)稱性,J-S散度主要用于解決K-L散度的非對(duì)稱性問題,其公式如下:5.2文本相似性度量方法基于深度學(xué)習(xí)的相似性度量方法向量空間模型和主題概率模型都是基于詞的表示但是未能將文檔集合中詞與詞之間的順序關(guān)系以及上下文的語義關(guān)系考慮到建模過程中。為了更好地表達(dá)語義關(guān)系,近年來深度學(xué)習(xí)方法得到迅速發(fā)展。通過表示后可以直接根據(jù)詞向量之間的距離計(jì)算相似度。其中距離公式仍然可以采用余弦相似度計(jì)算公式。下面以Word2vec為例介紹相似度的計(jì)算過程。還是以兩個(gè)文檔為例,假設(shè)文檔A={"文本聚類十分重要。"},B={"文本分類很實(shí)用。"}。首先將文檔A和B分別進(jìn)行分詞處理,處理結(jié)果如下:A={'文本','聚類','十分','重要‘},B={'文本','分類','很','實(shí)用‘}。利用Word2vec對(duì)詞語進(jìn)行表征,實(shí)驗(yàn)中以維基百科語料作為訓(xùn)練語料,選取向量維度為100維,使用Python中的Gensim工具包實(shí)現(xiàn)Word2vec。以特征詞"聚類"為例,最終得到的100維詞向量示例如下:[-7.2159378e-01,7.2500420e-01,4.5519397e-01,1.34977223e-01,-4.4675052e-02,-3.1165814e-01,...,-3.9753205e-01,-1.7396705e-01]。按照上述方法可以得到A、B兩個(gè)文檔中每個(gè)特征詞的詞向量,將詞向量取平均值作為每個(gè)特征詞的表示,這樣每個(gè)句子可以表示成一個(gè)由特征詞詞向量組成的向量模型,對(duì)于向量模型可以采用余弦相似度計(jì)算兩個(gè)向量的相似度,進(jìn)而計(jì)算出兩個(gè)文檔的相似度。上述A、B兩個(gè)文檔經(jīng)過上述步驟得到相似度值為0.7656。5.2文本相似性度量方法主題模型是一種基于模型的聚類方法。它是一種生成式模型,模型中主題表現(xiàn)為文檔集合中若干詞語的條件概率分布,文檔是在多個(gè)主題上的概率分布,即利用主題模型可以將文檔、主題詞從原始的基于詞項(xiàng)的空間映射到同一個(gè)隱形語義空間中,此處的主題又可以稱為話題。通過主題模型可以得到文檔-主題,以及主題-詞概率,而每一個(gè)主題可以認(rèn)為是一類,因此通過主題模型就可以得到主題的特征即每個(gè)主題下的文檔、詞概率分布,進(jìn)而描述出這一類主題的特征,實(shí)現(xiàn)文檔的聚類過程,是一種無監(jiān)督的學(xué)習(xí)方法。5.3主題模型圖11-12主題模型基本結(jié)構(gòu)
5.3主題模型圖11-13PLSA模型的表示LDA主題模型LDA(LatentDirichletAllocation)主題模型是由Blei等學(xué)者在2003年提出的。LDA是PLSA模型的一種改進(jìn),其在PLSA的基礎(chǔ)上加上了貝葉斯框架。從PLSA模型生成文檔過程中可以看出文檔D產(chǎn)生主題Z的概率,主題Z產(chǎn)生單詞W的概率都是固定的值。在LDA中文檔D產(chǎn)生主題Z的概率,主題Z產(chǎn)生單詞W的概率,不再是固定的而是服從多項(xiàng)式分布,分別記為θ和φ,同時(shí)在貝葉斯學(xué)習(xí)中,將狄利克雷分布作為多項(xiàng)式分布的先驗(yàn)分布,模型結(jié)構(gòu)如圖11-14所示。由圖11-14可知,在LDA模型中,可觀測(cè)變量為W。主題分布是服從參數(shù)為α的狄利克雷分布的多項(xiàng)分布,而詞分布是服從參數(shù)為β的狄利克雷分布的多項(xiàng)分布。LDA模型的文檔生成過程可以表示成算法11-3。5.3主題模型圖11-14LDA主題模型概率圖文本數(shù)據(jù)流聚類要求算法具有實(shí)時(shí)性、高效性,即算法對(duì)大量數(shù)據(jù)集不能進(jìn)行多遍掃描;同時(shí)算法要能夠處理概念漂移問題,即隨著數(shù)據(jù)的流入,數(shù)據(jù)模式可能會(huì)發(fā)生改變,因此算法需要具有自適應(yīng)性。由于文本數(shù)據(jù)流比普通數(shù)據(jù)流具有更高的維數(shù)和稀疏性,這使得文本數(shù)據(jù)流的處理具有較大的挑戰(zhàn)性。目前常見的文本數(shù)據(jù)流聚類算法多是在原有算法上的拓展。本節(jié)將介紹OSKM算法和OLDA算法。OSKM算法OSKM(OnlineSphericalK-MeansClustering)算法是Zhong于2005提出的,是目前處理大規(guī)模文本數(shù)據(jù)流聚類比較有代表性的一個(gè)算法。它是一種可擴(kuò)展方法,基本思想是將數(shù)據(jù)流分割成若干個(gè)數(shù)據(jù)子塊,分別連續(xù)地對(duì)各個(gè)數(shù)據(jù)子塊進(jìn)行處理。OSKM算法是在球面K-Means算法上(SPKM)的擴(kuò)展,采用WTA(Winner-Take-All)規(guī)則在線更新聚類中心。引入權(quán)重因素同時(shí)考慮歷史聚類中心和新進(jìn)入文本對(duì)聚類結(jié)果的不同影響,通過衰減因子解決數(shù)據(jù)流的概念漂移問題。OLDA算法OLDA算法也稱為OnlineLDA算法,即在線主題建模。在線主題建??紤]文本的流入順序,將文本集劃分到不同的時(shí)間窗口中。其基本思想是由Alsumait等人于2008年提出的。主要流程為首先在每個(gè)時(shí)間窗口內(nèi)對(duì)新流入的數(shù)據(jù)進(jìn)行主題建模,其次將當(dāng)前生成的模型作為下一時(shí)間段的先驗(yàn)知識(shí)。5.4文本數(shù)據(jù)流聚類算法謝謝!第九章Web分析大數(shù)據(jù)管理與應(yīng)用——主編:王剛副主編:劉婧、邵臻01Web分析概述02Web內(nèi)容分析03Web結(jié)構(gòu)分析04Web使用分析
1.1Web分析概述Web分析的分類Web數(shù)據(jù)的分類作為Web分析的對(duì)象,Web數(shù)據(jù)包括內(nèi)容數(shù)據(jù)(ContentData)、結(jié)構(gòu)數(shù)據(jù)(StructureData)以及日志數(shù)據(jù)(UsageData)三種數(shù)據(jù)類型,分別對(duì)應(yīng)于Web數(shù)據(jù)的語義(Semantic)、語法(Syntactic)與語用(Pragmatic)三個(gè)層次。Web分析方法的分類根據(jù)數(shù)據(jù)的類型,Web數(shù)據(jù)分析也可以分為三類:Web內(nèi)容分析、Web結(jié)構(gòu)分析和Web使用分析。1.1Web分析概述圖12-1Web數(shù)據(jù)分析的分類Web分析面臨的挑戰(zhàn)Web數(shù)據(jù)的高度復(fù)雜性具體體現(xiàn)在數(shù)據(jù)的四個(gè)方面:異構(gòu)性半結(jié)構(gòu)化特性動(dòng)態(tài)性存在噪聲數(shù)據(jù)搜索引擎是獲取Web數(shù)據(jù)的一種重要手段,但是Web數(shù)據(jù)的復(fù)雜性以及常用獲取數(shù)據(jù)方法的缺陷,導(dǎo)致搜索引擎在Web數(shù)據(jù)檢索方面還存在以下問題:豐度問題(AbundanceProblem)有限覆蓋問題(LimitedCoverageProblem)檢索接口的局限性缺少個(gè)性化檢索機(jī)制1.1Web分析概述Web文本挖掘以Web文本為分析對(duì)象的文本挖掘被稱為Web文本挖掘。Web文本挖掘主要通過應(yīng)用數(shù)據(jù)挖掘技術(shù)從Web頁面中的文本內(nèi)容發(fā)現(xiàn)有價(jià)值的信息,幫助人們從大量的Web文本數(shù)據(jù)中找出隱藏的、潛在的關(guān)聯(lián)模式。Web文本挖掘的主要功能包括預(yù)測(cè)和描述。Web文本挖掘的過程與方法Web文本數(shù)據(jù)的種類有很多,所以Web文本挖掘的種類也有很多。雖然Web文本挖掘的方法之間存在著差異性,但是這些方法遵循的處理過程一般都是相同的,如圖12-2所示。1.2Web內(nèi)容分析圖12-2Web文本挖掘的一般過程Web文本挖掘的方法主要包括文本摘要、文本分類和文本聚類等。文本摘要是指從文本(集)中抽取關(guān)鍵信息,以簡(jiǎn)潔的方式對(duì)文本(集)中的主體內(nèi)容進(jìn)行總結(jié)。這樣做可以使用戶在不閱讀全文的情況下就可以對(duì)文本(集)的內(nèi)容有比較全面的了解,使用戶判斷是否需要對(duì)文本(集)深入閱讀。分類的方法被廣泛地應(yīng)用于人類社會(huì)與科學(xué)領(lǐng)域的各個(gè)方面,是人類保存和處理信息與知識(shí)的最有效的方式之一。在Web數(shù)據(jù)的處理中,文本分類是把一些被標(biāo)記的文本作為訓(xùn)練集,按照文本屬性和文本類別之間的關(guān)系模型,然后利用這種關(guān)系模型預(yù)測(cè)待標(biāo)記的文本的類別。文本分類的效果可以用召回率和準(zhǔn)確度來衡量。召回率是正確分類的文檔數(shù)與實(shí)際相關(guān)文檔數(shù)之比,而準(zhǔn)確度是分類中正確分類的文檔與總文檔數(shù)之比。文本聚類是指根據(jù)文本的不同
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職食品營(yíng)養(yǎng)與檢測(cè)(食品營(yíng)養(yǎng)檢測(cè))試題及答案
- 2025年中職烹飪工藝與營(yíng)養(yǎng)(中式烹調(diào)技術(shù))試題及答案
- 2025年大學(xué)葡萄酒文化與營(yíng)銷(葡萄酒營(yíng)銷技術(shù))試題及答案
- 2025年中職(新能源汽車運(yùn)用與維修)檢測(cè)技術(shù)階段測(cè)試試題及答案
- 2025年高職藥品質(zhì)量與安全(食品感官評(píng)價(jià))試題及答案
- 2025年高職化妝品制造技術(shù)(化妝品生產(chǎn)工藝)試題及答案
- 2026年租車服務(wù)(汽車租賃)試題及答案
- 2025年中職(藥劑)藥物制劑綜合實(shí)訓(xùn)階段測(cè)試題及答案
- 2025年大學(xué)園林(園林工程)試題及答案
- 2025年大學(xué)土壤學(xué)(技術(shù)應(yīng)用)試題及答案
- 解讀(2025年版)輸卵管積水造影診斷中國專家共識(shí)
- 高職院校技能大賽指導(dǎo)手冊(cè)
- 軌道交通廢棄物處理-洞察及研究
- 2024年一建網(wǎng)絡(luò)圖案例專題
- 水泥廠安全檢查表
- 預(yù)制管樁防擠施工方案
- 挖掘機(jī)銷售年終總結(jié)報(bào)告
- 農(nóng)村會(huì)計(jì)考試試題及答案
- 集成電路測(cè)試技術(shù)與實(shí)踐 課件 4集成電路測(cè)試運(yùn)算放大器參數(shù)測(cè)試
- T-CES 166-2022 海上風(fēng)電柔性直流送出控制與保護(hù)系統(tǒng)技術(shù)規(guī)范
- 公路養(yǎng)護(hù)養(yǎng)護(hù)安全操作手冊(cè)
評(píng)論
0/150
提交評(píng)論