機器學習&數據挖掘筆記_22(PGM練習六:制定決策)


 

  前言:

  本次實驗是將一些簡單的決策理論和PGM推理結合,實驗內容相對前面的圖模型推理要簡單些。決策理論采用的是influence diagrams,和常見圖模型本質一樣,

其中的決策節點也可以用CPD來描述,做決策時一般是采用最大期望效用准則(MEU)。實驗內容參考參考的內容是coursera課程:Probabilistic Graphical Models中的assignment 5. 實驗code可參考網友的:code.

 

  實驗中一些函數簡單說明:

  Fnew = VariableElimination(F, Z):

  給定factorlist F和需要消除的變量集Z,采用sum-product的方法消除這些變量后得到factor集Fnew.內部需調用函數EliminateVar()。

  EU = SimpleCalcExpectedUtility(I):

  實驗1的內容。I為influence diagrams中的所有factor,包含I.RandomFactors、 I.DecisionFactors、 I.UtilityFactors三種。計算時可以把RandomFactors和DecisionFactors結合在一起,看出是一個BN,然后對該BN進行變量消除,將那些不是效用節點父節點的變量消除掉,得到的factor中就只包含效用節點父節點了。

最后將其與UtilityFactors相乘就可以得到期望效用了,計算公式如下:

  

  EUF = CalculateExpectedUtilityFactor( I ):

  實驗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成立。

 

  參考資料:

       實驗code可參考網友的:code

  coursera課程:Probabilistic Graphical Models 

       Daphne Koller,Probabilistic Graphical Models Principles and Techniques書籍第22章

       網友demonstrate 的 blog:PGM 讀書筆記節選(十七)

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM