[發明專利]一種基于MapReduce的大規模貝葉斯網并行推理方法有效
| 申請號: | 201310709499.9 | 申請日: | 2013-12-21 |
| 公開(公告)號: | CN103744878B | 公開(公告)日: | 2017-02-01 |
| 發明(設計)人: | 岳昆;徐娟;方啟宇;張驥先;田凱琳;劉惟一 | 申請(專利權)人: | 云南大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 昆明慧翔專利事務所53112 | 代理人: | 程韻波 |
| 地址: | 650091 云南省*** | 國省代碼: | 云南;53 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 mapreduce 大規模 貝葉斯網 并行 推理 方法 | ||
1.一種基于MapReduce的大規模貝葉斯網并行推理方法,其特征在于:按以下步驟完成:
(1)?大規模貝葉斯網的分布式存儲
一個貝葉斯網是一個有向無環圖,表示為G=(V,?E),其中:V={A1,?…,?An}為節點的集合,n為G中節點的個數;E為有向邊的集合;每個節點Ai(1≤i≤n)有一張條件概率參數表,簡記為CPT,描述了Ai的父親節點集Pa(Ai)對Ai的影響,包含Ai不同取值的條件概率P(ai|Pa(ai)),Pa(ai)為Pa(Ai)的值,為了能高效地進行大規模貝葉斯網的概率推理,首先將貝葉斯網存儲到磁盤上,即保存以下兩類信息:貝葉斯網中節點間的父子關系,以及各節點的條件概率參數表;
對于運行在Hadoop分布式文件系統HDFS之上的分布式數據庫HBase,可通過Hadoop主節點(NameNode)來操作HBase,貝葉斯網的存儲,就是將上述兩類信息按照HBase的格式分布式地存儲到Hadoop平臺中的各數據節點(DataNode)上;
分別針對G中的每個節點Ai,將Ai、Pa(Ai)及Ai的條件概率參數表以<key,?value>形式、作為一行存儲到HBase的表TBN中,其中:Ai為行標識;key表示為“列族名=列族成員”形式,Ai?Pa(Ai)為列族名,aiPa(ai)為列族成員;value為P(ai|Pa(ai)),對于每個節點Ai,基于MapReduce,使用Map函數并行地讀取Ai的條件概率參數表中的每一個P(ai|Pa(ai))值,并存儲為TBN中邏輯形式為(Ai?||?Ai?Pa(Ai)=aiPa(ai)?||?P(ai|Pa(ai)))的一行,“||”為行標識、key和value的邏輯分隔符,從而,可通過Hadoop主節點來訪問HBase,進而支持貝葉斯網的推理;
(2)?貝葉斯網的并行推理
以后驗概率計算為典型代表的概率計算,是貝葉斯網推理的幾類任務,其本質是查找各節點的條件概率參數表、并利用貝葉斯網中的條件獨立性來簡化聯合概率分布的計算,貝葉斯網G之上的后驗概率計算,就是計算給定證據節點值情形下查詢節點值的概率,表示為P(Q=q|E=e),其中:E和Q分別為證據節點和查詢節點,E∈V,Q∈V,E∩Q=φ;e和q分別為E和Q的值,
首先,分解概率推理任務,
根據?,將推理任務轉換為P(Q=q,?E=e)和
P(E=e)這兩個邊緣概率分布的計算,P(Q=q,?E=e)是針對q和e、以及不在Q和E中的那些隱節點(即V-Q-E)的所有可能取值組合情形下的聯合概率分布之和,又根據G中的條件獨立性將每個聯合概率分布轉換為一系列條件概率分布的乘積,通過查詢HBase得到條件概率分布;P(E=e)是針對e、以及不在E中的那些隱節點(即V-E)的所有可能取值組合情形下的聯合概率分布之和,
將q和e、以及V-Q-E中節點所有可能取值的組合,以文件形式存儲到HDFS,記為TJDP,每個組合為一行;
接著,基于MapReduce查詢HBase,并計算相關聯合概率分布,
使用Map函數并行地查詢TBN中的每一行r,依次考慮TJDP中的所有行,結果以<key,?value>的形式寫入HDFS的文件FJDP中,其中:key為TJDP中包含r的列族成員的行,value為r的value(即G中的某一條件概率值);使用Reduce函數對文件FJDP中的<key,?value>對按key分組,并將各組具有相同key的所有value相乘,從而得到針對q和e、以及V-Q-E中節點各可能取值組合情形下的聯合概率分布,
然后,計算邊緣概率分布,得到后驗概率分布,
根據P(Q=q,?E=e)和P(E=e)所涉及證據節點值、查詢節點值、及隱節點值的組合,將Reduce函數得到的結果加起來,從而得到邊緣概率分布P(Q=q,?E=e)和P(E=e),最終得到所需的后驗概率分布,完成概率推理任務。
2.根據權利要求1所述的一種基于MapReduce的大規模貝葉斯網并行推理方法,其特征在于:所述方法是指“信用卡欺詐檢測”的貝葉斯網推理方法,按以下步驟完成:
(1)?貝葉斯網的分布式存儲
針對存儲“信用卡欺詐檢測”貝葉斯網的TBN中的節點F、G、J、A、S,使用Map函數并行地讀取節點的條件概率參數表中的每一個值,并將其以<key,?value>形式存儲到TBN中,對于F,若有P(F=f1)=0.1和P(F=f2)=0.9,則存儲到HBase數據庫TBN表中的行以F作為行標識,列族為(F=f1?||?0.1)和(F=f2?||?0.9),
(2)?分解概率推理任務
若已知證據節點值(A=a4,?J=j1),查詢節點值F=f1,推理任務為:計算P(F=f1|A=a4,?J=j1),由于,因此將該推理任務轉換為P(F=f1,?A=a4,?J=j1)和P(A=a4,?J=j1)這兩個邊緣概率分布的計算,對于P(F=f1,?A=a4,?J=j1)來說,G和S為隱節點,該邊緣概率分布就是F=f1、A=a4、J=j1、以及G和S不同取值組合情形下的聯合概率分布之和;對于P(A=a4,?J=j1)來說,F、G和S為隱節點,該邊緣概率分布就是A=a4、J=j1、以及F、G和S不同取值組合情形下的聯合概率分布之和,將這些可能值的組合存儲到文件TJDP中;
(3)?基于MapReduce查詢HBase,并計算相關聯合概率分布
使用Map函數并行地查詢TBN中的每一行,并與TJDP中的所有行依次進行比較,對于TBN中的第一行,取出行標識為F的列族成員f1,可知TJDP中包含f1的行有a4?j1?f1?g1?s1、a4?j1?f1?g1?s2、a4?j1?f1?g2?s1和a4?j1?f1?g2?s2,因此將這些分別作為key,將TBN中當前行的概率值0.1作為value,以<key,?value>形式將<a4?j1?f1?g1?s1,?0.1>、<?a4?j1?f1?g1?s2,?0.1>、??????<a4?j1?f1?g2?s1,?0.1>和<a4?j1?f1?g2?s2,?0.1>存儲到FJDP中,以同樣的方法,對于表1中的其他行,將相應的<key,?value>存儲到FJDP中,
使用Reduce函數對文件FJDP中key相同的value相乘,從而得到
P(a4?j1?f1?g1?s1)=0.0009,P(a4?j1?f1?g1?s2)=0.0013,P(a4?j1?f1?g2?s1)=0.0036,
P(a4?j1?f1?g2?s2)=0.0052,P(a4?j1?f2?g1?s1)=0.00036,P(a4?j1?f2?g1?s2)=0.00036,
P(a4?j1?f2?g2?s1)=0.03564,P(a4?j1?f2?g2?s2)=0.06237;
(4)?計算邊緣概率分布,得到后驗概率分布
根據P(F=f1,?A=a4,?J=j1)和P(A=a4,?J=j1)所涉及證據節點值、查詢節點值、及隱節點值的組合,將以上Reduce函數得到的結果加起來,得到
最終得到所需的后驗概率分布
從而完成概率推理任務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于云南大學,未經云南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201310709499.9/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種樹脂過濾機
- 下一篇:一種用于鏈板帶式真空物料過濾機的水平真空槽





