1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        貝葉斯網(wǎng)絡(luò)

        共 3912字,需瀏覽 8分鐘

         ·

        2021-09-19 00:51

        數(shù)學(xué)算法俱樂部

        日期 : 2021年09月18日       

        正文共 3424字

        來源 : 網(wǎng)絡(luò)


        貝葉斯網(wǎng)絡(luò)

        • 馬爾科夫鏈描述的是狀態(tài)序列,很多時候事物之間的相互關(guān)系并不能用一條鏈串起來,比如研究心血管疾病和成因之間的關(guān)系便是如此錯綜復(fù)雜的。這個時候就要用到貝葉斯網(wǎng)絡(luò):每個狀態(tài)只跟與之直接相連的狀態(tài)有關(guān),而跟與它間接相連的狀態(tài)沒直接關(guān)系。但是只要在這個有向圖上,有通路連接兩個狀態(tài),就說明這兩個狀態(tài)是有關(guān)的,可能是間接相關(guān)。狀態(tài)之間弧用轉(zhuǎn)移概率來表示,構(gòu)成了信念網(wǎng)絡(luò)(Belief Network)。
        • 貝葉斯網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)比馬爾可夫鏈靈活,不受馬爾科夫鏈的鏈狀結(jié)構(gòu)的約束,更準(zhǔn)確的描述事件之間的相關(guān)性。馬爾科夫鏈?zhǔn)秦惾~斯網(wǎng)絡(luò)的一個特例,而貝葉斯網(wǎng)絡(luò)是馬爾科夫鏈的推廣。
        • 拓?fù)浣Y(jié)構(gòu)和狀態(tài)之間的相關(guān)概率,對應(yīng)結(jié)構(gòu)訓(xùn)練和參數(shù)訓(xùn)練。貝葉斯網(wǎng)絡(luò)的訓(xùn)練比較復(fù)雜,從理論上講是一個NP完備問題,對于現(xiàn)在計算機是不可計算的,但對于某些具體應(yīng)用可以進行簡化并在計算機上實現(xiàn)。
        對于貝葉斯學(xué)派,首先想到的就是后驗概率公式和先驗分布,認(rèn)為所有的變量都是隨機的,有各自的先驗分布。我想貝葉斯網(wǎng)絡(luò)是可以幫助醫(yī)生進行診斷決策的,前段時間研究過的compressive tracking就是采用的樸素貝葉斯分類器,我對與貝葉斯相關(guān)內(nèi)容的應(yīng)用就是從此開始有所了解的。樸素貝葉斯分類有一個限制條件,就是特征屬性必須有條件獨立或基本獨立(實際上在現(xiàn)實應(yīng)用中幾乎不可能做到完全獨立)。當(dāng)這個條件成立時,樸素貝葉斯分類法的準(zhǔn)確率是最高的,但不幸的是,現(xiàn)實中各個特征屬性間往往并不條件獨立,而是具有較強的相關(guān)性,這樣就限制了樸素貝葉斯分類的能力。這里討論的就是貝葉斯分類中更高級、應(yīng)用范圍更廣的一種算法——貝葉斯網(wǎng)絡(luò)(又稱貝葉斯信念網(wǎng)絡(luò)或信念網(wǎng)絡(luò))。
        一個貝葉斯網(wǎng)絡(luò)定義包括一個有向無環(huán)圖(DAG)和一個條件概率表集合。DAG中每一個節(jié)點表示一個隨機變量,可以是可直接觀測變量或隱藏變量,而有向邊表示隨機變量間的條件依賴;條件概率表中的每一個元素對應(yīng)DAG中唯一的節(jié)點,存儲此節(jié)點對于其所有直接前驅(qū)節(jié)點的聯(lián)合條件概率。
        貝葉斯網(wǎng)絡(luò)有一條極為重要的性質(zhì),就是我們斷言每一個節(jié)點在其直接前驅(qū)節(jié)點的值制定后,這個節(jié)點條件獨立于其所有非直接前驅(qū)前輩節(jié)點。
        這個性質(zhì)很類似Markov過程。其實,貝葉斯網(wǎng)絡(luò)可以看做是Markov鏈的非線性擴展。這條特性的重要意義在于明確了貝葉斯網(wǎng)絡(luò)可以方便計算聯(lián)合概率分布。一般情況先,多變量非獨立聯(lián)合條件概率分布有如下求取公式: 

        而在貝葉斯網(wǎng)絡(luò)中,由于存在前述性質(zhì),任意隨機變量組合的聯(lián)合條件概率分布被化簡成 

        其中Parents表示xi的直接前驅(qū)節(jié)點的聯(lián)合,概率值可以從相應(yīng)條件概率表中查到。

        如果沒有前驅(qū)結(jié)點,就用先驗概率帶入。就這樣能夠計算出所有的相關(guān)或者間接相關(guān)的變量的聯(lián)合概率密度,知道了聯(lián)合概率密度,對于邊緣概率密度的計算就非常簡單了,通過這個能夠形成一些有意義的推理,等效于生成了知識。
        貝葉斯網(wǎng)絡(luò)比樸素貝葉斯更復(fù)雜,而想構(gòu)造和訓(xùn)練出一個好的貝葉斯網(wǎng)絡(luò)更是異常艱難。但是貝葉斯網(wǎng)絡(luò)是模擬人的認(rèn)知思維推理模式,用一組條件概率函數(shù)以及有向無環(huán)圖對不確定性的因果推理關(guān)系建模,因此其具有更高的實用價值。

        貝葉斯網(wǎng)絡(luò)在詞分類中的應(yīng)用

        使用貝葉斯網(wǎng)絡(luò)建立一個文章、關(guān)鍵詞和概念之間的聯(lián)系。 
        2002年google工程師們利用貝葉斯網(wǎng)絡(luò)建立了文章、關(guān)鍵詞和概念之間的聯(lián)系,將上百萬關(guān)鍵詞聚合成若干概念的聚類,稱之為phil cluster。最早的應(yīng)用是廣告的拓展匹配。
        實際上我覺得這個應(yīng)用他講的并不清楚,我是理解不好。
        不如借用《算法雜貨鋪——分類算法之貝葉斯網(wǎng)絡(luò)(Bayesian networks)》中的例子說明一下。

        SNS社區(qū)中不真實賬號的檢測

        在那個樸素貝葉斯分類器的解決方案中,我做了如下假設(shè):
        i、真實賬號比非真實賬號平均具有更大的日志密度、更大的好友密度以及更多的使用真實頭像。 
        ii、日志密度、好友密度和是否使用真實頭像在賬號真實性給定的條件下是獨立的。
        但是,上述第二條假設(shè)很可能并不成立。一般來說,好友密度除了與賬號是否真實有關(guān),還與是否有真實頭像有關(guān),因為真實的頭像會吸引更多人加其為好友。因此,我們?yōu)榱双@取更準(zhǔn)確的分類,可以將假設(shè)修改如下:
        i、真實賬號比非真實賬號平均具有更大的日志密度、更大的好友密度以及更多的使用真實頭像。 
        ii、日志密度與好友密度、日志密度與是否使用真實頭像在賬號真實性給定的條件下是獨立的。 
        iii、使用真實頭像的用戶比使用非真實頭像的用戶平均有更大的好友密度。
        上述假設(shè)更接近實際情況,但問題隨之也來了,由于特征屬性間存在依賴關(guān)系,使得樸素貝葉斯分類不適用了。既然這樣,我去尋找另外的解決方案。
        下圖表示特征屬性之間的關(guān)聯(lián): 
         
        上圖是一個有向無環(huán)圖,其中每個節(jié)點代表一個隨機變量,而弧則表示兩個隨機變量之間的聯(lián)系,表示指向結(jié)點影響被指向結(jié)點。不過僅有這個圖的話,只能定性給出隨機變量間的關(guān)系,如果要定量,還需要一些數(shù)據(jù),這些數(shù)據(jù)就是每個節(jié)點對其直接前驅(qū)節(jié)點的條件概率,而沒有前驅(qū)節(jié)點的節(jié)點則使用先驗概率表示。 
        例如,通過對訓(xùn)練數(shù)據(jù)集的統(tǒng)計,得到下表(R表示賬號真實性,H表示頭像真實性): 
         
        縱向表頭表示條件變量,橫向表頭表示隨機變量。上表為真實賬號和非真實賬號的概率,而下表為頭像真實性對于賬號真實性的概率。這兩張表分別為“賬號是否真實”和“頭像是否真實”的條件概率表。有了這些數(shù)據(jù),不但能順向推斷,還能通過貝葉斯定理進行逆向推斷。例如,現(xiàn)隨機抽取一個賬戶,已知其頭像為假,求其賬號也為假的概率: 

        也就是說,在僅知道頭像為假的情況下,有大約35.7%的概率此賬戶也為假。如果覺得閱讀上述推導(dǎo)有困難,請復(fù)習(xí)概率論中的條件概率、貝葉斯定理及全概率公式。如果給出所有節(jié)點的條件概率表,則可以在觀察值不完備的情況下對任意隨機變量進行統(tǒng)計推斷。上述方法就是使用了貝葉斯網(wǎng)絡(luò)。
        SNS社區(qū)中不真實賬號檢測模型中存在四個隨機變量:賬號真實性R,頭像真實性H,日志密度L,好友密度F。其中H,L,F(xiàn)是可以觀察到的值,而我們最關(guān)心的R是無法直接觀察的。這個問題就劃歸為通過H,L,F(xiàn)的觀察值對R進行概率推理。推理過程可以如下表示:
        1. 使用觀察值實例化H,L和F,把隨機值賦給R。
        2. 計算P(R|H,L,F)=P(H|R)P(L|R)P(F|R,H)。其中相應(yīng)概率值可以查條件概率表。
        由于上述例子只有一個未知隨機變量,所以不用迭代。更一般的,使用貝葉斯網(wǎng)絡(luò)進行推理的步驟可如下描述:
        1. 對所有可觀察隨機變量節(jié)點用觀察值實例化;對不可觀察節(jié)點實例化為隨機值。 
          P(y|wi)=αP(y|Parents(y))∏jP(sj|Parents(sj))
        2. 對DAG進行遍歷,對每一個不可觀察節(jié)點y,計算,其中wi表示除y以外的其它所有節(jié)點,α為正規(guī)化因子,sj表示y的第j個子節(jié)點。
        3. 使用第三步計算出的各個y作為未知節(jié)點的新值進行實例化,重復(fù)第二步,直到結(jié)果充分收斂。
        4. 將收斂結(jié)果作為推斷值。 
          以上只是貝葉斯網(wǎng)絡(luò)推理的算法之一,另外還有其它算法,這里不再詳述。

        貝葉斯網(wǎng)絡(luò)的構(gòu)造、學(xué)習(xí)訓(xùn)練

        構(gòu)造與訓(xùn)練貝葉斯網(wǎng)絡(luò)分為以下兩步: 
        1、確定隨機變量間的拓?fù)潢P(guān)系,形成DAG。這一步通常需要領(lǐng)域?qū)<彝瓿?,而想要建立一個好的拓?fù)浣Y(jié)構(gòu),通常需要不斷迭代和改進才可以,需要用到機器學(xué)習(xí)得到。 
        2、訓(xùn)練貝葉斯網(wǎng)絡(luò)。這一步也就是要完成條件概率表的構(gòu)造,如果每個隨機變量的值都是可以直接觀察的,像我們上面的例子,那么這一步的訓(xùn)練是直觀的,方法類似于樸素貝葉斯分類。但是通常貝葉斯網(wǎng)絡(luò)的中存在隱藏變量節(jié)點,那么訓(xùn)練方法就是比較復(fù)雜,例如使用梯度下降法。
        優(yōu)化的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)要保證它產(chǎn)生的序列從頭到尾的可能性最大,如果用概率做度量,就是后驗概率最大。當(dāng)然可以搜索所有可能的路徑,但是會是一個NP-Hard問題。一般采用貪心算法,在每一步時沿著箭頭方向?qū)ふ矣邢薏剑澬娜菀紫萑刖植孔顑?yōu)。為防止局部最優(yōu),采用蒙特卡洛方法,用許多隨機數(shù)在貝葉斯網(wǎng)絡(luò)中試試,看看是否陷入局部最優(yōu),但計算量較大。最近,新的方法是利用互信息,只保留互信息較大的節(jié)點的直接連接,然后再對簡化的網(wǎng)絡(luò)進行完備的搜索,找到全局優(yōu)化的結(jié)構(gòu)。
        而節(jié)點之間弧的權(quán)重確定可以通過最大后驗估計來得到,使用EM(expectation-maximization process)過程來解決。
        一般的,參數(shù)和結(jié)構(gòu)的交替訓(xùn)練的,先優(yōu)化結(jié)構(gòu),再優(yōu)化參數(shù),然后再優(yōu)化結(jié)構(gòu)...直至得到收斂或者誤差足夠小的模型。

        參考文獻:

        吳軍 《數(shù)學(xué)之美》 
        張洋 《算法雜貨鋪——分類算法之貝葉斯網(wǎng)絡(luò)(Bayesian networks)》



        — THE END —


        ?概率與隨機過程基礎(chǔ)
        ?京東 | AI人才聯(lián)合培養(yǎng)計劃
        ?人類如何感受到四維空間?
        ?【干貨】計算幾何常用算法
        ?搜索引擎技術(shù)之網(wǎng)絡(luò)爬蟲
        ?數(shù)學(xué)  |   小學(xué)生如何詮釋數(shù)學(xué)的線條美?
        瀏覽 51
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美午夜成人免费视频 | 亚洲在线视频 | 无码日批 | 国产一级a毛一级a看免费人娇 | 综合色中文娱乐网 | 性爱福利视频 | 高h辣文肉时间静止 | 亚洲四虎在线观看 | 欧美成人电影在线 | 国产美女被爽到高潮免费A片软件 |