一種用于大數(shù)據(jù)的并行半定義分類方法與系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出一種用于大數(shù)據(jù)的并行半定義分類方法與系統(tǒng),涉及互聯(lián)網(wǎng)行業(yè)技術(shù)領(lǐng)域,該方法包括串行步驟,獲取文檔的類別變量z、主題變量y、文檔上類別的分布θ、類別上主題的分布π、主題上詞的分布φ,結(jié)合先驗(yàn)參數(shù)α、β、δ,對類別變量z與主題變量y進(jìn)行迭代采樣,直到類別變量z與主題變量y收斂到平穩(wěn)分布,對主題上詞的分布φ、類別上主題的分布π、主題上詞的分布φ進(jìn)行估計(jì),選擇主題上詞的分布φ中概率最高的一個(gè)類別作為文檔的類標(biāo),并根據(jù)類標(biāo)進(jìn)行文檔分類。本發(fā)明解決了海量數(shù)據(jù)下,傳統(tǒng)分類或者半監(jiān)督聚類難以解決的半定義分類問題。
【專利說明】
一種用于大數(shù)據(jù)的并行半定義分類方法與系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及互聯(lián)網(wǎng)行業(yè)技術(shù)領(lǐng)域,特別涉及一種用于大數(shù)據(jù)的并行半定義分類方 法與系統(tǒng)。
【背景技術(shù)】
[0002] 這里首先給出本發(fā)明要解決的半定義分類問題的定義(Zhuang F,Luo P,Shen Z, et al.D-LDA:A Topic Modeling Approach without Constraint Generation for Semi-Defined Classification[C]//Data Mining(ICDM),2010IEEE 10th International Conference on. IEEE,2010:709-718.): -種類別增加的分類學(xué)習(xí)問題,也就是說在分類學(xué) 習(xí)任務(wù)中,訓(xùn)練集中的已知類標(biāo)空間不足以涵蓋預(yù)測集中的所有類標(biāo)空間,已標(biāo)記數(shù)據(jù)集 0 1={((11,11),((12,12)~((1 11,111)},來自已知類別集1((1#1(4£{1,2~11});未標(biāo)記數(shù)據(jù)集011 ={((11+1,(11+2-_(11+山可能來自已知類另1」1(也可能來之未知類別1],我們的目標(biāo)是學(xué)習(xí)一種分 類模型D-KUU,其中DzDiUDu,使得來自已知類另UK的數(shù)據(jù)盡可能正確的分到已知類別,來 自未知類別U的數(shù)據(jù)聚成相應(yīng)的類。
[0003] 傳統(tǒng)的監(jiān)督學(xué)習(xí)涵蓋了各種各樣的分類算法,包括基于熵的決策樹、基于概率的 貝葉斯分類、基于核函數(shù)的支持向量機(jī)、基于神經(jīng)網(wǎng)絡(luò)的分類等等,這些學(xué)習(xí)通常是在類標(biāo) 預(yù)先確定的情況下進(jìn)行的,使用已知類標(biāo)的數(shù)據(jù)進(jìn)行訓(xùn)練然后對未知類標(biāo)的測試數(shù)據(jù)在給 定類標(biāo)空間下進(jìn)行預(yù)測,也就是說這種傳統(tǒng)的分類學(xué)習(xí),預(yù)測樣本類別和訓(xùn)練樣本類別完 全統(tǒng)一。
[0004] 半監(jiān)督聚類則能解決樣本類別不完整的問題,往往針對于少量已標(biāo)注樣本和大量 未標(biāo)注樣本,半監(jiān)督聚類能夠?qū)⑾嚓P(guān)樣本歸到一直類別并將剩余的與已知類別不相似的樣 本聚類,半監(jiān)督聚類有如下幾種方法:
[0005] 1)基于約束的方法
[0006] 這種方法是通過將已有的監(jiān)督信息轉(zhuǎn)化為約束,從而使半監(jiān)督問題成為無監(jiān)督問 題,然后通過解決一個(gè)帶約束的優(yōu)化問題,來找到較優(yōu)的解。點(diǎn)對點(diǎn)約束:
[0007] a)Must_link約束:在這種約束下的兩個(gè)數(shù)據(jù)點(diǎn)一定要聚到同一個(gè)類別。
[0008] b)Cannot-link約束:在這種條件下的數(shù)據(jù)點(diǎn)不能聚到同一類別。
[0009] 在這種約束下求解,將約束條件加入目標(biāo)函數(shù)、強(qiáng)制滿足約束條件。
[0010] 2)基于距離的方法
[0011]傳統(tǒng)的無監(jiān)督算法是通過距離來度量相似度,相似的樣本距離短不相似的樣本距 離長,研究人員通過學(xué)習(xí)標(biāo)簽數(shù)據(jù)設(shè)計(jì)距離函數(shù),融合了已有類別的樣本信息,同時(shí)使得上 述性質(zhì)不變的情況下。常用的距離函數(shù)包括使用凸優(yōu)化的馬氏距離、由最短路徑算法改進(jìn) 的歐式距離及使用梯度下降算法的KL散度等。
[0012] Zhuang等人將這種類別增加分類學(xué)習(xí)問題形式化成半定義學(xué)習(xí),并且提出一個(gè)基 于主題模型的解決辦法,使得能夠?qū)W習(xí)到除已知類別外的未知類別。
[0013] 大多數(shù)傳統(tǒng)的分類學(xué)習(xí)都無法解決類別增加的問題,它們的訓(xùn)練和預(yù)測的類標(biāo)空 間必須保持一致,而實(shí)際的分類往往需要考慮這種問題,比如新聞的分類,由于互聯(lián)網(wǎng)每天 都在產(chǎn)生大量的新聞,在訓(xùn)練模型的時(shí)候可能已經(jīng)人工標(biāo)注了很多類別,但是我們無法窮 舉所有可能的類別,因而可能某些文檔是一些新的類別,它們不應(yīng)當(dāng)被分到以前的任何一 個(gè)類別。
[0014] 半監(jiān)督的聚類方法種類繁多,雖然可以用在半定義分類的問題上,但是往往有如 下幾方面區(qū)別和限制:
[0015] a)半監(jiān)督聚類問題的約束通常數(shù)量少,通常不足以完全代表已知類別的數(shù)據(jù),而 新問題中,半定義分類問題中已知類別的數(shù)據(jù)上有足夠的監(jiān)督信息,以表達(dá)在這些類別上 的特征,而be本發(fā)明就可以有效利用相當(dāng)?shù)谋O(jiān)督信息,訓(xùn)練出較好的分類器。
[0016] b)在半監(jiān)督問題中,約束可能存在于任意的數(shù)據(jù)簇之上,而在半定義問題中,約束 只存在于已知類別的數(shù)據(jù)中,本發(fā)明由于使用了概率模型,所以不需要考慮到這種問題。 [0017] c)通常的半監(jiān)督聚類問題并不要求聚類完全滿足約束,但在此半定義問題中,我 們要求轉(zhuǎn)化所得的約束被完全滿足,本發(fā)明則能夠確保原先已標(biāo)記樣本在分類過程中類別 保持不變。
[0018] d)利用半監(jiān)督聚類的方法解決類別增加的分類問題時(shí),由于約束數(shù)量大,大大增 加了運(yùn)算復(fù)雜度,這種方法時(shí)間復(fù)雜度高,并且解法復(fù)雜,不易于并行化來處理海量數(shù)據(jù), 因而本發(fā)明在這方面就顯示出較高的應(yīng)用價(jià)值,它是一種基于Spark的并行方法。
[0019] Zhuang等人提出的半定義分類解決辦法難以應(yīng)對海量數(shù)據(jù),然而在真實(shí)應(yīng)用場景 中往往面臨大數(shù)據(jù)的挑戰(zhàn),單機(jī)串行模式行不通。
[0020] 綜上,傳統(tǒng)的監(jiān)督學(xué)習(xí)通常是在類標(biāo)預(yù)先確定的情況下進(jìn)行的,使用已知類標(biāo)的 數(shù)據(jù)進(jìn)行訓(xùn)練然后對未知類標(biāo)的測試數(shù)據(jù)在給定類標(biāo)空間下進(jìn)行預(yù)測,然而實(shí)際問題中, 測試數(shù)據(jù)的類別空間往往超過已知類別空間,而半監(jiān)督聚類在處理此類問題也要面臨計(jì)算 復(fù)雜、約束難以滿足等弊端,此外已有的半定義分類學(xué)習(xí)方法包括半監(jiān)督聚類的方法都臨 著無法應(yīng)對海量數(shù)據(jù)的窘境,而實(shí)際應(yīng)用場景往往都會面臨龐大的數(shù)據(jù),所以有必要開發(fā) 出一個(gè)分布式并行算法使得海量數(shù)據(jù)處理成為可能。
【發(fā)明內(nèi)容】
[0021] 針對現(xiàn)有技術(shù)的不足,本發(fā)明提出一種用于大數(shù)據(jù)的并行半定義分類方法與系 統(tǒng)。
[0022] 本發(fā)明提出一種用于大數(shù)據(jù)的并行半定義分類方法,包括
[0023] 串行步驟,獲取文檔的類別變量z、主題變量y、文檔上類別的分布Θ、類別上主題的 分布π、主題上詞的分布φ,結(jié)合先驗(yàn)參數(shù)α、β、δ,對類別變量z與主題變量y進(jìn)行迭代采樣, 直到類別變量z與主題變量y收斂到平穩(wěn)分布,對主題上詞的分布Φ、類別上主題的分布^ 主題上詞的分布Φ進(jìn)行估計(jì),選擇主題上詞的分布Φ中概率最高的一個(gè)類別作為文檔的類 標(biāo),并根據(jù)類標(biāo)進(jìn)行文檔分類。
[0024] 所述串行步驟的具體步驟為:設(shè)迭代總次數(shù)T,主題個(gè)數(shù)L,類別個(gè)數(shù)K,隨機(jī)初始每 個(gè)文檔每個(gè)詞的主題變量y,對于已標(biāo)記文檔,則初始已標(biāo)記文檔的所有詞的類別變量z為 已標(biāo)記文檔的標(biāo)記類標(biāo),對于未標(biāo)記文檔,隨機(jī)初始未標(biāo)記文檔的每個(gè)詞的類別變量z,初 始迭代變量t = 1,當(dāng)?shù)兞縯〈迭代總次數(shù)T時(shí),用變量i作為索引,循環(huán)遍歷文檔的每個(gè) 詞,計(jì)算olf,oft 〇ti:),如果文檔中詞對應(yīng)的文檔未標(biāo)記,更新文檔中詞的類別,否則 更新文檔中詞的主題y,迭代變量t加1,對于未標(biāo)記文檔,根據(jù)計(jì)算未標(biāo)記文檔的所屬類別, 其中〇ti}表示在除去索引i的所有詞項(xiàng)中,屬于文檔d并且類別被標(biāo)記為k的詞項(xiàng)個(gè)數(shù); 表示在除去索引i的所有詞項(xiàng)中,類別被標(biāo)記為k并且主題被標(biāo)記為1的詞項(xiàng)個(gè)數(shù); D表示在除去索引i的所有詞項(xiàng)中,主題被標(biāo)記為1并且文檔中詞對應(yīng)詞典中第v個(gè)詞的 詞項(xiàng)個(gè)數(shù)。
[0025] 其中如果文檔中詞對應(yīng)的文檔未標(biāo)記,根據(jù)以下公式更新文檔中詞的類別:
[0026]
,其中w為詞的變量, [0027]根據(jù)以下公式更新文檔中詞的主題y:
[0029]對于未標(biāo)記文檔,根據(jù)以下公式計(jì)算未標(biāo)記文檔的所屬類別:
[0031]還包括并行步驟,將文檔分為劃分為多個(gè)子文檔,將子文檔分別儲存在相應(yīng)的數(shù) 據(jù)塊中,分別對每個(gè)數(shù)據(jù)塊中的子文檔進(jìn)行串行步驟,達(dá)到并行處理的目的。
[0032]所述并行步驟的具體步驟為將文檔劃分為P個(gè)子文檔,存儲在P個(gè)數(shù)據(jù)塊中,初始 化全局變量Odk,Old,Olv,當(dāng)?shù)兞縯〈迭代總次數(shù)T時(shí),通過串行步驟進(jìn)行學(xué)習(xí),獲取統(tǒng)計(jì)量 0i,,更新全局統(tǒng)計(jì)量
[0036]傳播更新后的全局統(tǒng)計(jì)量到Ρ個(gè)數(shù)據(jù)塊,迭代變量t加1。
[0037] 本發(fā)明還提出一種用于大數(shù)據(jù)的并行半定義分類系統(tǒng),包括
[0038] 串行模塊,用于獲取文檔的類別變量z、主題變量y、文檔上類別的分布Θ、類別上主 題的分布1主題上詞的分布Φ,結(jié)合先驗(yàn)參數(shù)α、β、δ,對類別變量z與主題變量 y進(jìn)行迭代采 樣,直到類別變量z與主題變量y收斂到平穩(wěn)分布,對主題上詞的分布Φ、類別上主題的分布 I主題上詞的分布Φ進(jìn)行估計(jì),選擇主題上詞的分布Φ中概率最高的一個(gè)類別作為文檔的 類標(biāo),并根據(jù)類標(biāo)進(jìn)行文檔分類。
[0039] 所述串行模塊包括為:設(shè)迭代總次數(shù)T,主題個(gè)數(shù)L,類別個(gè)數(shù)K,隨機(jī)初始每個(gè)文檔 每個(gè)詞的主題變量y,對于已標(biāo)記文檔,則初始已標(biāo)記文檔的所有詞的類別變量z為已標(biāo)記 文檔的標(biāo)記類標(biāo),對于未標(biāo)記文檔,隨機(jī)初始未標(biāo)記文檔的每個(gè)詞的類別變量z,初始迭代 變量t= 1,當(dāng)?shù)兞縯〈迭代總次數(shù)T時(shí),用變量i作為索引,循環(huán)遍歷文檔的每個(gè)詞,計(jì)算 〇iv_i),如果文檔中詞對應(yīng)的文檔未標(biāo)記,更新文檔中詞的類別,否則更新 文檔中詞的主題y,迭代變量t加1,對于未標(biāo)記文檔,根據(jù)計(jì)算未標(biāo)記文檔的所屬類別,其中 表示在除去索引i的所有詞項(xiàng)中,屬于文檔d并且類別被標(biāo)記為k的詞項(xiàng)個(gè)數(shù);表 示在除去索引i的所有詞項(xiàng)中,類別被標(biāo)記為k并且主題被標(biāo)記為1的詞項(xiàng)個(gè)數(shù);表示 在除去索引i的所有詞項(xiàng)中,主題被標(biāo)記為1并且文檔中詞對應(yīng)詞典中第v個(gè)詞的詞項(xiàng)個(gè)數(shù)。
[0040]其中如果文檔中詞對應(yīng)的文檔未標(biāo)記,根據(jù)以下公式更新文檔中詞的類別:
[0041 ]
,其中w為詞的變量,
[0042]根據(jù)以下公式更新文檔中詞的主題y:
[0044]對于未標(biāo)記文檔,根據(jù)以下公式計(jì)算未標(biāo)記文檔的所屬類別:
[0046] 還包括并行模塊,用于將文檔分為劃分為多個(gè)子文檔,將子文檔分別儲存在相應(yīng) 的數(shù)據(jù)塊中,分別對每個(gè)數(shù)據(jù)塊中的子文檔進(jìn)行串行步驟,達(dá)到并行處理的目的。
[0047] 所述并行模塊包括將文檔劃分為P個(gè)子文檔,存儲在P個(gè)數(shù)據(jù)塊中,初始化全局變 量Odk,0ki,Ο?ν,當(dāng)?shù)兞縯〈迭代總次數(shù)T時(shí),通過串行步驟進(jìn)行學(xué)習(xí),獲取統(tǒng)計(jì)量 0Ik,01,01,更新全局統(tǒng)計(jì)量
[005? ]傳播更新后的全局統(tǒng)計(jì)量到P個(gè)數(shù)據(jù)塊,迭代變量t加 1。
[0052] 由以上方案可知,本發(fā)明的優(yōu)點(diǎn)在于:
[0053] 本發(fā)明首先定義了一種半定義分類問題,然后設(shè)計(jì)了一種基于Spark的分布式半 定義分類方法,從而解決了海量數(shù)據(jù)下,傳統(tǒng)分類或者半監(jiān)督聚類難以解決的半定義分類 問題,本發(fā)明模型簡單,其中半監(jiān)督聚類往往通過將監(jiān)督樣本轉(zhuǎn)化為約束條件來解一個(gè)非 常復(fù)雜的帶約束的優(yōu)化問題,這種基于概率模型的方法可以很容易得使用Gibbs采樣進(jìn)行 求解;易于并行,本發(fā)明隨著數(shù)據(jù)增加處理時(shí)間線性增長,非常有利于分布式并行,而半監(jiān) 督聚類往往是平方或者指數(shù)的時(shí)間復(fù)雜度。
【附圖說明】
[0054] 圖1為一種基于概率模型的半定義分類方法圖;
[0055] 圖2為基于Spark的半定義分類并行框架圖;
[0056] 圖3為串行與并行半定義分類算法效率對比圖;
[0057] 圖4為并行半定義分類算法擴(kuò)展率圖;
[0058] 圖5為并行半定義分類算法伸縮率圖;
[0059] 圖6為并行半定義分類算法加速比圖;
[0060] 圖7為四臺節(jié)點(diǎn)的配置圖。
【具體實(shí)施方式】
[0061 ]首先給出串行半定義分類方法,然后給出該方法的Spark分布式并行版本。
[0062] 圖1是一種基于概率模型的半定義分類方法圖,它是一種半監(jiān)督的主題模型,其中 z是類別變量,y是主題變量,Θ是文檔上類別的分布,π是類別上主題的分布,φ是主題上詞 的分布,α、β、δ是圖模型的一些先驗(yàn)參數(shù),那么該方法使用Gibbs采樣來對主題變量和類別 變量進(jìn)行迭代采樣,直到這些收斂到平穩(wěn)分布,然后去估計(jì)θ、π、φ這三個(gè)分布,其中Θ則表 明某篇待分類的文檔屬于各個(gè)類別的概率,選擇其中最高的一個(gè)類別作為該文檔的類標(biāo), 在解決類別增加的問題時(shí),本發(fā)明首先已知監(jiān)督樣本的類別個(gè)數(shù)|Κ|,然后通過設(shè)置需要增 加的位置類別的個(gè)數(shù)IU |,從而使得最終個(gè)類別空間為K U U。
[0063] 本發(fā)明方法的詳細(xì)步驟如下所示:
[0064] 輸入:文檔集D = DlUDu,迭代總次數(shù)Τ,主題個(gè)數(shù)L,類別個(gè)數(shù)Κ(包括已知類別個(gè)數(shù) 和未知類別個(gè)數(shù)),先驗(yàn)參數(shù)α,β,δ;
[0065] 輸出:對于每個(gè)未標(biāo)記文檔輸出一個(gè)類標(biāo)。
[0066] 以下為詳細(xì)的算法步驟,如下所示:
[0067] 隨機(jī)初始每個(gè)文檔每個(gè)詞的主題變量y,對于已標(biāo)記文檔初始它的所有詞的類別 變量z為它的標(biāo)記類標(biāo),對于未標(biāo)記文檔隨機(jī)初始它的每個(gè)詞的類別變量z,初始迭代變量t =1,當(dāng)t〈T時(shí),,用變量i作為索引,循環(huán)遍歷整個(gè)語料(每篇文檔的每個(gè)詞),計(jì)算 ,如果該詞對應(yīng)的文檔未標(biāo)記,根據(jù)公式(1)更新該詞類別,否則根據(jù)公 式(2)更新該詞的主題yi,t = t+l,對于每篇未標(biāo)記文檔,根據(jù)公式(3)計(jì)算其所屬類別
[0071]上述方法中,
[0072] C^j)表示在除去i的所有詞項(xiàng)中,屬于文檔d并且類別被標(biāo)記為k的詞項(xiàng)個(gè)數(shù)。
[0073] 0&1)表示在除去i的所有詞項(xiàng)中,類別被標(biāo)記為k并且主題被標(biāo)記為1的詞項(xiàng)個(gè) 數(shù)。
[0074] 0$1)表示在除去i的所有詞項(xiàng)中,主題被標(biāo)記為1并且該詞對應(yīng)詞典中第v個(gè)詞的 詞項(xiàng)個(gè)數(shù)。
[0075]在使用Spark分布式平臺并行該算法時(shí),使用數(shù)據(jù)分塊的思路,每一個(gè)單獨(dú)的數(shù)據(jù) 塊依舊使用上述串行方法進(jìn)行計(jì)算,然后進(jìn)行整體,反復(fù)迭代,并行算法的流程如圖2所示: [0076] 輸入:文檔集D = DlUDu,迭代次數(shù)總T,主題個(gè)數(shù)L,類別個(gè)數(shù)K(包括已知類別個(gè)數(shù) 和未知類別個(gè)數(shù)),先驗(yàn)參數(shù)α,β,δ,以及劃分個(gè)數(shù)P;
[0077] 輸出:對于每個(gè)未標(biāo)記文檔輸出一個(gè)類標(biāo)。
[0078] 以下為詳細(xì)的算法步驟,如下所示:
[0079] 將文檔集D劃分為Ρ個(gè)子文檔集{Dp | p e {1,2…Ρ}},初始化全局變量Odk,Oki,Ο?ν,當(dāng) t<T時(shí),使用串行算法進(jìn)行學(xué)習(xí),得到統(tǒng)計(jì)量〇|,,更新全局統(tǒng)計(jì)量
[0083]傳播上面三個(gè)全局統(tǒng)計(jì)量到P個(gè)數(shù)據(jù)塊,t = t+Ι,對于每篇未標(biāo)記文檔,根據(jù)公式 (3)計(jì)算其所屬類別
[0084]舉例說明,試驗(yàn)中本發(fā)明使用文本數(shù)據(jù)格式如下,包括訓(xùn)練文本和預(yù)測文本:
[0085] 訓(xùn)練文本
[0086]
[0087] 預(yù)測文本
[0089] 可以看出訓(xùn)練文本只包含2類數(shù)據(jù),而預(yù)測文本包含4類數(shù)據(jù)。那么我們將上述訓(xùn) 練文本和預(yù)測文本作為算法的輸入,設(shè)置類別個(gè)數(shù)K = 4,先驗(yàn)參數(shù)α = 0.05,β = 0.01,δ = 〇.〇1,然后輸入至Spark分布式算法中,然后算法步驟一步步運(yùn)行,最終輸出每篇預(yù)測文本 的類標(biāo)。
[0090] 考慮到對于增加的類別,它的類標(biāo)只是一個(gè)編號而已,就像聚類一樣,類標(biāo)編號沒 有實(shí)際意義而重要的是相似的文檔聚到了一個(gè)類,因而這里采用NMI評價(jià)指標(biāo),
[0092]其中P是聚類結(jié)果的類別分布,L是真實(shí)類標(biāo)的分布,NMI能夠衡量衡量聚類結(jié)果的 類標(biāo)分布與真實(shí)類標(biāo)分布到底有多相似,匪I值越大,則聚類結(jié)果越接近真實(shí)類標(biāo),其中I (P.L)是聚類結(jié)果分布和真實(shí)類標(biāo)分布的互信息,H(P)是聚類結(jié)果分布的熵,H(L)是真是類 標(biāo)分布的熵。
[0093]試驗(yàn)中本發(fā)明使用四臺節(jié)點(diǎn)進(jìn)行計(jì)算,節(jié)點(diǎn)配置如下,其中每個(gè)節(jié)點(diǎn)是多核,可以 模擬多個(gè)子節(jié)點(diǎn),如圖7為四臺節(jié)點(diǎn)的配置圖。
[0094]同時(shí)為了測試并行效率,將文本通過復(fù)制的方式進(jìn)行擴(kuò)充。
[0096]圖3顯示了本發(fā)明的分布式和串行版本的實(shí)驗(yàn)效果,試驗(yàn)中分布式算法使用8倍數(shù) 據(jù)運(yùn)行在4個(gè)節(jié)點(diǎn)下,串行則運(yùn)行在單機(jī)一個(gè)節(jié)點(diǎn)上,可以看出NMI指標(biāo)收斂到0.8,表明我 們的方法具有一個(gè)較好的分類效果,也驗(yàn)證了我們算法的正確性,同時(shí),分布式算法在迭代 時(shí)間約400000ms時(shí)收斂,串行算法約800000ms收斂,收斂速度快了 2倍。
[0097]圖4顯示了分布式算法的擴(kuò)展率,由于多機(jī)具有通信代價(jià),分布式每次算法迭代時(shí) 都需要通信,理想情況下應(yīng)該在1附近。
[0098] 圖5顯示算法隨著數(shù)據(jù)的增加,運(yùn)行時(shí)間的變化,換句話說就是直觀的反映了算法 的時(shí)間復(fù)雜度,該分布式算法的運(yùn)行時(shí)間基本上是隨著數(shù)據(jù)量增加線性變化的,線性復(fù)雜 度的算法往往具有較高的可并行性。
[0099] 圖6顯示分布式算法的加速比隨著節(jié)點(diǎn)數(shù)增加線性增加,也就是說增加節(jié)點(diǎn)能夠 加快處理速度,當(dāng)數(shù)據(jù)量足夠大的時(shí)候,加速比也逐增加,這主要是因?yàn)楫?dāng)數(shù)據(jù)量較少時(shí), 節(jié)點(diǎn)間的數(shù)據(jù)傳輸時(shí)間占主導(dǎo)地位,當(dāng)數(shù)據(jù)量變大時(shí),處理數(shù)據(jù)的時(shí)間會逐漸變大,因此, 加速比會隨著數(shù)據(jù)量的增加而增大。
[0100] 本發(fā)明還提出一種用于大數(shù)據(jù)的并行半定義分類系統(tǒng),包括
[0101] 串行模塊,用于獲取文檔的類別變量z、主題變量y、文檔上類別的分布Θ、類別上主 題的分布1主題上詞的分布Φ,結(jié)合先驗(yàn)參數(shù)α、β、δ,對類別變量z與主題變量 y進(jìn)行迭代采 樣,直到類別變量z與主題變量y收斂到平穩(wěn)分布,對主題上詞的分布Φ、類別上主題的分布 I主題上詞的分布Φ進(jìn)行估計(jì),選擇主題上詞的分布Φ中概率最高的一個(gè)類別作為文檔的 類標(biāo),并根據(jù)類標(biāo)進(jìn)行文檔分類。
[0102] 所述串行模塊包括為:設(shè)迭代總次數(shù)T,主題個(gè)數(shù)L,類別個(gè)數(shù)K,隨機(jī)初始每個(gè)文檔 每個(gè)詞的主題變量y,對于已標(biāo)記文檔,則初始已標(biāo)記文檔的所有詞的類別變量z為已標(biāo)記 文檔的標(biāo)記類標(biāo),對于未標(biāo)記文檔,隨機(jī)初始未標(biāo)記文檔的每個(gè)詞的類別變量z,初始迭代 變量t= 1,當(dāng)?shù)兞縯〈迭代總次數(shù)T時(shí),用變量i作為索引,循環(huán)遍歷文檔的每個(gè)詞,計(jì)算 ofl 0&1),如果文檔中詞對應(yīng)的文檔未標(biāo)記,更新文檔中詞的類別,否則更新 文檔中詞的主題y,迭代變量t加1,對于未標(biāo)記文檔,根據(jù)計(jì)算未標(biāo)記文檔的所屬類別,其中 表示在除去索引i的所有詞項(xiàng)中,屬于文檔d并且類別被標(biāo)記為k的詞項(xiàng)個(gè)數(shù);〇^^表 示在除去索引i的所有詞項(xiàng)中,類別被標(biāo)記為k并且主題被標(biāo)記為1的詞項(xiàng)個(gè)數(shù);〇fv_i)表示 在除去索引i的所有詞項(xiàng)中,主題被標(biāo)記為1并且文檔中詞對應(yīng)詞典中第v個(gè)詞的詞項(xiàng)個(gè)數(shù)。
[0103] 如果文檔中詞對應(yīng)的文檔未標(biāo)記,根據(jù)以下公式更新文檔中詞的類別:
[0104]
其中w為詞的變量, [0105]根據(jù)以下公式更新文檔中詞的主題y:
[0107]對于未標(biāo)記文檔,根據(jù)以下公式計(jì)算未標(biāo)記文檔的所屬類別:
[0109]并行模塊,用于將文檔分為劃分為多個(gè)子文檔,將子文檔分別儲存在相應(yīng)的數(shù)據(jù) 塊中,分別對每個(gè)數(shù)據(jù)塊中的子文檔進(jìn)行串行步驟,達(dá)到并行處理的目的。
[0110]所述并行模塊包括:將文檔劃分為P個(gè)子文檔,存儲在P個(gè)數(shù)據(jù)塊中,初始化全局變 量Odk,0ki,Olv,當(dāng)?shù)兞縯〈迭代總次數(shù)T時(shí),通過串行步驟進(jìn)行學(xué)習(xí),獲取統(tǒng)計(jì)量 0lk,0^1,<,更新全局統(tǒng)計(jì)量
[0114]傳播更新后的全局統(tǒng)計(jì)量到P個(gè)數(shù)據(jù)塊,迭代變量t加 1。
【主權(quán)項(xiàng)】
1. 一種用于大數(shù)據(jù)的并行半定義分類方法,其特征在于,包括 串行步驟,獲取文檔的類別變量Z、主題變量y、文檔上類別的分布Θ、類別上主題的分布 31、主題上詞的分布Φ,結(jié)合先驗(yàn)參數(shù)α、β、δ,對類別變量Z與主題變量y進(jìn)行迭代采樣,直到 類別變量Z與主題變量y收斂到平穩(wěn)分布,對主題上詞的分布Φ、類別上主題的分布31、主題 上詞的分布Φ進(jìn)行估計(jì),選擇主題上詞的分布Φ中概率最高的一個(gè)類別作為文檔的類標(biāo), 并根據(jù)類標(biāo)進(jìn)行文檔分類。2. 如權(quán)利要求1所述的用于大數(shù)據(jù)的并行半定義分類方法,其特征在于,所述串行步驟 的具體步驟為:設(shè)迭代總次數(shù)T,主題個(gè)數(shù)L,類別個(gè)數(shù)K,隨機(jī)初始每個(gè)文檔每個(gè)詞的主題變 量y,對于已標(biāo)記文檔,則初始已標(biāo)記文檔的所有詞的類別變量Z為已標(biāo)記文檔的標(biāo)記類標(biāo), 對于未標(biāo)記文檔,隨機(jī)初始未標(biāo)記文檔的每個(gè)詞的類別變量Z,初始迭代變量t = 1,當(dāng)?shù)?變量t <迭代總次數(shù)T時(shí),用變量i作為索引,循環(huán)遍歷文檔的每個(gè)詞,計(jì)算 0^0,扮,〇L-9,如果文檔中詞對應(yīng)的文檔未標(biāo)記,更新文檔中詞的類別,否則更新文檔 中詞的主題y,迭代變量t加1,對于未標(biāo)記文檔,根據(jù)計(jì)算未標(biāo)記文檔的所屬類別,其中 表示在除去索引i的所有詞項(xiàng)中,屬于文檔d并且類別被標(biāo)記為k的詞項(xiàng)個(gè)數(shù);表 示在除去索引i的所有詞項(xiàng)中,類別被標(biāo)記為k并且主題被標(biāo)記為1的詞項(xiàng)個(gè)數(shù);表示 在除去索引i的所有詞項(xiàng)中,主題被標(biāo)記為1并且文檔中詞對應(yīng)詞典中第V個(gè)詞的詞項(xiàng)個(gè)數(shù)。3. 如權(quán)利要求2所述的用于大數(shù)據(jù)的并行半定義分類方法,其特征在于,其中如果文檔 中詞對應(yīng)的文檔未標(biāo)記,根據(jù)W下公式更新文檔中詞的類別:4. 如權(quán)利要求1所述的用于大數(shù)據(jù)的并行半定義分類方法,其特征在于,還包括并行步 驟,將文檔分為劃分為多個(gè)子文檔,將子文檔分別儲存在相應(yīng)的數(shù)據(jù)塊中,分別對每個(gè)數(shù)據(jù) 塊中的子文檔進(jìn)行串行步驟,達(dá)到并行處理的目的。5. 如權(quán)利要求2或4所述的用于大數(shù)據(jù)的并行半定義分類方法,其特征在于,所述并行 步驟的具體步驟為將文檔劃分為P個(gè)子文檔,存儲在P個(gè)數(shù)據(jù)塊中,初始化全局變量Odk,Oki, Oiv,當(dāng)?shù)兞縯<迭代總次數(shù)Τ時(shí),通過串行步驟進(jìn)行學(xué)習(xí),獲取統(tǒng)計(jì)量瑪k, Ojl, Ofv, 更新全局統(tǒng)計(jì)量傳播更新后的全局統(tǒng)計(jì)量到P個(gè)數(shù)據(jù)塊,迭代變量巧口 1。6. -種用于大數(shù)據(jù)的并行半定義分類系統(tǒng),其特征在于,包括 串行模塊,用于獲取文檔的類別變量Z、主題變量y、文檔上類別的分布Θ、類別上主題的 分布π、主題上詞的分布Φ,結(jié)合先驗(yàn)參數(shù)α、β、δ,對類別變量Z與主題變量y進(jìn)行迭代采樣, 直到類別變量Z與主題變量y收斂到平穩(wěn)分布,對主題上詞的分布Φ、類別上主題的分布π、 主題上詞的分布Φ進(jìn)行估計(jì),選擇主題上詞的分布Φ中概率最高的一個(gè)類別作為文檔的類 標(biāo),并根據(jù)類標(biāo)進(jìn)行文檔分類。7. 如權(quán)利要求6所述的用于大數(shù)據(jù)的并行半定義分類系統(tǒng),其特征在于,所述串行模塊 包括為:設(shè)迭代總次數(shù)Τ,主題個(gè)數(shù)L,類別個(gè)數(shù)Κ,隨機(jī)初始每個(gè)文檔每個(gè)詞的主題變量y,對 于已標(biāo)記文檔,則初始已標(biāo)記文檔的所有詞的類別變量Z為已標(biāo)記文檔的標(biāo)記類標(biāo),對于未 標(biāo)記文檔,隨機(jī)初始未標(biāo)記文檔的每個(gè)詞的類別變量Z,初始迭代變量t = 1,當(dāng)?shù)兞縯< 迭代總次數(shù)T時(shí),用變量i作為索引,循環(huán)遍歷文檔的每個(gè)詞,計(jì)算〇紀(jì)〇, 〇護(hù)口,如 果文檔中詞對應(yīng)的文檔未標(biāo)記,更新文檔中詞的類別,否則更新文檔中詞的主題y,迭代變 量巧日1,對于未標(biāo)記文檔,根據(jù)計(jì)算未標(biāo)記文檔的所屬類別,其中0^0表示在除去索引i的 所有詞項(xiàng)中,屬于文檔d并且類別被標(biāo)記為k的詞項(xiàng)個(gè)數(shù);表示在除去索引i的所有詞 項(xiàng)中,類別被標(biāo)記為k并且主題被標(biāo)記為1的詞項(xiàng)個(gè)數(shù);表示在除去索引i的所有詞項(xiàng) 中,主題被標(biāo)記為1并且文檔中詞對應(yīng)詞典中第V個(gè)詞的詞項(xiàng)個(gè)數(shù)。8. 如權(quán)利要求7所述的用于大數(shù)據(jù)的并行半定義分類系統(tǒng),其特征在于,其中如果文檔 中詞對應(yīng)的文檔未標(biāo)記,根據(jù)W下公式更新文檔中詞的類別:,其中W為詞的變量,根據(jù) W下公式更新文檔中詞的主題y:對于未標(biāo)記文檔,根據(jù)W下公式計(jì)算未標(biāo)記文檔的所屬類別:9. 如權(quán)利要求6所述的用于大數(shù)據(jù)的并行半定義分類系統(tǒng),其特征在于,還包括并行模 塊,用于將文檔分為劃分為多個(gè)子文檔,將子文檔分別儲存在相應(yīng)的數(shù)據(jù)塊中,分別對每個(gè) 數(shù)據(jù)塊中的子文檔進(jìn)行串行步驟,達(dá)到并行處理的目的。10. 如權(quán)利要求7或9所述的用于大數(shù)據(jù)的并行半定義分類系統(tǒng),其特征在于,所述并行 模塊包括將文檔劃分為P個(gè)子文檔,存儲在P個(gè)數(shù)據(jù)塊中,初始化全局變量Odk,Oki,化V,當(dāng)?shù)?代變量t<迭代總次數(shù)T時(shí),通過串行步驟進(jìn)行學(xué)習(xí),獲取統(tǒng)計(jì)量,Ofi,Ofv,更新全局 統(tǒng)計(jì)量傳播更新后的全局統(tǒng)計(jì)量到P個(gè)數(shù)據(jù)塊,迭代變量巧口 1。
【文檔編號】G06F17/30GK106096063SQ201610570978
【公開日】2016年11月9日
【申請日】2016年7月19日
【發(fā)明人】閆肅, 莊福振, 敖翔, 羅平, 何清
【申請人】中國科學(xué)院計(jì)算技術(shù)研究所