第六章 結論
A.2 基本名詞解釋
3. 目標函數 (objective function):所求最小值的函數(F),又稱為 misfit function,
在本論文中目標函數為
圖 A.1、2 維 Voronoi cell。白色點為已知的模型,將 2 維參數空間以中垂線的方式 切割成凸多邊形。每個區域內的 misfit 值由該模型的 misfit 代表。
5. 偽隨機數列 (Pseudo-random sequence):隨機數的應用廣泛,舉凡統計學、
密碼學、非線性逆推等,問題是要怎麼樣才夠「隨機」呢?我們可以利用以 下的原則生成隨機數:
(𝑥1+ A) ÷ B = C … 𝑥2 (式 A-4) 設定初始值 (𝑥1),此時的𝑥1稱為種子 (seed)。
i. 將𝑥1代入式 A-4,A、B 為任意整數。
ii. 取餘數𝑥2代入式 A-4 中𝑥1的位子,計算下次的餘數𝑥3,不斷重複。
如果 A、B 數取的較為複雜,則相同餘數數列重複出現的週期便會拉長。也可以將 𝑥1+ 𝑥2當作輸入值得到餘數x3′,或是任意調換他們的數列位置,例如將𝑥2放在數 列的第 7 個位置等,作法千變萬化。總而言之,其目的是讓餘數的重現週期極大 化。當餘數重現週期大到一定程度後,由餘數所形成的數列就看似有隨機性,可 以在相當程度上作為隨機數列使用,但不是真正的隨機,所以稱為偽隨機數列。
6. 貝氏定理(Bayes' theorem):是關於隨機事件 A、B 之間的機率關係,P(A|B)表 示在 B 事件發生下 A 事件發生的機率。
P(A|B) = P(B|A)×P(A)
= P = P(B, A) = P(B → A) (式 A-5)
P(A)、P(B)為 A、B 事件的先驗機率,先驗的意思是P(A)與 B 因素無關。
P(B|A)為 A 事件發生下 B 事件發生的機率,因為是取自 A 因素,所以稱為 B 的後 驗機率。
7. 馬可夫蒙地卡羅 (Markov chain Monte Carlo, MCMC):是一種藉由馬氏鏈取 樣的方法,也是 NA 產生新樣本的原理。MCMC 可以拆成兩個部份來說明:
第一組 MC,馬氏鏈 (Markov chain)與第二組 MC,蒙地卡羅 (Monte Carlo)。
i. 馬氏鏈:在一個馬氏鏈中,下個時刻(t+1)的狀態僅與這個時刻(t)的狀態有關,
與 其他 時 刻均無 關。令 一 個 隨 機 變量 𝑋𝑡代表 t 時刻的狀態。一個隨機過程 𝑋1, 𝑋2⋯ 𝑋𝑡,若滿足
P(𝑋𝑡+1|𝑋𝑡) = P(𝑋𝑡+1|𝑋1, 𝑋2⋯ 𝑋𝑡) (式 A-6) 就稱這個過程為馬氏鏈。依照這個定義,偽隨機數列也是一種馬氏鏈,因為餘數 生成僅與前一個輸入值有關。
ii. 蒙地卡羅:如果要求取一個不規則形狀的面積,其中一個方法就是朝這個 圖形均勻的撒 N 點,若有 K 點落在圖形內,我們就可以說這個圖形的面積為𝐾
𝑁。 如果 N 越大,面積的估計也就會越精準。這個就是蒙地卡羅方法的精神。
合併上述兩個觀念,即為 MCMC 法。可以舉一個簡單的例子 (圖 A.2):
假設今天是晴天的話,明天雨天的機率為 0.1,維持晴天的機會為 0.9;今天
(2) π(j) = ∑∞i=1π(i)Pij
(3) π是方程式X𝐏 = X的唯一非負解,其中
π = [π(1) π(2) ⋯ π(j)] , ∑jn=1π = 1 (式 A-12) 此時π𝐏 = π,π稱為馬氏鏈的平穩分布。平穩分布π的每一橫列都可以當作我 們採樣的樣本,且其性質與原本的機率分布相同。
以下介紹利用 MCMC 延伸出兩種算法:Metropolis–Hastings method 與 Gibbs sampling。Gibbs sampling 是 Metropolis–Hastings method 的特例,也是 NA 在 misfit 較小的幾個 Voronoi cell 中採樣生成新模型的方法。
Metropolis–Hastings method:
這個方法的特點在於具有接受率α的存在,使得平穩條件一定成立。與一般拒 絕採樣不同的地方,在於拒絕採樣拒絕新樣本之後,新樣本即被丟棄。在生成 1000 個樣本時,若拒絕率 40%,結束採樣後,僅得到 600 個樣本。而Metropolis–Hastings method 則會保留新樣本,只是在 t+1 時刻仍然使用 t 時刻的樣本。生成 1000 個樣 本就會產生 1000 個樣本。
首先,引入細緻平穩條件 (detailed balance condition) 觀念:設π(i)為某個馬氏 鏈分布,且其機率轉移矩陣為 P,則
平穩分布,但是滿足平穩分布卻不一定滿足細緻平穩條件。
假設有一個機率轉移矩陣 Q 的馬氏鏈,q(i,j)代表從 i狀態轉移到 j 狀態的機率。
在一般情況下,可以想見細緻平穩條件不成立:
P(𝑖)𝑞(𝑖, 𝑗) ≠ P(𝑗)𝑞(𝑗, 𝑖) (式 A-18) 加入一個參數α 使細緻平穩條件成立
P(𝑖)𝑞(𝑖, 𝑗)α(𝑖, 𝑗) = P(𝑗)𝑞(𝑗, 𝑖)α(𝑗, 𝑖) (式 A-19) 最簡單的α 取法可以依照對稱性的方式來取:
α(𝑖, 𝑗) = P(𝑗)𝑞(𝑗, 𝑖),α(𝑗, 𝑖) = P(𝑖)𝑞(𝑖, 𝑗) (式 A-20) 這樣可以確保左右式一定會相等。藉由α改造機率轉移矩陣 Q,使得馬氏鏈則 具有機率轉移矩陣Q′,而Q′滿足細緻平穩條件。在物理意義上,我們可以思考成在 從 i 狀態轉移到 j 狀態的時候,以α(𝑖, 𝑗)的機率接受轉移,於是新的馬氏鏈機率轉 移矩陣Q′可寫作𝑞(𝑖, 𝑗)α(𝑖, 𝑗)。α(𝑖, 𝑗)是接受轉移與否的機率,稱之為接受率。
圖 A.3、加入接受率參數α後的機率轉移矩陣Q′示意圖。
一般情形下,α可能很小,導致常出現拒絕轉移的情形,使得無效的計算量增 加。舉個例子來說:假設α(𝑖, 𝑗) = 0.05,α(𝑗, 𝑖) = 0.1
P(𝑖)𝑞(𝑖, 𝑗) × 0.05 = P(𝑗)𝑞(𝑗, 𝑖) × 0.1 (式 A-21) 如果將左右式放大 10 倍,可得
P(𝑖)𝑞(𝑖, 𝑗) × 0.5 = P(𝑗)𝑞(𝑗, 𝑖) × 1 (式 A-22) 將α(𝑖, 𝑗)接受率提高 10 倍,而細緻平穩條件依然成立。稍微整理下這個概念,
P(𝑖)𝑞(𝑖, 𝑗)α(𝑖, 𝑗) = P(𝑗)𝑞(𝑗, 𝑖) × 1 (式 A-23)
⇒ α(𝑖, 𝑗) =P(𝑗)𝑞(𝑗,𝑖)
P(𝑖)𝑞(𝑖,𝑗),取 α(𝑖, 𝑗) ≤ 1 (式 A-24)
⇒ α(𝑖, 𝑗) = min {P(𝑗)𝑞(𝑗,𝑖)
P(𝑖)𝑞(𝑖,𝑗), 1} (式 A-25)
至此,可以歸納出Metropolis–Hastings method 的使用步驟:
(1) 選定t=0 的初始狀態X0
在 Metropolis–Hastings method 中,由於具有接受率α(𝑖, 𝑗),即便已經想辦法提 升效率,仍有無效的計算發生。在低維度的情況下,計算效率可能沒什麼差別,
我們觀察式 A-28 與 A-29,可得:
Q𝑥(𝑦𝑐𝑢𝑟𝑟𝑒𝑛𝑡,𝑦𝑜𝑡ℎ𝑒𝑟) = p(𝑦𝑜𝑡ℎ𝑒𝑟|x) (式 A-30) 即 A,B 兩點之間的轉移可以利用Q = p(𝑦𝑜𝑡ℎ𝑒𝑟|x)達成細緻平穩條件:
p(A)p(𝑦2|x) =p(B)p(𝑦1|x) (式 A-31) 當初加入α(𝑖, 𝑗)的用意就在達成細緻平穩條件,若不需使用接受率就達成條件,
則 α(𝑖, 𝑗)=1 自然就成立。基於上述觀念,我們可以建構一個機率轉移矩陣 Q 使得 沿著固定軸採樣的樣本均被接受:
Q(𝐴, 𝐵) = p(𝑦𝐵|x) for 𝑥𝐴 = 𝑥𝐵 = 𝑥1 (式 A-32) Q(𝐴, 𝐶) = p(𝑥𝐶|y) for 𝑦𝐴 = 𝑦𝐶 = 𝑦1 (式 A-33) Q(𝐴, 𝐷) = 0 for others (式 A-34)
圖 A.4、2 維參數空間機率轉移矩陣 Q 示意圖。
有了上述矩陣 Q,可以很容易證明在 2 維參數空間中的任兩點 XY 一定滿足下 列細緻平穩條件:
p(X)Q(X,Y) =p(Y)Q(Y,X) (式 A-35) 這種先固定一個軸採樣之後再換另一個軸採樣,使得所有樣本都被接受的作法,
就稱之為Gibbs sampling。
如果將 2 維分布 p(X,Y)推廣至 n 維分布 p(𝑥1, 𝑥2, ⋯ , 𝑥𝑛),在細緻平穩條件的證 明是一樣的。這時候p(𝑥1, 𝑥2, ⋯ , 𝑥𝑛)的轉移矩陣 Q 可以依照下列方式定義:
(1) 當前狀態p(𝑥1, 𝑥2, ⋯ , 𝑥𝑛)在沿著某個固定軸𝑥𝑖做轉移時,其轉移矩陣 Q 由
(2) 無法沿著𝑥𝑖軸進行轉移時,其轉移矩陣=0。