国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法

      文檔序號:10687635閱讀:599來源:國知局
      一種基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法
      【專利摘要】本發(fā)明公開了一種基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法包括:獲取待訓(xùn)練數(shù)據(jù)并分塊為多個分塊數(shù)據(jù);為每個分塊數(shù)據(jù)構(gòu)建一個相對應(yīng)的貝葉斯子網(wǎng)絡(luò);使用每個貝葉斯子網(wǎng)絡(luò)同時進(jìn)行分類預(yù)測任務(wù)。本發(fā)明通過使用并行學(xué)習(xí)獲得多個子網(wǎng)結(jié)構(gòu)并同時進(jìn)行預(yù)測分類任務(wù)的技術(shù)方案,節(jié)省了數(shù)據(jù)量較大情況下貝葉斯網(wǎng)絡(luò)學(xué)習(xí)的時間成本,并在特定數(shù)據(jù)集下取得了較好的表現(xiàn)。
      【專利說明】
      一種基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法
      技術(shù)領(lǐng)域
      [0001] 本發(fā)明涉及分類預(yù)測,特別地,涉及一種基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法。
      【背景技術(shù)】
      [0002] 貝葉斯網(wǎng)絡(luò)作為表示隨機(jī)變量之間因果關(guān)系的一種手段,被認(rèn)為適于應(yīng)用于分類 預(yù)測或成因分析等任務(wù),而使用貝葉斯網(wǎng)絡(luò)模型完成的分類預(yù)測任務(wù)的準(zhǔn)確率往往也的確 高于其他通用算法。然而,由于貝葉斯網(wǎng)絡(luò)的學(xué)習(xí)過程的空間與時間復(fù)雜度,及對其結(jié)構(gòu)理 解的難度,貝葉斯網(wǎng)絡(luò)在分類預(yù)測任務(wù)的情境中沒有得到廣泛的應(yīng)用。以最大最小爬山算 法的啟發(fā)式算法為例,其時間復(fù)雜度具有不確定性。在計算數(shù)據(jù)量較大的情況下,算法收斂 的時間可能隨數(shù)據(jù)量的增加呈指數(shù)級增長。
      [0003] 針對現(xiàn)有技術(shù)中計算數(shù)據(jù)量較大的情況下傳統(tǒng)貝葉斯網(wǎng)絡(luò)學(xué)習(xí)算法學(xué)習(xí)時間過 長的問題,目前尚未有有效的解決方法。

      【發(fā)明內(nèi)容】

      [0004] 有鑒于此,本發(fā)明的目的在于提出一種基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法,能夠在 數(shù)據(jù)量較大情況下節(jié)省貝葉斯網(wǎng)絡(luò)學(xué)習(xí)的時間成本,并具有更好的學(xué)習(xí)效果。
      [0005] 基于上述目的,本發(fā)明提供的一種基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法,其特征在于, 包括:
      [0006] 獲取待訓(xùn)練數(shù)據(jù)并分塊為多個分塊數(shù)據(jù);
      [0007] 為每個分塊數(shù)據(jù)構(gòu)建一個相對應(yīng)的貝葉斯子網(wǎng)絡(luò);
      [0008] 使用每個貝葉斯子網(wǎng)絡(luò)同時進(jìn)行分類預(yù)測任務(wù)。
      [0009] 其中,獲取待訓(xùn)練數(shù)據(jù)并分塊為多個分塊數(shù)據(jù)包括:
      [0010] 獲取待訓(xùn)練數(shù)據(jù)集合D,并確定分塊數(shù)據(jù)個數(shù)η;
      [0011] 將待訓(xùn)練數(shù)據(jù)集合D平均分割成η個數(shù)據(jù)塊(D1,D2,…,Dn}。
      [0012] 并且,確定分塊數(shù)據(jù)個數(shù)η包括:
      [0013] 為待訓(xùn)練數(shù)據(jù)集合D指定最大分塊數(shù)量Smax;
      [0014] 生成k個分塊方案,第一個分塊方案為分成4塊,此后每一個分塊方案的分塊數(shù)目
      都是前一方案的2倍,其中
      [0015] 根據(jù)貝葉斯網(wǎng)絡(luò)評甘稱佃,甘別別^個甘I犬萬案建立測試網(wǎng)絡(luò)Ntest與對應(yīng)的數(shù)據(jù) 子集Dtest并進(jìn)行評估,將得分最高的方案的分塊數(shù)量值賦給η。
      [0016] 同時,為每個分塊數(shù)據(jù)構(gòu)建一個相對應(yīng)的貝葉斯子網(wǎng)絡(luò)包括:
      [0017] 獲取先驗知識K;
      [0018]輸入η個數(shù)據(jù)塊(D1 ,D2,…,Dn}與先驗知識K,使用最小最大爬山算法訓(xùn)練并輸出η 個貝葉斯子網(wǎng)
      [0019]并且,使用最小最大爬山算法訓(xùn)練并輸出η個貝葉斯子網(wǎng){N^Ns,···,Νη}包括:
      [0020]根據(jù)每一個輸入數(shù)據(jù)中的屬性fi,生成候選集合CPC,候選集合CPC中包括與屬性fi 關(guān)系密切的節(jié)點{f I,f2,…,fx};
      [0021] 根據(jù)貝葉斯網(wǎng)絡(luò)評分標(biāo)準(zhǔn),對候選集合CPC中的節(jié)點進(jìn)行爬山搜索,通過算子操作 構(gòu)建出η個貝葉斯子網(wǎng)^,^,…具},其中,算子操作包括:加邊、減邊、反轉(zhuǎn)邊。
      [0022] 同時,使用每個貝葉斯子網(wǎng)絡(luò)同時進(jìn)行分類預(yù)測任務(wù)包括:
      [0023]獲取測試數(shù)據(jù)集DT,測試數(shù)據(jù)集Dt包括t條測試樣例{cU,^,···,dt};
      [0024] 使用η個貝葉斯子網(wǎng){他,犯,···,^}對任一條測試樣例Cl1進(jìn)行分類預(yù)測,獲得η個分 類預(yù)測結(jié)果Irii,ri2,…,η η};
      [0025] 使用η個貝葉斯子網(wǎng){他,犯,···,^}對t條測試樣例Cl1進(jìn)行分類預(yù)測,獲得子網(wǎng)分類 預(yù)測結(jié)果M,分類子網(wǎng)預(yù)測結(jié)果M為tXn的矩陣;
      [0026] 獲取t條測試樣例{di,d2,…,dt}的類信息{Ci,C2,…,C t}并生成類型值Y,類型值Y 為t Xl的矩陣;
      [0027] 根據(jù)子網(wǎng)分類預(yù)測結(jié)果M構(gòu)建弱分類器,使用提升方法將弱分類器升級為強(qiáng)分類 器,并使用強(qiáng)分類器獲得最終分類預(yù)測結(jié)果。
      [0028]并且,使用貝葉斯網(wǎng)絡(luò)對測試樣例進(jìn)行分類預(yù)測,為對概率分布ρ(Χ1,···,Χη,(:),使 用arg max{p(c| Tic) OIL1 p(Xi Ini, Ν)}對變量c進(jìn)行預(yù)測,其中,N為變量C,X1,…,Xn的貝 葉斯網(wǎng)絡(luò)結(jié)構(gòu)4。是類變量C的父節(jié)點集1^的配置。
      [0029] 同時,根據(jù)子網(wǎng)分類預(yù)測結(jié)果M構(gòu)建弱分類器,使用提升方法將弱分類器升級為強(qiáng) 分類器,并使用強(qiáng)分類器獲得最終分類預(yù)測結(jié)果包括:
      [0030] 從子網(wǎng)分類預(yù)測結(jié)果M中提取出每一條測試樣例Cl1的分類預(yù)測結(jié)果{m,ri2,…, Tin};
      [0031] 根據(jù)每一條測試樣例Cl1的分類預(yù)測結(jié)果{ril,rl2,…,r in}與η個貝葉斯子網(wǎng){仏, Ν2,···,Νη}的權(quán)重{ri,r2,···,rn}構(gòu)建弱分類器{wci,wc2,···,wcm};
      [0032] 使用最大化對數(shù)似然函數(shù)迭代弱分類器{wC1,WC2,~,WCm},其中,每次迭代過程均 包括更新每次回歸擬合的變量與通過最小二乘法進(jìn)行加權(quán)回歸;
      [0033] 對所有加權(quán)回歸函數(shù)求和獲得強(qiáng)分類器sc,并使用強(qiáng)分類器sc獲得最終分類預(yù)測 結(jié)果。
      [0034] 從上面所述可以看出,本發(fā)明提供的技術(shù)方案通過使用并行學(xué)習(xí)獲得多個子網(wǎng)結(jié) 構(gòu)并同時進(jìn)行預(yù)測分類任務(wù)的技術(shù)方案,節(jié)省了數(shù)據(jù)量較大情況下貝葉斯網(wǎng)絡(luò)學(xué)習(xí)的時間 成本,并在特定數(shù)據(jù)集下取得了較好的表現(xiàn)。
      【附圖說明】
      [0035] 為了更清楚地說明本公開的實施例,下面將對實施例描述中所需要使用的附圖作 簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本公開的一些實施例,對于本領(lǐng)域普通 技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0036] 圖1為本發(fā)明實施例提供的基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法的流程圖;
      [0037] 圖2為本發(fā)明實施例提供的基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法中,進(jìn)行分布式并行 學(xué)習(xí)階段的流程示意圖;
      [0038] 圖3為本發(fā)明實施例提供的基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法中,根據(jù)子網(wǎng)的預(yù)測 結(jié)果進(jìn)行預(yù)測階段的流程示意圖;
      [0039] 圖4為本發(fā)明實施例提供的基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法中,貝葉斯子網(wǎng)執(zhí)行 MapReduce方法的架構(gòu)圖。
      [0040] 通過上述附圖,已示出本公開明確的實施例,后文中將有更詳細(xì)的描述。這些附圖 和文字描述并不是為了通過任何方式限制本公開構(gòu)思的范圍,而是通過參考特定實施例為 本領(lǐng)域技術(shù)人員說明本公開的概念。
      【具體實施方式】
      [0041] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照 附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
      [0042]需要說明的是,本發(fā)明實施例中所有使用"第一"和"第二"的表述均是為了區(qū)分兩 個相同名稱非相同的實體或者非相同的參量,可見"第一" "第二"僅為了表述的方便,不應(yīng) 理解為對本發(fā)明實施例的限定,后續(xù)實施例對此不再一一說明。
      [0043] 根據(jù)本發(fā)明的一個實施例,提供了一中基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法。
      [0044] 如圖1所示,根據(jù)本發(fā)明實施例提供的基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法包括:
      [0045] 步驟SlOl,獲取待訓(xùn)練數(shù)據(jù)并分塊為多個分塊數(shù)據(jù);
      [0046] 步驟S103,為每個分塊數(shù)據(jù)構(gòu)建一個相對應(yīng)的貝葉斯子網(wǎng)絡(luò);
      [0047]步驟S105,使用每個貝葉斯子網(wǎng)絡(luò)同時進(jìn)行分類預(yù)測任務(wù)。
      [0048] 其中,獲取待訓(xùn)練數(shù)據(jù)并分塊為多個分塊數(shù)據(jù)包括:
      [0049] 獲取待訓(xùn)練數(shù)據(jù)集合D,并確定分塊數(shù)據(jù)個數(shù)η;
      [0050] 將待訓(xùn)練數(shù)據(jù)集合D平均分割成η個數(shù)據(jù)塊{D^Ds,…,Dn}。
      [0051 ]并且,確定分塊數(shù)據(jù)個數(shù)η包括:
      [0052]為待訓(xùn)練數(shù)據(jù)集合D指定最大分塊數(shù)量Smax;
      [0053]生成k個分塊方案,第一個分塊方案為分成4塊,此后每一個分塊方案的分塊數(shù)目 都是前一方案的2倍,其中,= [Iog2 SmasJ - 1;
      [0054] 根據(jù)貝葉斯網(wǎng)絡(luò)評分標(biāo)準(zhǔn),分別對k個分塊方案建立測試網(wǎng)絡(luò)Ntest與對應(yīng)的數(shù)據(jù) 子集Dtost并進(jìn)行評估,將得分最高的方案的分塊數(shù)量值賦給η。
      [0055] 同時,為每個分塊數(shù)據(jù)構(gòu)建一個相對應(yīng)的貝葉斯子網(wǎng)絡(luò)包括:
      [0056] 獲取先驗知識K;
      [0057] 輸入η個數(shù)據(jù)塊{Di,D2,…,Dn}與先驗知識K,使用最小最大爬山算法訓(xùn)練并輸出η 個貝葉斯子網(wǎng){N1,N2,…,Nn},其中,A = ar/3 (AZx ID, /(),x e [ 1,η ]。
      [0058] 并且,使用最小最大爬山算法訓(xùn)練并輸出η個貝葉斯子網(wǎng){見,他,···,Νη}包括:
      [0059] 根據(jù)每一個輸入數(shù)據(jù)中的屬性fi,生成候選集合CPC,候選集合CPC中包括與屬性fi 關(guān)系密切的節(jié)點{f 1,f2,…,fx};
      [0060] 根據(jù)貝葉斯網(wǎng)絡(luò)評分標(biāo)準(zhǔn),對候選集合CPC中的節(jié)點進(jìn)行爬山搜索,通過算子操作 構(gòu)建出η個貝葉斯子網(wǎng)^,^,…具},其中,算子操作包括:加邊、減邊、反轉(zhuǎn)邊。
      [0061] 同時,使用每個貝葉斯子網(wǎng)絡(luò)同時進(jìn)行分類預(yù)測任務(wù)包括:
      [0062]獲取測試數(shù)據(jù)集DT,測試數(shù)據(jù)集Dt包括t條測試樣例{cU,^,···,dt};
      [0063]使用η個貝葉斯子網(wǎng){他,犯,···,^}對任一條測試樣例Cl1進(jìn)行分類預(yù)測,獲得η個分 類預(yù)測結(jié)果Irii,ri2,…,ηη};
      [0064] 使用η個貝葉斯子網(wǎng){他,犯,···,^}對t條測試樣例Cl1進(jìn)行分類預(yù)測,獲得子網(wǎng)分類 預(yù)測結(jié)果M,分類子網(wǎng)預(yù)測結(jié)果M為tXn的矩陣;
      [0065] 獲取t條測試樣例{di,d2,…,dt}的類信息{Ci,C2,…,C t}并生成類型值Y,類型值Y 為t Xl的矩陣;
      [0066] 根據(jù)子網(wǎng)分類預(yù)測結(jié)果M構(gòu)建弱分類器,使用提升方法將弱分類器升級為強(qiáng)分類 器,并使用強(qiáng)分類器獲得最終分類預(yù)測結(jié)果。
      [0067]并且,使用貝葉斯網(wǎng)絡(luò)對測試樣例進(jìn)行分類預(yù)測,為對概率分布ρ(Χ1,···,Χη,(:),使 用arg max{p(c|ttc) HlU P〇q|τη, Ν)}對變量C進(jìn)行預(yù)測,其中,N為變量C,X1,…,Xn的貝 葉斯網(wǎng)絡(luò)結(jié)構(gòu)4。是類變量C的父節(jié)點集1^的配置。
      [0068] 在0-1損失下,貝葉斯網(wǎng)絡(luò)分類器是最優(yōu)分類器。
      [0069] 同時,根據(jù)子網(wǎng)分類預(yù)測結(jié)果M構(gòu)建弱分類器,使用提升方法將弱分類器升級為強(qiáng) 分類器,并使用強(qiáng)分類器獲得最終分類預(yù)測結(jié)果包括:
      [0070] 從子網(wǎng)分類預(yù)測結(jié)果M中提取出每一條測試樣例Cl1的分類預(yù)測結(jié)果{m,ri2,…, Tin};
      [0071] 根據(jù)每一條測試樣例Cl1的分類預(yù)測結(jié)果{ril,rl2,…,r in}與η個貝葉斯子網(wǎng){仏, Ν2,···,Νη}的權(quán)重{ri,r2,···,rn}構(gòu)建弱分類器{wci,wc2,···,wcm};
      [0072] 使用最大化對數(shù)似然函數(shù)迭代弱分類器{wC1,WC2,~,WCm},其中,每次迭代過程均 包括更新每次回歸擬合的變量與通過最小二乘法進(jìn)行加權(quán)回歸;
      [0073] 對所有加權(quán)回歸函數(shù)求和獲得強(qiáng)分類器sc,并使用強(qiáng)分類器sc獲得最終分類預(yù)測 結(jié)果。
      [0074] 下面根據(jù)具體實施例進(jìn)一步闡述本發(fā)明的技術(shù)方案。
      [0075]貝葉斯網(wǎng)絡(luò)用于確定變量之間的關(guān)系。理想的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)能夠出色地描述數(shù) 據(jù)中各個變量之間的關(guān)系,并能在推理預(yù)測任務(wù)中帶來較好的表現(xiàn)。
      [0076] 傳統(tǒng)的貝葉斯網(wǎng)絡(luò)學(xué)習(xí)方法主要分為兩類:一類是由領(lǐng)域?qū)<掖_定變量之間的因 果關(guān)系,采用人工的方法完成構(gòu)建。另一種方法是從現(xiàn)有的數(shù)據(jù)中學(xué)習(xí),通過計算自動學(xué)習(xí) 網(wǎng)絡(luò)。本發(fā)明主要使用的思路是打分-搜索方案,根據(jù)給定的數(shù)據(jù)集合D與先驗知識K,通過 爬山、貪心搜索方法,確定一個網(wǎng)絡(luò)結(jié)構(gòu)N,使后驗概率P (NID,K)最大。
      [0077] N=argmaxNP(N | D ,K)
      [0078] 尋找最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)N的過程已被證明是一個NP難問題。
      [0079] MMHC(Max-Min Hill Climbing,最大最小爬山)算法通過計算變量兩兩之間的條 件獨立性,從而確定出與一個變量可能具有因果關(guān)系的其他變量,然后基于打分-搜索機(jī) 制,結(jié)合爬山算法的思想得到輸入數(shù)據(jù)集合D上的網(wǎng)絡(luò)結(jié)構(gòu)N 13MMHC算法通過輸入的數(shù)據(jù)集 合D進(jìn)行結(jié)構(gòu)學(xué)習(xí),它結(jié)合了基于約束的構(gòu)造方法與基于打分-搜索方法兩種思想,采用BIC (Bayesian Information Criterions,貝葉斯網(wǎng)絡(luò)評分標(biāo)準(zhǔn)),在給定數(shù)據(jù)集合的搜索空間 下得到局部最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)N13MMHC算法可以分為兩個階段,階段一對于每一個輸入數(shù)據(jù)中 的屬性fi,找出與它關(guān)系密切的節(jié)點{fi,f2,…,fx}作為CPC(candidate parents and children of T,候選集合的父集合與子集合)中的節(jié)點;然后構(gòu)建網(wǎng)絡(luò)N,從空圖開始,根據(jù) 貝葉斯網(wǎng)絡(luò)評分標(biāo)準(zhǔn)BIC,進(jìn)行加邊、減邊和反轉(zhuǎn)邊三個算子的操作,完成貪婪爬山搜索。
      [0080] MMHC算法在實驗中能夠得到較理想的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)N。然而在輸入的訓(xùn)練數(shù)據(jù) 集合D包含屬性較多,或是樣例數(shù)量較大的情況下,由于學(xué)習(xí)結(jié)構(gòu)需要進(jìn)行的計算量激增, 訓(xùn)練算法的收斂時間會非常長。
      [0081] 為了加速貝葉斯網(wǎng)絡(luò)的學(xué)習(xí),本發(fā)明實施例的技術(shù)方案分為兩個階段。
      [0082]階段一:進(jìn)行分布式并行學(xué)習(xí)。如圖2所示,本發(fā)明實施例將訓(xùn)練數(shù)據(jù)集合D平均分 割成η個數(shù)據(jù)塊(D1,D2,…,Dn},分別執(zhí)行MMHC算法完成訓(xùn)練。訓(xùn)練任務(wù)由MapReduce框架下 的訓(xùn)練方法完成。得益于MapReduce框架的并行計算能力,以及在數(shù)據(jù)量較小時MMHC算法的 較低時間代價,我們能夠在較短的時間內(nèi)得到分塊數(shù)據(jù){D^Ds,···,D n}的訓(xùn)練結(jié)果一一包含 η個子網(wǎng)的集合(N1 ,N2,···,&}。由于這些網(wǎng)絡(luò)結(jié)構(gòu)來自數(shù)據(jù)集合D的子集(D^D2, ···,0"},故 稱其為子網(wǎng)。
      [0083]階段二:根據(jù)子網(wǎng)的預(yù)測結(jié)果進(jìn)行預(yù)測。如圖3所示,本發(fā)明實施例使用子網(wǎng){仏, N2,…,Νη}對測試數(shù)據(jù)集Dt進(jìn)行預(yù)測,設(shè)測試數(shù)據(jù)Dt包含t條測試樣例,對于同一條測試樣例 cU,將得到來自子網(wǎng)集合{他,犯,~具}的η個預(yù)測結(jié)果{ri,rwn}。全體測試數(shù)據(jù)的子網(wǎng) 預(yù)測結(jié)果被表示為M,M是一個t Xη的矩陣。其中每一行對應(yīng)全體子網(wǎng)(N1J2,···,&}輸入同 一條測試樣例cU的預(yù)測結(jié)果。圖中最右側(cè)Y是一個t Xl的矩陣,對應(yīng)每一條測試樣例Cl1的類 信息,如T +a=
      [0084]
      [0085]
      [0086]
      [0087]可以看出,子網(wǎng)的預(yù)測結(jié)果中出現(xiàn)正確類信息的概率非常高;事實上,實驗中絕大 多數(shù)情況下,都存在子網(wǎng)正確預(yù)測的中間結(jié)果。本發(fā)明在預(yù)測結(jié)果矩陣M的基礎(chǔ)上構(gòu)建弱分 類器,結(jié)合提升(Boosting)思想,以真實數(shù)據(jù)作為檢驗標(biāo)準(zhǔn),形成一個類投票機(jī)制,組合弱 分類器得到強(qiáng)分類器,進(jìn)而計算得出最終的預(yù)測結(jié)果。
      [0088]特別需要指出的是,本發(fā)明實施例使用的不是權(quán)重矩陣合并多個子網(wǎng){他,犯,···, Nn}的結(jié)構(gòu)信息的方法,而是利用子網(wǎng)預(yù)測的中間結(jié)果M來進(jìn)行分類預(yù)測的方法。結(jié)合 Boosting的方法思想,利用多個子網(wǎng)的結(jié)構(gòu)同時進(jìn)行分類預(yù)測任務(wù),模型在任務(wù)中的正確 率才能夠得到保證。
      [0089]圖4示出的是MapReduce的架構(gòu)圖。如圖4所示,MapReduce編程架構(gòu)采用分而治之 的思想,將需要處理的數(shù)據(jù)進(jìn)行切分,在Map階段將切分得到的每一個分塊分別進(jìn)行計算, 在Reduce階段將計算的結(jié)果整合。
      [0090] MapReduce任務(wù)可以分成兩個階段,第一個階段為map階段,指的是Hadoop平臺調(diào) 用多臺機(jī)器的計算能力來對切分好的η個任務(wù)分別進(jìn)行計算處理;第二個階段為Reduce階 段,指的是對前一階段得到的η個分塊的結(jié)果進(jìn)行進(jìn)一步處理,從而得到歸并后的結(jié)果。這 樣處理方案可以很大程度上解決由于所處理的數(shù)據(jù)量過大,導(dǎo)致的程序運(yùn)行時間過長的問 題。
      [0091] 針對貝葉斯網(wǎng)絡(luò)學(xué)習(xí)的算法,本文采用借助MR編程架構(gòu)的并行處理模式,使用多 個節(jié)點同時完成貝葉斯網(wǎng)絡(luò)的學(xué)習(xí)任務(wù)。如前所述,大量數(shù)據(jù)的并行訓(xùn)練步驟包含2個階 段:(1)數(shù)據(jù)評估與切分;(2)并行本地學(xué)習(xí)。
      [0092] 在第一階段的數(shù)據(jù)評估與切分過程中,數(shù)據(jù)被切分成η份。本發(fā)明實施例通過BIC 的打分機(jī)制來評估不同的分塊數(shù)目下得到的網(wǎng)絡(luò)對于對應(yīng)數(shù)據(jù)的描述能力,并判斷η的合 適取值。對于輸入的數(shù)據(jù)集D,我們指定一個最大分塊數(shù)量S max,從4分塊開始生成分塊方案。 接下來的劃分?jǐn)?shù)據(jù)塊數(shù)目將在前一方案的基礎(chǔ)上乘2。我們假設(shè)方案數(shù)量為k,那么k與S max 的關(guān)系滿足下式:
      [0093]
      [0094] 在得到k個分塊方案后,模型將分別對k個方案進(jìn)行評估,就這些方案各建立一個 測試網(wǎng)絡(luò)Ntest,并對得到的網(wǎng)絡(luò)結(jié)構(gòu)N test和對應(yīng)數(shù)據(jù)子集Dtest進(jìn)行打分評估。得分最高的方 案的分塊數(shù)量η將作為最優(yōu)分塊方案。
      [0095] 經(jīng)過分塊處理我們將得到η塊大小為M的子數(shù)據(jù)塊,然后提交至Hadoop進(jìn)行網(wǎng)絡(luò) η 結(jié)構(gòu)學(xué)習(xí),模型進(jìn)行計算和收斂后得到子網(wǎng){見,他,···,^}作為輸出結(jié)果。
      [0096] 提升(Boosting)方法是一種常用的分類方法,它的基本思路是在同一問題情境下 通過更改訓(xùn)練樣本特征{f I,f 2,…,fm}的權(quán)值,來學(xué)習(xí)多個弱分類器{WC1,WC2,…,WCm},在多 次迭代過程中進(jìn)行調(diào)整,將多個弱分類器線性組合成一個強(qiáng)分類器SC。
      [0097] 在本發(fā)明實施例中,由于各個子網(wǎng)(N1 ,N2,…,Nn}是由分塊的數(shù)據(jù)(D1,D2,…,D n}訓(xùn) 練得來,在對于整個數(shù)據(jù)集合的描述能力上弱于使用整個數(shù)據(jù)集合訓(xùn)練得到的網(wǎng)絡(luò)N。 [0098]在完成階段一,得到η個子網(wǎng){見,犯,···,N n}以后,一個直接的問題是如何利用這些 結(jié)果。
      [0099] 一種方案是將各個子網(wǎng){他,犯,···,&}視為弱分類器,在訓(xùn)練數(shù)據(jù)D與測試數(shù)據(jù)Dt 間構(gòu)建一個映射,而完成這一映射的方法即為不斷更新訓(xùn)練數(shù)據(jù)樣例的權(quán)值,來組合多個 弱分類器(子網(wǎng)的概率推理)??梢员硎緸椋?br>[0100]
      [0101 ]其中,{f,f2,…,fm}表示訓(xùn)練數(shù)據(jù)包含的全體屬性,由于屬性數(shù)量為m,對應(yīng)的系 數(shù)集合{αι,α2,…,am}的大小也為nuDw表示經(jīng)過權(quán)重調(diào)整后的輸入數(shù)據(jù)集。Boosting方法通 過調(diào)整輸入的測試數(shù)據(jù)的權(quán)重來讓弱分類器組合,從而達(dá)到更好的預(yù)測效果。
      [0102] 另一種方案是不再將子網(wǎng)(N1,N2, ···,&}看做分類器。而是基于子網(wǎng)的預(yù)測結(jié)果M 做二次分類。
      [0103] 記子網(wǎng)集對每一條樣例的預(yù)測結(jié)果為{ri,r2,H_,rn},可以表示為
      [0104]
      [0105] 分類器的目標(biāo)在于在子網(wǎng)預(yù)測結(jié)果M與測試樣例的類信息Y間建立一個映射。我們 引入系數(shù)集合Ia1^ 2, ···,~}來對每個子網(wǎng)的預(yù)測結(jié)果的權(quán)重進(jìn)行調(diào)整。先使用子網(wǎng){他, Ν2,···,Νη}對全體測試數(shù)據(jù)Dt做預(yù)測,由于子網(wǎng)的個數(shù)為n,對于某一條測試樣例,我們將得 至Ijn個預(yù)測結(jié)果{ri,r2,…,r n},這幾個結(jié)果可能預(yù)測準(zhǔn)確,也有可能不準(zhǔn)。Boosting方法通 過調(diào)整{η,Γ2,···,r n}各項在預(yù)測任務(wù)中所占的權(quán)重,在這η個預(yù)測結(jié)果和測試數(shù)據(jù)的類信 息Y之間建立一個映射。Boosting方法中的弱分類器將基于子網(wǎng)的預(yù)測結(jié)果M構(gòu)建。
      [0106] 兩種方案比較起來,第二種方案具有較高的可操作性。同時,我們對比了子網(wǎng)的預(yù) 測結(jié)果{rw_,rn}與測試數(shù)據(jù)的類信息,在絕大部分情況下,子網(wǎng)的預(yù)測結(jié)果{ ri,r2,···, rn}中已經(jīng)包含了正確結(jié)果(即絕大部分情況下,存在能夠預(yù)測準(zhǔn)確的子網(wǎng)結(jié)果)。
      [0107] 因此,本發(fā)明實施例提出一種基于子網(wǎng)預(yù)測結(jié)果的Boosting方案,利用前一階段 給出的子網(wǎng)結(jié)構(gòu){他,犯,···,&}與全體數(shù)據(jù)D進(jìn)行預(yù)測。對于每一條測試數(shù)據(jù),都有η個來自 不同子網(wǎng)的預(yù)測結(jié)果。然后我們在此基礎(chǔ)上構(gòu)建簡單分類器。可以將這個過程理解為每一 個子網(wǎng){見,犯,···,^}對最終的結(jié)果取值做了一次投票,在這個投票過程中需要考慮各個子 網(wǎng)給出的結(jié)果的權(quán)重{η, Γ2,···,rn},而目標(biāo)是找出能夠讓這個投票機(jī)制達(dá)到最高準(zhǔn)確率的 數(shù)據(jù)與分類器組合。
      [0108]本發(fā)明實施例使用LogitBoost算法來完成這一目標(biāo)。LogitBoost算法采用最大化 對數(shù)似然函數(shù)推導(dǎo)。算法在每一次迭代過程中,先更新每次回歸擬合的變量,然后通過最小 二乘法做一個加權(quán)回歸,最后將所有回歸函數(shù)的和作為最終的分類器。
      [0109]在使用子網(wǎng),利用全體數(shù)據(jù)進(jìn)行預(yù)測的任務(wù)中,我們先用不同的子網(wǎng)分別預(yù)測得 到結(jié)果,可以將各個弱分類器使用Boosting方法組合,形成一個類投票機(jī)制,得到一個強(qiáng)分 類器,用于給出最終的預(yù)測結(jié)果。LogitBoost算法能在學(xué)習(xí)過程中不斷減少訓(xùn)練誤差,即在 訓(xùn)練數(shù)據(jù)集上的分類誤差率。
      [0110]綜上所述,本發(fā)明從減少學(xué)習(xí)算法所用時間的目標(biāo)出發(fā),提出一種結(jié)合MapReduce 編程框架與MMHC算法的學(xué)習(xí)貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)的方法。該方法首先將訓(xùn)練數(shù)據(jù)分塊,利用分 塊數(shù)據(jù)訓(xùn)練得到多個貝葉斯網(wǎng)絡(luò)子網(wǎng),然后利用這些子網(wǎng)同時進(jìn)行分類預(yù)測任務(wù)。多個子 網(wǎng)的預(yù)測結(jié)果的組合過程用到了Boosting方法,實驗證明,對于Nursery數(shù)據(jù)集,樸素貝葉 斯分類器在準(zhǔn)確度方面的表現(xiàn)不如貝葉斯網(wǎng)絡(luò)分類器;在時間性能上,樸素貝葉斯由于不 需要進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)而能得到最高的時間性能,與此同時,貝葉斯網(wǎng)絡(luò)分類器的學(xué)習(xí)時 間成本遠(yuǎn)高于樸素貝葉斯分類器,將其學(xué)習(xí)過程進(jìn)行并行化處理有利于縮短時間成本,同 時會在正確率上有所損失。本發(fā)明的方法在大大加快貝葉斯網(wǎng)絡(luò)的訓(xùn)練過程的同時,保證 了較高的分類預(yù)測準(zhǔn)確率,節(jié)省了數(shù)據(jù)量較大情況下貝葉斯網(wǎng)絡(luò)學(xué)習(xí)的時間成本,并在特 定數(shù)據(jù)集下取得了較好的表現(xiàn)。
      [0111]所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實施例的討論僅為示例性的,并非 旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實施例 中的技術(shù)特征之間也可以進(jìn)行組合,并存在如上所述的本發(fā)明的不同方面的許多其它變 化,為了簡明它們沒有在細(xì)節(jié)中提供。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省 略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      【主權(quán)項】
      1. 一種基于貝葉斯網(wǎng)絡(luò)的分類預(yù)測方法,其特征在于,包括: 獲取待訓(xùn)練數(shù)據(jù)并分塊為多個分塊數(shù)據(jù); 為每個所述分塊數(shù)據(jù)構(gòu)建一個相對應(yīng)的貝葉斯子網(wǎng)絡(luò); 使用每個所述貝葉斯子網(wǎng)絡(luò)同時進(jìn)行分類預(yù)測任務(wù)。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取待訓(xùn)練數(shù)據(jù)并分塊為多個分塊數(shù) 據(jù)包括: 獲取待訓(xùn)練數(shù)據(jù)集合D,并確定分塊數(shù)據(jù)個數(shù)η; 將所述待訓(xùn)練數(shù)據(jù)集合D平均分割成η個數(shù)據(jù)塊{D^Ds,…,Dn}。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述確定分塊數(shù)據(jù)個數(shù)η包括: 為所述待訓(xùn)練數(shù)據(jù)集合D指定最大分塊數(shù)量Smax; 生成k個分塊方案,第一個分塊方案為分成4塊,此后每一個分塊方案的分塊數(shù)目都是 前一方案的2倍,其中,fc = !j〇g2SmC!;J - 1.; 根據(jù)貝葉斯網(wǎng)絡(luò)評分標(biāo)準(zhǔn),分別對所述k個分塊方案建立測試網(wǎng)絡(luò)Ntest與對應(yīng)的數(shù)據(jù)子 集Dtest并進(jìn)行評估,將得分最高的方案的分塊數(shù)量值賦給η。4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,為每個所述分塊數(shù)據(jù)構(gòu)建一個相對應(yīng)的貝 葉斯子網(wǎng)絡(luò)包括: 獲取先驗知識Κ; 輸入所述η個數(shù)據(jù)塊與所述先驗知識Κ,使用最小最大爬山算法訓(xùn)練并輸 出 η個貝葉斯子網(wǎng){見,N2,…,Nn },其中,乂: = artgmax;v;r Ρ (ΛΓΧ 丨 Z), AT),X e [ 1,n ]。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述使用最小最大爬山算法訓(xùn)練并輸出η 個貝葉斯子網(wǎng){^…具}包括: 根據(jù)每一個輸入數(shù)據(jù)中的屬性^,生成候選集合CPC,所述候選集合CPC中包括與所述屬 性fi關(guān)系密切的節(jié)點{f 1,f2,…,fx}; 根據(jù)貝葉斯網(wǎng)絡(luò)評分標(biāo)準(zhǔn),對所述候選集合CPC中的節(jié)點進(jìn)行爬山搜索,通過算子操作 構(gòu)建出η個貝葉斯子網(wǎng){N^fe,···,Nn},其中,所述算子操作包括:加邊、減邊、反轉(zhuǎn)邊。6. 根據(jù)權(quán)利要求4所述的方法,其特征在于,使用每個所述貝葉斯子網(wǎng)絡(luò)同時進(jìn)行分類 預(yù)測任務(wù)包括: 獲取測試數(shù)據(jù)集DT,所述測試數(shù)據(jù)集DT包括t條測試樣例{cb,d2,…,d t}; 使用所述η個貝葉斯子網(wǎng){他,N2,…,Nn}對任一條測試樣例cU進(jìn)行分類預(yù)測,獲得η個分 類預(yù)測結(jié)果Irii,ri2,…,ηη}; 使用所述η個貝葉斯子網(wǎng){他,N2,…,Nn}對t條測試樣例cU進(jìn)行分類預(yù)測,獲得子網(wǎng)分類 預(yù)測結(jié)果M,所述分類子網(wǎng)預(yù)測結(jié)果Μ為tXn的矩陣; 獲取t條測試樣例{di,d2,…,dt}的類信息{ci,C2,…,ct}并生成類型值Y,所述類型值Y 為t XI的矩陣; 根據(jù)所述子網(wǎng)分類預(yù)測結(jié)果Μ構(gòu)建弱分類器,使用提升方法將弱分類器升級為強(qiáng)分類 器,并使用強(qiáng)分類器獲得最終分類預(yù)測結(jié)果。7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,使用所述貝葉斯網(wǎng)絡(luò)對測試樣例進(jìn)行分類 預(yù)測,為對概率分布P(XI,…,Xn,C),使用arg max{p(c|TTc) Hf=:1 p(Xi|71丨,Ν)}對變量C進(jìn) 行預(yù)測,其中,N為變量CA,…,Xn的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu),π。是類變量C的父節(jié)點集山的配置。8.根據(jù)權(quán)利要求6所述的方法,其特征在于,根據(jù)所述子網(wǎng)分類預(yù)測結(jié)果Μ構(gòu)建弱分類 器,使用提升方法將弱分類器升級為強(qiáng)分類器,并使用強(qiáng)分類器獲得最終分類預(yù)測結(jié)果包 括: 從所述子網(wǎng)分類預(yù)測結(jié)果Μ中提取出每一條測試樣例cU的分類預(yù)測結(jié)果{m,ri2,···, Tin}; 根據(jù)所述每一條測試樣例6的分類預(yù)測結(jié)果{^^12,"_,^11}與所述11個貝葉斯子網(wǎng) {Νι,Ν2,···,Nn}的權(quán)重{ri,r2,···,rn}構(gòu)建弱分類器{wci,wc2,…,wcm}; 使用最大化對數(shù)似然函數(shù)迭代所述弱分類器{wC1,WC2,~,WCm},其中,每次迭代過程均 包括更新每次回歸擬合的變量與通過最小二乘法進(jìn)行加權(quán)回歸; 對所有加權(quán)回歸函數(shù)求和獲得強(qiáng)分類器SC,并使用所述強(qiáng)分類器SC獲得最終分類預(yù)測 結(jié)果。
      【文檔編號】G06K9/62GK106056164SQ201610412995
      【公開日】2016年10月26日
      【申請日】2016年6月13日
      【發(fā)明人】孫鵬飛, 胡婕, 吳國仕, 熊秋
      【申請人】北京郵電大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1