連載31:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

貝葉斯網絡模型

 

貝葉斯定理:

貝葉斯定理是概率論中的一個結論,它跟隨機變量的條件概率以及邊緣概率分佈有關。在有些關於概率的解說中,貝葉斯定理能夠告知我們如何利用新證據修改已有的看法。通常,事件A在事件B(發生)的條件下的概率,與事件B在事件A的條件下的概率是不一樣的;然而,這兩者是有確定的關係,貝葉斯定理就是這種關係的陳述。

貝葉斯公式:

 blob.png

貝葉斯公式爲利用蒐集到的信息對原有判斷進行修正提供了有效手段。在採樣之前,經濟主體對各種假設有一個判斷(先驗概率),關於先驗概率的分佈,通常可根據經濟主體的經驗判斷確定(當無任何信息時,一般假設各先驗概率相同),較複雜精確的可利用包括最大熵技術或邊際分佈密度以及相互信息原理等方法來確定先驗概率分佈。

貝葉斯網絡:

貝葉斯網絡又稱信度網絡,是Bayes方法的擴展,是目前不確定知識表達和推理領域最有效的理論模型之一。從1988年由Pearl提出後,已經成爲近幾年來研究的熱點.。一個貝葉斯網絡是一個有向無環圖,由代表變量節點及連接這些節點有向邊構成。節點代表隨機變量,節點間的有向邊代表了節點間的互相關係(由父節點指向其子節點),用條件概率進行表達關係強度,沒有父節點的用先驗概率進行信息表達。節點變量可以是任何問題的抽象,如:測試值,觀測現象,意見徵詢等。適用於表達和分析不確定性和概率性的事件,應用於有條件地依賴多種控制因素的決策,可以從不完全、不精確或不確定的知識或信息中做出推理。


信息熵模型

 

blob.png

從信息熵的觀點上可以看出,其實軟件設計與通信、統計學、複雜度、文本識別等處理是一致的,其在這些方面的經驗和結論可以引入到軟件設計中來,只是在軟件設計中存在一些新的研究課題而已。

blob.png

blob.png

所以,如果需要確定此“置換”的設計,我們可以先從其與之相關聯的外圍的“置換”進行分析,此可以降低其設計的不確定性,並能夠更好的進行分析。

 blob.png

blob.png

blob.png

最大熵原理:

最大熵原理是一種選擇隨機變量統計特性最符合客觀情況的準則,也稱爲最大信息原理。隨機量的概率分佈是很難測定的,一般只能測得其各種均值(如數學期望、方差等)或已知某些限定條件下的值(如峯值、取值個數等),符合測得這些值的分佈可有多種、以至無窮多種,通常,其中有一種分佈的熵最大。選用這種具有最大熵的分佈作爲該隨機變量的分佈,是一種有效的處理方法和準則。這種方法雖有一定的主觀性,但可以認爲是最符合客觀情況的一種選擇。

最大熵原理是在1957 年由E.T.Jaynes 提出的,其主要思想是,在只掌握關於未知分佈的部分知識時,應該選取符合這些知識但熵值最大的概率分佈。因爲在這種情況下,符合已知知識的概率分佈可能不止一個。我們知道,熵定義的實際上是一個隨機變量的不確定性,熵最大的時候,說明隨機變量最不確定,換句話說,也就是隨機變量最隨機,對其行爲做準確預測最困難。

從這個意義上講,那麼最大熵原理的實質就是,在已知部分知識的前提下,關於未知分佈最合理的推斷就是符合已知知識最不確定或最隨機的推斷,這是我們可以作出的唯一不偏不倚的選擇,任何其它的選擇都意味着我們增加了其它的約束和假設,這些約束和假設根據我們掌握的信息無法作出。

柯爾莫哥洛夫複雜度:

一個字符串s柯爾莫哥洛夫複雜度K(s))是這個字符串的最短描述的長度。換言之,一個字符串s的柯爾莫哥洛夫複雜度是能夠輸出且僅輸出這個字符串的最短計算機/圖靈機程序的長度。

柯爾莫哥洛夫複雜度具有不可計算性。

如果序列服從熵爲H的分佈,那麼該序列的柯爾莫哥洛夫複雜度K近似等於香農熵H,實際上,柯爾莫哥洛夫複雜度比香農熵更爲基礎。

算法複雜度與計算複雜度二者之間存在微妙的互補關係,計算複雜度(也就是時間複雜度)與柯爾莫哥洛夫複雜度(也就是程序長度或描述複雜度)可以看成是對應於程序運行時間與程序長度的兩條軸。柯爾莫哥洛夫複雜度是沿第二條軸的最小化問題,而計算複雜度是沿第一條軸的最小化問題。沿兩條軸同時進行最小化的工作幾乎沒有。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章