前言:html
本次實驗是將一些簡單的決策理論和PGM推理結合,實驗內容相對前面的圖模型推理要簡單些。決策理論採用的是influence diagrams,和常見圖模型本質同樣,git
其中的決策節點也能夠用CPD來描述,作決策時通常是採用最大指望效用準則(MEU)。實驗內容參考參考的內容是coursera課程:Probabilistic Graphical Models中的assignment 5. 實驗code可參考網友的:code.github
實驗中一些函數簡單說明:dom
Fnew = VariableElimination(F, Z):wordpress
給定factorlist F和須要消除的變量集Z,採用sum-product的方法消除這些變量後獲得factor集Fnew.內部需調用函數EliminateVar()。函數
EU = SimpleCalcExpectedUtility(I):spa
實驗1的內容。I爲influence diagrams中的全部factor,包含I.RandomFactors、 I.DecisionFactors、 I.UtilityFactors三種。計算時能夠把RandomFactors和DecisionFactors結合在一塊兒,看出是一個BN,而後對該BN進行變量消除,將那些不是效用節點父節點的變量消除掉,獲得的factor中就只包含效用節點父節點了。code
最後將其與UtilityFactors相乘就能夠獲得指望效用了,計算公式以下:orm
EUF = CalculateExpectedUtilityFactor( I ):htm
實驗2的內容。EUF是指指望效用factor. 將前面的EU計算公式變形後以下:
而所求的EUF就是公式中的:
注意與實驗1中的SimpleCalcExpectedUtility()區分開來,這裏是消除掉與決策節點無關的那些變量(實驗1消除的是與效用節點無關的變量)。因此EUF中的var只剩下決策節點及其父節點。
[MEU OptimalDecisionRule] = OptimizeMEU( I ):
實驗3的內容。求的MEU爲最大指望效用。除決策factor中的變量外,其它變量組合的每個assignment下,決策D下的不一樣決策將獲得不一樣的效用,此
assignment下固然是取效用最大的那個決策。所以這樣就好構成一個新的factor,爲OptimalDecisionRule.factor中全部的val之和就爲MEU. 該函數內部須要調用CalculateExpectedUtilityFactor().
[MEU OptimalDecisionRule] = OptimizeWithJointUtility( I ):
實驗4的內容。該實驗處理參數和實驗3同樣,不一樣的是這裏須要處理有多個效用節點的情形。由於效用值具備可加性,因此只需將這些效用節點所在的factor相加起來構成一個新的效用factor,而後直接調用OptimizeMEU()輸出就ok了。
[MEU OptimalDecisionRule] = OptimizeLinearExpectations( I ):
實驗5的內容。所完成的功能和實驗4是同樣的,函數接口也相同,只是採用的方法不一樣。實驗4中是先將全部的效用factor相加,而後採用實驗3的函數來計算。而實驗5是直接將效用計算公式變形,以下:
先將EUF整合,而後採用相似OptimizeMEU()的方法來求解。
相關知識點:
Arrhythmogenic Right Ventricular Dysplasia (ARVD): 心律失常性右室心肌病
implantable cardioverter defibrillator(ICD):植入型心律轉復除顫器,與手術治療ARVD有關。
ARVD的influence diagrams以下:
其中的ARVD變量節點爲X,其表示是否得有ARVD;它受先驗X3影響;對ARVD的一些觀察結果用T表示;決策變量爲D(有時候也用A表示),決定是否進行ICD手術,
它與T相關;節點O爲是否出現bad outcome,由X和D決定;最後的效用節點D由O和D決定。
簡單決策包括下面幾個部分:一個動做序列A,通常用矩形表示;一個狀態序列X,通常用橢圓表示;一個分佈P(X|A);一個效用函數U(X,A);效用節點U通常用菱形表示。
Expected utility(指望效用)表示作出某個決策後的指望效用,效用值不必定是機率,它是一個實數,能夠爲負。其計算公式以下:
MEU(最大指望效用):也就是說作出某個決策後獲得的效用最大。此時的決策a計算公式爲:
Information edge:指那些與動做節點相連的狀態節點之間的edge.這些information edge構成了一個決策規則,用CPD來描述。有information edge的指望效用計算
公式爲:
對應的最大指望效用計算公式爲:
決策理論能夠將PGM中的一些inference方法引進來。
多屬性效用函數(Multi-Attribute Utilities):一般狀況下效用值受多個變量影響,能夠將這些變量整合到一個效用函數中。關於多屬性效用函數更詳細的理解可參考網友demonstrate 的 blog:PGM 讀書筆記節選(十七).
效用不能單純從機率上來看,效用函數應該能體現用戶對結果的偏好,它通常需考慮作決策時的風險。
VPI(value of perfect information ):增長一條information edge到決策變量先後的MEU變化量。VPI>=0成立。
參考資料:
coursera課程:Probabilistic Graphical Models
Daphne Koller,Probabilistic Graphical Models Principles and Techniques書籍第22章