生活随笔
收集整理的這篇文章主要介紹了
7.5.2 学习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
7.5.2 學習
- 若網絡結構已經知道,則屬性間的依賴關系已經知道,則貝葉斯的學習過程相對簡單,只需要對訓練樣本進行“計數”,估計處每個結點的條件概率表即可以了,但在現實應用中我們往往并不知道網絡結構。于是,貝葉斯學習的首要任務就是根據訓練數據集來找到結構最為恰當的貝葉斯網。“評分搜索”是求解這一問題的常用方法。具體來說,我們先頂一個一個評分函數,以此來評估貝葉斯網喝訓練數據的契合程度,然后基于這個評分函數來尋找結構最優化的貝葉斯網,顯然,評分函數引入了我們希望獲得什么樣的貝貝葉斯網的歸納偏好。
- 常用評分函數通常是基于信息論準則,此類準則將學習問題看作是一個數據壓縮任務。學習的目標是找到一個能以最短編碼長度描述訓練數據的模型,此時編碼的長度包括了描述模型自身所需要的編碼位數以及使用該模型描述數據所需要的編碼位數,對于貝葉斯網學習而言,模型就是一個貝葉斯網,同時,每個貝葉斯網描述了一個在訓練數據上的概率分布,自有一套編碼機制能夠使得那些經常出現的樣本有更短的編碼,于是我們選擇那個綜合編碼長度最短的貝葉斯網,這就是**“最小描述長度 minimal description length” 準則**。
- 給定訓練集 D={x1,x2,……xm},貝葉斯網 B={G,誰他}在D上的評分函數可以寫作
- s(B |D) =f(誰他) |B| - LL(B|D)
- 其中,|B|是貝葉斯網的參數個數,f(誰他)表示描述每個參數誰他所需要的編碼位數
- L L(B|D) =連乘 log P (下標B)(xi) 就是貝葉斯網B 的對數似然,顯然,式子f(誰他)|B|是計算貝葉斯網B所需要的編碼位數,第二項就是計算B所對應的概率分布PB對D描述得有多好,。于是,學習任務就轉化為了一個優化任務,即需按照一個貝葉斯網 B使得評分函數 s(B|D)最小
- 如果f(誰他)=1,即每個參數使用1編碼位描述,則得到AIC評分函數
- 如果f(誰他)=1/2 log m,則每個參數用1/2 log m編碼位描述,則得到BIC評分函數
- BIC(B|D)=logm /2|B|-LL(B|D)
- 如果f(誰他)=0.則不計算網絡進行編碼的長度,則評分函數退化為負對數似然,相應的,學習任務退化為極大似然估計。
- 不難發現,若貝葉斯網絡B={G,誰他}的網絡結構G固定,則評分函數 s(B|D)的第一項為常數,此時最小化 s(B|D) 等價于對參數誰他的極大似然估計,而誰他 xi|pai i能夠直接在訓練數據D上通過經驗估計獲得
- sheita xi|pai i =PD(xi | pai i)
- 其中PD(*)是D上的經驗分布,因此,為了最小化評分函數s(B|D),只需要對網絡結構進行搜索,而候選結構的最佳參數可直接在訓練集上計算得到
- 不幸的是,從所有可能的網絡空間中搜索最優化的貝葉斯網結構是一個NP問題,難以快速的求解。有兩種常見的策略能過在有限的時間內求得一個近似解,第一種是貪心的方法,例如從某個網絡開始,每次調整一條邊(刪除,增加或者是調整),直到評分函數不再降低為止。第二種是通過給網絡結構施加約束來削弱搜索空間,例如將網絡結構限定為樹形結構等
總結
以上是生活随笔為你收集整理的7.5.2 学习的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。