# W4_人工智慧導論_Ch13_Part1.m4a|長度 00:48:18|model large-v3 on cuda [00:00:00] 好來我們今天呢要講的是第十三章 [00:00:03] Probabilistic Reasoning [00:00:05] 那我們上次在第十二章其實花了蠻大的一個力氣 [00:00:10] 在為大家複習機率 [00:00:13] 然後呢把整個機率的表達的形式 [00:00:17] 變得更為 [00:00:19] 更為FORMAL更更更 [00:00:23] 更...FORMAL中文怎麼講 [00:00:25] 更為FORMAL更正式 [00:00:28] 那我們為什麼要帶入機率呢 [00:00:32] 所以說在往回推 [00:00:34] 我們當時在第四章的時候就講到說 [00:00:36] 那現實世界當中的很多的資訊都有不確定性 [00:00:40] 因此我們要引入機率 [00:00:43] 那到了第十二章呢 [00:00:44] 我們就把機率呢整個複習過了一次 [00:00:48] 到了第十三章我們就真的要利用機率 [00:00:51] 來做一些資訊的推論 [00:00:54] 好 [00:00:56] 那所以說呢我們在第十二章 [00:00:58] 我們就看到說我們常常要去預估 [00:01:01] 這個所謂的Joint Probability Distribution [00:01:04] 那它通常可以用來解答 [00:01:07] 我們想要了解的某一個問題 [00:01:10] 可能出現的機率有多高 [00:01:13] 那根據呢我們手邊 [00:01:15] 擁有的Evidence [00:01:16] 擁有的這個資訊 [00:01:18] 基於我們現有的這個資訊 [00:01:20] 那我們去預估 [00:01:22] 那麼某一件事情會出現的機率是怎麼樣 [00:01:25] 所以我們在第十二章就講到 [00:01:28] Joint Probability [00:01:30] 那為了要 [00:01:33] 但是呢機率我們顯然知道它是一個 [00:01:36] 相對比較有用的一個工具 [00:01:38] 但是在現實世界當中呢 [00:01:40] 我們要把所有的機率 [00:01:42] 都制定出來 [00:01:45] 事實上是蠻困難的 [00:01:47] 是蠻困難的 [00:01:49] 那而且我們從過去的經驗裡面也看到說 [00:01:52] 如果我們能夠妥善的應用獨立性 [00:01:55] Independence [00:01:57] 跟Conditional Independence [00:01:58] 的話 [00:02:05] 其實我們在計算這些Joint Distribution [00:02:07] Joint Probability Distribution的時候 [00:02:09] 我們的計算可以簡化很多 [00:02:11] 因此呢這一章我們主要就是要來介紹 [00:02:13] 能夠讓我們妥善利用 [00:02:15] Conditional Independence的 [00:02:17] 一個資料的結構 [00:02:19] 那這個就是所謂的 [00:02:21] 貝氏網路 [00:02:23] Bayesian Network [00:02:25] 而Bayesian Network它發揚光大 [00:02:28] 主要就在於 [00:02:30] 我們之前曾經介紹過的一個 [00:02:32] 什麼Judea Pearl [00:02:34] 這位學者之手 [00:02:36] 那如果你還直接再回想到 [00:02:38] 我們最早第一章第二章 [00:02:40] 在介紹AI的 [00:02:42] 這個歷史的時候 [00:02:44] Judea Pearl就是在1990年代 [00:02:46] 1980年代1990年代 [00:02:48] 去開發 [00:02:50] Probabilistic Reasoning [00:02:52] 他做出很多的貢獻 [00:02:54] 所以後來呢也拿到了Turing Award [00:02:58] 那一個貝氏網路是什麼呢 [00:03:00] 它其實是一個有像圖 [00:03:02] Direct Graph [00:03:04] 這個大家應該知道Direct Graph是什麼意思 [00:03:06] 那就是說 [00:03:08] 裡面有Age [00:03:10] 有Node [00:03:12] 那每一個Node都會有對應的 [00:03:14] 機率的資訊 [00:03:16] 那它的Age是一個有 [00:03:18] 方向性的Age [00:03:20] 所以叫做Direct Graph [00:03:22] 那每一個Node代表的是一個 [00:03:24] Random Variable [00:03:26] 而這個Random Variable可以是Discrete [00:03:28] 也可以是Continuous [00:03:30] 那 [00:03:32] 再來呢我的Link是怎麼樣 [00:03:34] 或者說我的這個Age [00:03:36] 是怎麼樣呢 [00:03:38] 如果有一個箭頭從Node X [00:03:40] 指向Node Y [00:03:42] 那我們就說X是Y的Parent [00:03:44] 好 [00:03:46] X是Y的父母 [00:03:48] 那因為是有像圖 [00:03:50] 那而且我們規定了 [00:03:52] 這個Graph呢 [00:03:54] 不能夠有Cycle [00:03:56] OK [00:03:58] Direct Acyclic Graph [00:04:00] Cycle的意思就是說 [00:04:02] 我X指到Y [00:04:04] Y指到Z [00:04:06] Z如果又指回X的話 [00:04:08] 那它就不是 [00:04:10] 它就會產生一個Cycle [00:04:12] 那被視網路是一個 [00:04:14] 沒有Cycle的有像圖 [00:04:16] 所以它是DAG [00:04:18] Direct Acyclic Graph [00:04:20] 好 [00:04:22] 那每一個Node的XI呢 [00:04:24] 都有一個Conditional Probability Distribution [00:04:26] 就是給定 [00:04:28] 的Parent [00:04:30] 那麼這個XI [00:04:32] 出現的機率 [00:04:34] 的這個Distribution [00:04:36] 就是Conditional Probability Distribution [00:04:38] 那它呢能夠 [00:04:40] 量化我這些 [00:04:42] 這個XI [00:04:44] 的Parent [00:04:46] 它的父母對於這個Node XI [00:04:48] 的影響是怎麼樣 [00:04:50] 它能夠量化這件事 [00:04:52] 這件事情就是用一個 [00:04:54] Conditional Probability Distribution [00:04:56] 來表達 [00:04:58] OK [00:05:00] 所以說呢被視網路是一個 [00:05:02] 用來表達 [00:05:04] 知識的一個有用的 [00:05:06] 一個資料結構 [00:05:08] 用來表達知識的 [00:05:14] 好那 [00:05:16] 那一個網路它的Topology [00:05:18] 長什麼樣子呢 [00:05:20] Topology的意思就是說 [00:05:22] 我的Node跟XI之間誰跟誰要連 [00:05:24] 那有幾個Node什麼等等的 [00:05:26] 這個叫Topology [00:05:28] 整個網路的 [00:05:30] 這個Topology [00:05:32] 就界定了 [00:05:34] 我這些Random Variable之間的 [00:05:36] Conditional Independence的關係 [00:05:38] OK [00:05:40] 那概念上來講 [00:05:42] 嗯 [00:05:45] 就是說 [00:05:47] 一個箭頭 [00:05:49] 代表的就是 [00:05:51] 我如果X有一個箭頭指向Y [00:05:53] 代表說我X呢 [00:05:55] 會直接影響到Y [00:05:57] 那代表的也是 [00:05:59] X可能是某種原因 [00:06:01] 它導致於Y [00:06:03] 這樣子的結果 [00:06:05] 那通常對於 [00:06:07] 我們要處理一些 [00:06:09] 知識的推論 [00:06:11] 或者是呈現 [00:06:13] 那對於Domain Asper [00:06:15] 對於這個領域的專家來講呢 [00:06:17] 他可能根據他的經驗 [00:06:19] 根據他擁有的知識 [00:06:21] 他可以去 [00:06:23] 手繪出這個 [00:06:25] 我這個被視網路 [00:06:27] 誰跟誰有關誰要放在Parent [00:06:29] 誰要放在這個Child [00:06:31] 誰會指向誰 [00:06:33] 他的知識背景 [00:06:35] 來把這個Graph畫出來 [00:06:37] 好 [00:06:39] 那一旦這個被視網路的Topology [00:06:41] 決定了之後 [00:06:43] 我們呢就可以根據 [00:06:45] 這個Topology [00:06:47] 那我們可以去計算 [00:06:49] 裡面任何一個Node的 [00:06:51] Conditional Probability Distribution [00:06:53] 只要告訴我 [00:06:55] Parent的狀況怎麼樣 [00:06:57] 我就能夠去預估出 [00:06:59] Child的Conditional Probability Distribution [00:07:01] Conditional Probability Distribution [00:07:03] 那我們再回到 [00:07:05] 之前我們曾經舉過的一個例子 [00:07:07] 就是牙痛的那個例子 [00:07:09] 我們從這個例子呢 [00:07:11] 來慢慢的介紹被視網路 [00:07:13] 所以當時我們講到有四個變數 [00:07:15] 牙痛 [00:07:17] 有沒有牙痛 [00:07:19] 然後呢有沒有蛀牙 [00:07:21] 我探針有沒有卡住 [00:07:23] 跟天氣怎麼樣 [00:07:25] 那之前我們也提到過了 [00:07:27] 其實天氣怎麼樣 [00:07:29] 跟另外三個變數是獨立的 [00:07:31] OK [00:07:33] 牙痛有沒有卡住 [00:07:35] 其實是Depends on [00:07:37] 有沒有蛀牙 [00:07:39] 所以其實如果是以這四個變數來講 [00:07:41] 他們之間的關係呢 [00:07:43] 就可以表達成下面這個圖 [00:07:45] 就是Whether這個變數是 [00:07:47] 獨立於其他三個人的 [00:07:49] 那這三個人呢 [00:07:51] Cavity [00:07:53] 他可能會導致牙痛 [00:07:55] 也有可能會導致於 [00:07:57] 探針卡住 [00:07:59] 所以這個就是一個有像圖 [00:08:01] 一個沒有Cycle的有像圖 [00:08:05] 那Conditional independence of [00:08:07] tooth egg and the catch [00:08:09] given cavity is indicated [00:08:11] by the absence of link [00:08:13] between tooth egg and the catch [00:08:15] 所以這 [00:08:17] 要講的事情是說 [00:08:19] 牙痛跟探針卡住 [00:08:21] 這兩個變數 [00:08:23] 基本上是怎麼樣 [00:08:25] Conditional independence [00:08:27] Condition on cavity [00:08:29] 在告知你 [00:08:31] 有沒有蛀牙的情況底下 [00:08:33] 有沒有牙痛 [00:08:35] 跟探針會不會卡住 [00:08:37] 這兩件事情是 [00:08:39] 獨立的 [00:08:41] 是獨立的 [00:08:43] 所以說這兩個之間沒有任何的 [00:08:45] 連結 [00:08:47] 主要的原因是 [00:08:49] 在告訴你他的Parent [00:08:51] 的情況底下 [00:08:53] 其實這兩個是獨立的 [00:08:55] 那這件事情表達在哪裡呢 [00:08:57] 就是表達在 [00:08:59] 我Tooth egg跟Catch之間 [00:09:01] 沒有link [00:09:03] 這件事情上 [00:09:05] 那概念上 [00:09:07] 我們知道蛀牙 [00:09:09] 可能會導致牙痛 [00:09:11] 蛀牙可能會導致 [00:09:13] 你探針會不會卡住 [00:09:15] 那但是呢 [00:09:17] 牙痛跟探針有沒有卡住 [00:09:19] 他是Conditional independence [00:09:23] 好 [00:09:25] 那我們再舉另外一個例子 [00:09:27] 假設你有一個切到的警報器 [00:09:29] OK [00:09:31] 你放在家裡面 [00:09:33] 那他基本上 [00:09:35] 是還蠻reliable的 [00:09:37] 但有時候呢 [00:09:39] 也會錯 [00:09:41] 所以你看啊這個又是一個 [00:09:43] non deterministic [00:09:45] 的一個情境 [00:09:47] 那所以說呢 [00:09:49] 如果你家裡被 [00:09:51] 竊賊闖入的話 [00:09:53] 你這個竊到的警報器 [00:09:55] 可能就會在那裡響 [00:09:57] 那這個竊到警報器是那種比較舊的 [00:09:59] 舊式的 [00:10:01] 他沒有連網路 [00:10:03] 所以說呢他並沒有說 [00:10:05] 透過什麼IOT啊 [00:10:07] 送一個email給你 [00:10:09] 會送一個簡訊給你 [00:10:11] 沒有他就是會在那邊響 [00:10:13] 吸引人家注意這樣子 [00:10:15] 之所以是舊型的這個警報器 [00:10:17] 那響的時候誰會聽到呢 [00:10:19] 就你的鄰居嘛 [00:10:21] 那假設你有兩個鄰居John跟Mary [00:10:23] 那這兩個 [00:10:25] 都是好鄰居 [00:10:27] 他們都保證說呢 [00:10:29] 每次他聽到你家的警報器響了 [00:10:31] 他就會打電話給你 [00:10:33] 但是呢每個人 [00:10:35] 又有每個人不同的個性 [00:10:37] John他其實很好 [00:10:39] 每次他聽到警報器響的時候 [00:10:41] 他就會打給你 [00:10:43] 但有的時候啊 [00:10:45] 他耳朵不太好 [00:10:47] 他會有點confuse [00:10:49] 有時候其實不是你家的警報器在響 [00:10:51] 有時候是你家的電話在響 [00:10:53] 所以他有時候會confuse [00:10:55] 他就嗯這到底是警報器在響 [00:10:57] 還是電話在響 [00:10:59] 他如果認為是電話在響 [00:11:01] 那他可能就沒有打 [00:11:03] 沒有打電話給你 [00:11:05] 沒有打電話通知你說你家有竊竊 [00:11:07] 跑進來了這樣 [00:11:09] 那所以這會有一個機率的問題 [00:11:11] 有時候他會覺得 [00:11:13] 這好像是警報器響他就打給你 [00:11:15] 有時候他可能會覺得說 [00:11:17] 這好像是電話在響 [00:11:19] 那他就不打給你 [00:11:21] 那Mary呢 [00:11:23] Mary主要是因為她在家都常常聽很大聲的音樂 [00:11:25] 所以說呢 [00:11:27] 他們沒有聽到這個警報器在響 [00:11:29] 不過他們都是好鄰居 [00:11:31] 他們一旦聽到警報 [00:11:33] 他們認為聽到警報器在響 [00:11:35] 他們都會打給你 [00:11:37] 那所以現在今天呢 [00:11:39] 如果說今天這個 [00:11:41] 你的鄰居打電話來了 [00:11:43] 請你去預估出 [00:11:45] 你家現在 [00:11:47] 遭到竊賊侵入的機率 [00:11:49] 是多少 [00:11:51] OK現在就是面對一個 [00:11:53] 這樣的一個問題 [00:11:55] 那我們可以利用一個被視網路來描述 [00:11:57] 這整個的關係 [00:11:59] 那 [00:12:01] 這個network structure呢 [00:12:03] 再來就是說你這個警報器 [00:12:05] 你這個警報器 [00:12:07] 什麼時候會響呢 [00:12:09] 基本上就是有竊賊進來的時候會響 [00:12:11] 但有時候 [00:12:13] 如果有地震 [00:12:15] 稍微搖一下他可能也會 [00:12:17] 也會響這樣子 [00:12:19] 那所以我們就要畫 [00:12:21] 一個網路來描述這些事情 [00:12:23] 那我們有幾個假設 [00:12:25] 我們有假設說 [00:12:27] 第一個就是你的警報器 [00:12:29] 雖然蠻reliable [00:12:31] 但是有時候地震來他也會響一下 [00:12:33] 那再來就是說 [00:12:35] 你的鄰居John跟Mary呢 [00:12:37] 他們不會互相 [00:12:39] 串通 [00:12:41] 因為可能一個住左邊一個住右邊 [00:12:43] 那他們彼此間不會互相溝通 [00:12:45] 也就是說 [00:12:47] 警報器如果響了 [00:12:49] 他們不會互相溝通 [00:12:51] John不會去問Mary說 [00:12:53] 欸你有沒有聽到啊 [00:12:55] 欸你如果也有聽到我們再打電話不會 [00:12:57] 他們就各自的行為是獨立的 [00:12:59] 就對了 [00:13:01] 那而且呢我們也假設說 [00:13:03] 他們都感覺不到地震 [00:13:05] 他們感覺不到地震 [00:13:07] 好那整個 [00:13:09] 情況我們大概可以表達成這樣 [00:13:11] 今天一個警報器 [00:13:13] 會不會響取決於 [00:13:15] 有沒有竊賊入侵 [00:13:17] 然後呢 [00:13:19] 有沒有這個 [00:13:21] 有沒有地震 [00:13:23] 那可能我同時又有竊賊同時又有地震 [00:13:25] 那也說不定啊 [00:13:27] 那天生在這個社區呢 [00:13:29] 竊賊入侵的 [00:13:31] 機率是0.001 [00:13:33] 其實蠻低的 [00:13:35] 地震發生的機率呢0.002 [00:13:37] 這樣子 [00:13:39] 那在這 [00:13:41] 所以你有兩個 [00:13:43] 你這個alone這個node有兩個parent [00:13:45] 就是有沒有竊賊 [00:13:47] 跟有沒有地震 [00:13:49] 那我們就可以寫一下它的conditional probability [00:13:51] 寫成一個表 [00:13:53] 比如說又有竊賊又有地震 [00:13:55] 我會想的機率是0.95 [00:13:57] 有竊賊沒地震 [00:13:59] 我想的機率0.94 [00:14:01] 沒竊賊有地震 [00:14:03] 想的機率0.29 [00:14:05] 兩個都沒有 [00:14:07] 我想的機率是0.001 [00:14:09] 那想了之後 [00:14:11] 它影響的是說 [00:14:13] John會不會打電話 [00:14:15] Mary會不會打電話 [00:14:17] 如果有 [00:14:19] 有響的話John會打電話的 [00:14:21] 機率是0.9 [00:14:23] 沒有響的話John會打電話的 [00:14:25] 機率是0.05 [00:14:27] 因為可能是因為電話響 [00:14:29] 他誤以為是警鈴在響 [00:14:31] 所以還是有0.05的機會 [00:14:33] John會打電話 [00:14:35] 那Mary的話呢 [00:14:37] 個別是0.7跟0.01 [00:14:39] 所以這大概是表達了 [00:14:41] 整個這個問題的一個 [00:14:43] 被視網路 [00:14:45] 好 [00:14:47] 所以說呢 [00:14:49] 我們可以看到說 [00:14:51] 剛剛在這個alone那邊 [00:14:53] 我們有制定了一個conditional probability table [00:14:55] 或者簡稱C [00:14:57] 它基本上就是在表達 [00:14:59] 某一個node [00:15:01] condition on它的parent的 [00:15:03] 各式各樣不同的value [00:15:05] 它對應的conditional [00:15:07] probability distribution [00:15:09] in general [00:15:11] a table for a boolean variable [00:15:13] with k一個boolean parent [00:15:15] contains 2的k次方independent [00:15:17] specifal [00:15:19] probability [00:15:21] 這個alone的兩個parent [00:15:23] 剛好都是 [00:15:25] boolean variable [00:15:27] 就是有或沒有 [00:15:29] 地震也是有或沒有 [00:15:31] 那有或沒有 [00:15:33] 那我有兩個parent [00:15:35] 所以說呢 [00:15:37] 我的這個CPT裡面 [00:15:39] 我就會有2的2次方4個entry [00:15:41] OK [00:15:43] 這個是如果你是boolean的parent的話 [00:15:45] 那你如果不是boolean [00:15:47] 你比如說我某個變數 [00:15:49] 我有5種可能的值 [00:15:51] 那當然你的這個table [00:15:53] 可能就會有更多 [00:15:55] 你光比如說第一個parent [00:15:57] 可能的值 [00:15:59] 第二個parent又有3種可能的值 [00:16:01] 哇那你這個矩陣呢 [00:16:03] 就會是要有5乘3 [00:16:05] 這麼多個 [00:16:07] 這麼多個entry [00:16:09] 好 [00:16:11] 那沒有parent的node [00:16:13] 它也有一個機率 [00:16:15] 這個就是所謂的事前機率 [00:16:17] 所以就像這裡 [00:16:19] 這個有沒有竊賊 [00:16:21] 這上面沒有parent啊 [00:16:23] 所以這個機率是什麼呢 [00:16:25] 基本上就是這個地區 [00:16:27] 經過長期的觀察 [00:16:29] 之後那我們知道說 [00:16:31] 天生這個地區會產生 [00:16:33] 會有竊賊的機率是0.001 [00:16:35] 天生這個地區 [00:16:37] 會有地震的機率是 [00:16:39] 0.002 [00:16:41] 這個叫事前機率 [00:16:43] prior probability [00:16:46] 好那 [00:16:48] 那特別要注意一點 [00:16:50] 就是說我們剛剛前面的整個問題的描述 [00:16:52] 有提到說Marry有時候在聽 [00:16:54] 很吵的音樂啦 [00:16:56] 然後有時候電話鈴會響啦 [00:16:58] 這些要件 [00:17:00] 都沒有表達在 [00:17:02] 剛剛的這個網路裡面 [00:17:04] 都沒有表達在這裡面 [00:17:06] 那為什麼呢 [00:17:08] 基本上我們把這些比較 [00:17:10] 隱性的因素 [00:17:12] 都summarize在 [00:17:14] 這個along to [00:17:16] John Cole跟Marry Cole的這個 [00:17:18] uncertainty裡面 [00:17:20] 就是說這些不確定 [00:17:22] 不確定性的因素 [00:17:24] 都已經整合在這個 [00:17:26] 兩個table裡面了 [00:17:28] 這樣的不確定性已經在這裡面了 [00:17:30] 要不然你要考慮的東西太多了 [00:17:32] 對不對好比如說 [00:17:34] 你可能還要再考慮到說除了Marry [00:17:36] 有沒有在聽大聲音樂之外 [00:17:38] 你要考慮到說Marry可能剛好 [00:17:40] 不在家啦或者是說 [00:17:42] Marry剛好有一個訪客啦 [00:17:44] 或者怎麼樣 [00:17:46] 那這個列舉不完嘛 [00:17:48] 所以基本上我們是用比較簡化的 [00:17:50] 方式合理的方式 [00:17:52] 來表達整個問題的knowledge [00:17:54] OK [00:17:58] 好那所以說呢我們也考 [00:18:00] 也免除了一些 [00:18:02] 可能很細 [00:18:04] 而且無法量化的比如說 [00:18:06] 可能溫度濕度 [00:18:08] 溫度濕度很高所以你的這個 [00:18:10] 警報器失靈啊 [00:18:12] 或者沒電了啊 [00:18:14] 等等等等這個我們都不考慮 [00:18:16] John或Marry他出去吃飯了啊 [00:18:18] 他出去度假了 [00:18:20] 這個我們都不考慮 [00:18:22] 好那所以說呢 [00:18:24] in this way a small agent [00:18:26] can cope with a very large world [00:18:28] 那就是因為有這樣的一些假設 [00:18:30] 所以我們可以用剛剛上面 [00:18:32] 這個簡單的網路的結構 [00:18:34] 就能夠去模擬一個 [00:18:36] 很大而複雜的 [00:18:38] 這個世界 [00:18:40] the degree of approximation [00:18:42] can be improved if we introduce [00:18:44] additional relevant information [00:18:46] 當然你要安排的 [00:18:48] 再更仔細也可以 [00:18:50] 那你這個網路就變得比較複雜 [00:18:52] 那而且你 [00:18:54] 你要能夠寫得出 [00:18:56] 這裡面的每一個 [00:18:58] no的conditional probability [00:19:00] 好 [00:19:02] 那所以呢以上是一個 [00:19:04] 簡單的貝斯網路的一個介紹 [00:19:06] 那接下來 [00:19:08] 貝斯網路代表的 [00:19:10] 其實就是實體世界當中的 [00:19:12] 一些knowledge [00:19:14] 或者一些相關的意義 [00:19:16] 那我們可以從兩個角度 [00:19:18] 來去了解貝斯網路的 [00:19:20] 他的語意是怎麼樣 [00:19:22] 第一個呢我們貝斯網路可以 [00:19:24] 視為是join probability [00:19:26] distribution的一種呈現 [00:19:28] 對吧 [00:19:30] 我們剛剛一直在講的 [00:19:32] 第二種我們可以把它表達成是一種 [00:19:34] 我們可以把它視為是一種 [00:19:36] conditional independence statement [00:19:38] 的一種編碼方式 [00:19:40] 也是嘛 [00:19:42] 你根據哪一個know的 [00:19:44] 誰指到誰 [00:19:46] 方向怎麼樣 [00:19:48] 他基本上就是在incode [00:19:50] 你的conditional independence [00:19:52] 的狀況嘛 [00:19:54] 而這兩個 [00:19:56] 角度基本上是 [00:19:58] 等價的 [00:20:00] 只是說呢 [00:20:02] 看你的目的而定 [00:20:04] 第一個角度 [00:20:06] 他在於我們瞭解 [00:20:12] 在我們要建構這個貝斯網路的時候呢 [00:20:14] 我們可以從這個 [00:20:16] 想辦法去描寫這個join probability [00:20:18] distribution的角度 [00:20:20] 來建構網路 [00:20:22] 那第二個角度是 [00:20:24] 比較適合用來理解 [00:20:26] 我整個推論的過程 [00:20:28] 是說 [00:20:31] 好那接下來呢 [00:20:33] 下一段就是想說 [00:20:35] 那我們就是要來表達 [00:20:37] full join distribution [00:20:39] 那怎麼弄呢 [00:20:41] 我們一旦有了這樣的一個 [00:20:43] 貝斯網路之後 [00:20:45] 我們就可以去計算 [00:20:47] 很多很多不同的機率 [00:20:49] we can calculate the probability [00:20:51] that alarm has sound [00:20:53] but neither a burglary [00:20:55] nor an earthquake [00:20:57] has occurred and both [00:20:59] 假設今天警報器想的 [00:21:01] join probability [00:21:03] 也都打來給你了 [00:21:05] 但實際上 [00:21:07] 根本就沒有竊到案 [00:21:09] 也沒有地震發生的機率 [00:21:11] 是多少 [00:21:13] 那這個機率寫下來怎麼寫呢 [00:21:15] 就這樣啊 [00:21:17] probability [00:21:19] 還記得 [00:21:21] 這裡如果寫小寫 [00:21:23] 代表的是 [00:21:25] 隨機變數的一個特定的值 [00:21:27] 這裡寫j代表說 [00:21:29] john有打電話來 [00:21:31] 如果john沒有打電話來就寫 [00:21:33] not today [00:21:35] 所以這個機率就說 [00:21:37] 代表的就是john有打來 [00:21:39] Mary有打來 [00:21:41] 警報器有響 [00:21:43] 這個a就是代表 [00:21:45] 警報器有響 [00:21:47] not a就是警報器沒響 [00:21:49] 然後呢沒有竊到案 [00:21:51] 沒有地震的 [00:21:53] 機率是這樣子 [00:21:55] 好啦 [00:21:57] 那這個機率怎麼算呢 [00:21:59] 這個機率呢 [00:22:01] 首先地震跟竊到 [00:22:03] 它都是沒有parent的 [00:22:05] 所以我們可以單獨的 [00:22:07] 而且它們兩個又是independent [00:22:09] 所以我們可以單獨的把這兩個機率 [00:22:11] 拆開來乘 [00:22:13] probability not e乘上 [00:22:15] probability not b [00:22:17] 然後再來along有沒有產生 [00:22:19] 是跟有沒有 [00:22:21] 竊到跟地震有關 [00:22:23] 所以說我們要算的是 [00:22:25] 在沒有竊到 [00:22:27] 沒有地震的情況底下 [00:22:29] 它警報器會響的機率 [00:22:31] 在乘上 [00:22:33] 當警報器響的情況底下 [00:22:35] Mary會打來的機率 [00:22:37] 在乘上當警報器響的情況底下 [00:22:39] John會打來的機率 [00:22:41] 對不對 [00:22:43] 這個就是整個john [00:22:45] john probability [00:22:47] 那這機率怎麼算 [00:22:49] 就很簡單啊 [00:22:51] 你只要查表就好了嘛 [00:22:53] 那比如說像這個not e [00:22:55] 就是沒有地震 [00:22:57] 因為有地震是0.002 [00:22:59] 沒有竊到 [00:23:01] 就0.999 [00:23:03] 沒有 [00:23:05] 沒有竊到沒有地震 [00:23:07] 會產生a [00:23:09] 那就是0.001 [00:23:11] 有警報器響 [00:23:13] Mary會打來的機率 [00:23:15] 0.7 [00:23:17] John會打來的機率 [00:23:19] 0.98 [00:23:21] 就等於是0.00628 [00:23:24] 所以就是也沒有地震 [00:23:26] 也沒有警報器 [00:23:28] 那通常你會覺得好像 [00:23:30] 兩個鄰居都打來的 [00:23:32] 很緊張耶 [00:23:34] 那而且警報器真的有響耶 [00:23:36] 那 [00:23:38] 真正是有竊到 [00:23:40] 真正是 [00:23:42] 真正是因為沒有 [00:23:44] 沒有竊到 [00:23:46] 然後 [00:23:48] 沒有地震 [00:23:50] 所以這完全是一個誤報嘛 [00:23:52] 對不對又沒有竊到又沒有地震 [00:23:54] 可是兩個鄰居卻打來 [00:23:56] 這個機率呢是很低的 [00:23:58] 0.00628這麼低 [00:24:00] 好 [00:24:02] 所以代表說我們這個 [00:24:04] 警報器應該是挺 [00:24:06] 挺可以信賴的 [00:24:08] 它不會隨便在那邊亂響 [00:24:10] 好 [00:24:12] 那我們剛剛舉的例子呢 [00:24:20] 是一個簡單的例子 [00:24:22] 那當我們面對一個 [00:24:24] 真正的一個問題的時候 [00:24:26] 我們現在要分兩階段 [00:24:28] 第一個階段是 [00:24:30] 我們面對一個問題的時候 [00:24:32] 我們要如何去建構備試網路 [00:24:34] 另外一個大的問題 [00:24:36] 我們本章這個chapter [00:24:38] 要解決的兩大問題第一個就是 [00:24:40] 我們要如何建構備試網路 [00:24:42] 第二個就是 [00:24:44] 那我們要如何基於這樣的備試網路 [00:24:46] 去推論出 [00:24:48] 我們想要的機率這樣 [00:24:50] 好所以我們現在來講第一部分 [00:24:52] 我們要如何去建構 [00:24:54] 備試網路 [00:24:56] in such a way that [00:24:58] the resulting joint distribution is a good [00:25:00] representation of a given domain [00:25:02] 好我們要如何 [00:25:04] 有效的去建構這個網路呢 [00:25:06] 首先第一個 [00:25:08] 我們寫下 [00:25:10] join distribution the entry [00:25:12] in terms of conditional probability [00:25:14] using the product rule [00:25:16] 所以假設我們要算的join probability [00:25:18] 負我的join probability [00:25:20] 長這樣 [00:25:22] 我有S1 [00:25:24] 一直到Sn這麼多個隨機變數 [00:25:26] 那 [00:25:28] 這個機率呢這個join probability [00:25:30] 根據之前我們講過的 [00:25:32] 它就可以表達 [00:25:34] 可能性S1 [00:25:36] 一直到Sn-1的join probability [00:25:38] 在乘上 [00:25:40] 給定 [00:25:42] S1到Sn-1的情況底下 [00:25:44] Sn出現的機率嘛 [00:25:46] 對不對 [00:25:48] 這個沒有問題吧 [00:25:50] 這是一般的join probability的 [00:25:52] 這個拆解法 [00:25:54] 本來就是這樣 [00:25:56] 那我們持續的 [00:25:58] 去拆解這個機率 [00:26:00] 那我們可能就會變成說 [00:26:02] 我們現在呢本來是condition [00:26:04] S1到Sn-1的 [00:26:06] 那這裡可能還是 [00:26:08] 太多變數join在一起了 [00:26:10] 那所以我們可以再進一步 [00:26:12] 往下細猜 [00:26:14] 就是這個 [00:26:16] 這個部分我們可以繼續往下細猜 [00:26:18] 就可以寫成是 [00:26:20] probability Xn-1 [00:26:22] given Xn-2 [00:26:24] Xn-3一直到X1 [00:26:26] 對不對然後呢再繼續往下 [00:26:28] 細猜所以就可以拆解成 [00:26:30] 像這樣 [00:26:32] 一個一個這樣拆解 [00:26:34] 那和寫起來的 [00:26:36] 的這個notation [00:26:38] 就長這樣 [00:26:40] probability Xn-1given Xn-1 [00:26:42] 一直到X1 [00:26:44] 那這個就是我們機率課裡面學到的 [00:26:46] chain rule [00:26:48] 我們可以利用chain rule展開 [00:26:50] 用chain rule展開 [00:26:52] 那 [00:26:54] 對於每一項 [00:26:56] 就是我們chain rule裡面的 [00:26:58] 每一項 [00:27:00] 其實我們又可以仔細的去看一下 [00:27:02] 這個其實就是說 [00:27:04] 給定X1一直到X1-1 [00:27:06] 的情況底下 [00:27:08] X1出現的機率 [00:27:10] 而 [00:27:12] 如果我們知道 [00:27:14] 某一些 [00:27:16] 某 [00:27:18] 就是說 [00:27:20] 這個condition [00:27:22] 其實這個就是X1的parent [00:27:24] 因為他們可能對我X1 [00:27:26] 有影響 [00:27:28] 所以parents of X1 [00:27:30] 其實就是X1一直到X1-1 [00:27:32] 如果真的 [00:27:34] 我有I-1個node [00:27:36] 都有一個箭頭指向我X1的話 [00:27:38] 那的確 [00:27:40] 這個機率就是這樣 [00:27:42] 這個機率就是這樣 [00:27:44] 那所以說呢 [00:27:46] 如果 [00:27:58] 好 [00:28:00] 所以大概狀況是這樣 [00:28:02] 那所以整理一下 [00:28:04] Node就是什麼 [00:28:06] 我們首先我們要先決定好 [00:28:08] 我們有哪些隨機變數 [00:28:10] 那 [00:28:12] 然後呢orderNet [00:28:14] 我們給他一些適當的順序 [00:28:16] OK [00:28:18] 基本上任何的一個順序 [00:28:20] 都可以啦 [00:28:22] 但是等一下我們就會秀給大家看說 [00:28:24] 你用不同的順序 [00:28:26] 你創造出來的被視網路 [00:28:28] 他的簡潔程度會不一樣 [00:28:30] 所以其實這邊是有一點 [00:28:32] 有一點 [00:28:34] 就是有一些原則 [00:28:36] 你可以去follow的 [00:28:38] 好那 [00:28:40] 從node1-n [00:28:42] 我們選定 [00:28:44] I-I-1 [00:28:46] 那麼a minimum set [00:28:48] of parents for X1 [00:28:50] 然後去把他 [00:28:52] 這個箭頭畫出來 [00:28:54] for each parent insert a link [00:28:56] from the parent to X1 [00:28:58] 然後我們就可以去 [00:29:00] 寫下這個CPT [00:29:02] 我們就是把 [00:29:03] probability X1 [00:29:05] given parents of X1 [00:29:07] 去把他對應的這個機率 [00:29:09] 想辦法去估算出來 [00:29:11] 或者是根據經驗或者根據統計 [00:29:13] 去把它估算出來 [00:29:15] 然後寫到這個CPT裡面去 [00:29:17] 這個就是整個的過程 [00:29:19] 整個的過程 [00:29:23] 好那概念上 [00:29:25] the parents of node X1 [00:29:27] should contains all those nodes in X1 [00:29:29] 到X1-1 [00:29:31] that directly influence X1 [00:29:33] 如果有直接跟 [00:29:35] 對於X1的值有直接影響的 [00:29:37] 都會是X1的 [00:29:39] parent [00:29:41] 所以舉個例子來講 [00:29:43] the choice of [00:29:45] parents for Mary Coates [00:29:47] 那Mary會不會 [00:29:49] 打電話來顯然 [00:29:51] 呃 [00:29:53] 呃 [00:29:55] 顯然會跟什麼有關 [00:29:57] 跟有沒有竊盜案 [00:29:59] 跟有沒有地震有關 [00:30:01] 但這個所謂的有關 [00:30:03] 並不是直接相關 [00:30:05] 那麼Mary沒有打來 [00:30:07] 她直接相關的因素是在於 [00:30:09] 她有沒有聽到警報器在響 [00:30:13] 因為她自己本身對於地震沒感覺 [00:30:15] 那她也看不到你家 [00:30:17] 她沒有辦法直接 [00:30:19] 親眼看到 [00:30:21] 有沒有竊賊闖入你家 [00:30:23] 所以會不會影響Mary打不打來 [00:30:25] 只靠 [00:30:27] 這個所謂的警報器響 [00:30:29] 這件事情 [00:30:31] 所以說直覺上我們的知識 [00:30:33] 告訴我們說 [00:30:35] 會影響Mary有沒有打來的呢 [00:30:37] 是Alarm [00:30:39] 這件事情 [00:30:41] 所以呢 [00:30:43] 本來啦有一個變數 [00:30:45] 假設Mary Coates [00:30:47] 這個變數現在是X1 [00:30:49] 那X1到X1-1就是 [00:30:51] Burglary [00:30:53] Earthquake [00:30:55] Alarm跟John's Code [00:30:57] 那我們知道說 [00:30:59] 其實 [00:31:01] 這個有沒有地震跟 [00:31:03] 有沒有竊盜基本上 [00:31:05] 跟Mary Coates沒有直接相關 [00:31:07] John有沒有打電話來 [00:31:09] 也跟Mary會不會打電話 [00:31:11] 沒有直接相關 [00:31:13] 因為他們兩個沒有串通嘛 [00:31:15] 所以 [00:31:17] 跟Mary Coates這個變數 [00:31:19] 直接相關的只有Alarm [00:31:21] 因此我們可以把這樣子的 [00:31:23] Conditional Probability [00:31:25] 簡化成這個 [00:31:27] 它指 [00:31:29] Given Condition on Allow [00:31:31] OK這很合理吧 [00:31:33] 完全符合我們的這個 [00:31:35] 這個直覺 [00:31:37] 那也就是因為這樣的原因 [00:31:39] 所以說它其實是要 [00:31:41] 引導出大家就是說 [00:31:43] 好啦我們拆解成很多這樣子的 [00:31:45] 機率 這樣子的機率相乘 [00:31:47] 但是呢我們又可以根據 [00:31:49] 我們的背景知識 [00:31:51] 我們的假設去把這些 [00:31:53] Conditional Probability呢 [00:31:55] 去簡化 [00:31:57] 他講的其實就是這件事 [00:31:59] Because each node is connected [00:32:01] only to earlier nodes [00:32:03] this construction method [00:32:05] guaranteed that the network is [00:32:07] Acyclic [00:32:09] 那這裡我們剛剛為什麼 [00:32:11] 前面說這個S1到SN [00:32:13] 我要有一個編號的一個順序 [00:32:15] 因為我們就是要從Node1到N [00:32:17] 這樣一步一步的 [00:32:19] 往下長出這個 [00:32:21] 被子網路 [00:32:23] 那我們要Follow這個Ordering [00:32:25] 這個順序 [00:32:27] 那你如果Follow這個順序的話 [00:32:29] 你建出來的網路就會是 [00:32:31] Acyclic [00:32:33] 它就會是 [00:32:35] 不會有Cycle的 [00:32:37] 當然啦你這個順序 [00:32:39] 你說隨便順序都不會有 [00:32:41] 不會有Cycle嗎 [00:32:43] 其實也不見得 [00:32:45] 你在排順序的時候其實你就要考慮到 [00:32:47] 它們之間的一些因果的關係 [00:32:49] 你建出來的網路 [00:32:51] 才不會有Cycle [00:32:53] 所以這是要注意的 [00:32:55] 那另外一個被子網路的 [00:32:57] 重要的特性是說 [00:32:59] Lay contains no redundant [00:33:01] Probability value [00:33:03] If there is no redundancy [00:33:05] and there is no chance for inconsistency [00:33:07] 也就是說呢 [00:33:09] It's impossible for the knowledge [00:33:11] in engineering or domain experts [00:33:13] to create a basic network [00:33:15] that violates the axing of probability [00:33:17] 就是說這個被子網路 [00:33:19] 你到時候你去估算出來的 [00:33:21] 這些機率完全都會符合 [00:33:23] 機率的這些基本的定理 [00:33:25] 比如說 [00:33:27] 這個機率都在0到1之間 [00:33:29] 所有的機率加起來要等於1 [00:33:31] 完全都會符合 [00:33:33] 它不會有 [00:33:35] 什麼redundancy [00:33:37] 比如說你走這個路徑 [00:33:39] 不要講熱路徑 [00:33:41] 你某一個這個 [00:33:43] conditional probability [00:33:45] 跟另外一個conditional probability [00:33:47] 整個加起來超過1不會有這種事情 [00:33:53] 好 [00:33:55] 那所以接下來我們就要來看說 [00:33:57] 我們在建這個網路的時候 [00:33:59] 我們Node的順序是怎麼樣 [00:34:01] 好 [00:34:03] 那一個被子網路呢 [00:34:05] Can often be far more compact [00:34:07] in distribution [00:34:09] 你如果妥善的利用它的因果關係 [00:34:11] 跟conditional independent的話 [00:34:13] 它畫出來的結果 [00:34:15] 這個網路可以非常的 [00:34:17] 簡約 [00:34:19] 比起我們的機率 [00:34:21] 寫成這樣子簡約很多 [00:34:23] 好 [00:34:25] OK [00:34:27] 那好 [00:34:31] 那為什麼會可以 [00:34:35] 那麼簡約呢 [00:34:37] 因為基本上被子網路有所謂的 [00:34:39] 區域的結構性 [00:34:41] locally structured [00:34:43] 或者是所謂的 [00:34:45] 稀疏的特性 [00:34:47] 也就是說 [00:34:49] 即使我整個系統裡面 [00:34:51] 整個問題裡面我有好多個變數 [00:34:53] 比如說10個變數好了 [00:34:55] 10個隨機變數 [00:34:57] 你這10個隨機變數 [00:34:59] 你任何一個隨機變數不會都跟 [00:35:01] 其他的9個變數會有關係 [00:35:03] 這是現實世界當中 [00:35:05] 常常 [00:35:07] 常常有這種現象 [00:35:09] 常常可以合理的假設 [00:35:11] 是這個樣子 [00:35:13] 我們可以假設說 [00:35:15] 我這個隨機變數大概只跟兩三個 [00:35:17] 另外的隨機變數有關 [00:35:19] 這有點類似說 [00:35:21] 你今天 [00:35:23] 今天天氣怎麼樣 [00:35:25] 今天天氣怎麼樣 [00:35:27] 可能跟昨天的天氣會有一點關係 [00:35:29] 跟前天的勉強 [00:35:31] 可能也有點關係 [00:35:33] 但是你說跟10天以前的 [00:35:35] 很有關係 [00:35:37] 那我覺得就扯遠了 [00:35:39] 對不對 [00:35:41] 或者說臺南 [00:35:43] 臺南現在的溫度的狀況怎麼樣 [00:35:45] 可能跟 [00:35:47] 往北一點是嘉義 [00:35:49] 往南一點是高雄 [00:35:51] 可能跟隔壁的都市 [00:35:53] 有一點關係 [00:35:55] 可是呢跟基隆的關係就不大了 [00:35:57] 所以很多 [00:35:59] 實際的問題都有這所謂的 [00:36:01] 區域的結構性 [00:36:03] 區域的關聯性 [00:36:05] 那也就是 [00:36:07] 因為這樣子 [00:36:09] 我們可以 [00:36:11] 所以他這裡就講嘛 [00:36:13] Each sub-component interacts directly [00:36:15] with only a bounded number of other components [00:36:17] 它只會 [00:36:19] 跟一部分有關係 [00:36:21] 所以我們就可以大幅的去簡化 [00:36:23] 這個網路 [00:36:26] 那當然也是有一些 [00:36:28] 複雜的問題 [00:36:30] 牽一髮動全身的每一個 [00:36:32] 變數都跟所有其他變數有關 [00:36:34] 那這樣子的 [00:36:36] Network就是 [00:36:38] Fully Connected Network [00:36:40] 我附帶一提 [00:36:42] 大家現在不要看到Network [00:36:44] 就興奮起來好像都跟這個 [00:36:46] 什麼深度學習的那個Network有關 [00:36:48] 沒有 [00:36:50] 跟深度學習那個類先進網路無關 [00:36:52] 然後呢 [00:36:54] 也跟 [00:36:56] 我們的通訊網路無關 [00:36:58] 所以 [00:37:00] 可能有些人是學網路的 [00:37:02] 電腦網路 [00:37:04] 跟那個也無關 [00:37:06] 但是我們只是都用同樣 [00:37:08] Network這個字而已 [00:37:10] 就是Fuse的 [00:37:12] 那 [00:37:14] 如果你這個Base網路是Fully Connected [00:37:16] 哇那不得了啦 [00:37:18] 你要Specify的這個Join Distribution [00:37:20] 你這個Probability Table [00:37:22] 就很大很大 [00:37:24] 但其實大部分的 [00:37:26] 領域裡面 [00:37:28] 大部分的問題裡面呢 [00:37:30] 其實 [00:37:32] 每一個Random Variable [00:37:34] 只跟少部分的有關係 [00:37:36] 那即使 [00:37:38] 你這個Random Variable [00:37:40] 我跟比較遠的 [00:37:42] 比如說臺南的目前的氣溫 [00:37:44] 你也許你可以說 [00:37:46] 勉強我跟宜蘭的氣溫 [00:37:48] 也有一點點關係嘛 [00:37:50] 你說蝴蝶效應對不對 [00:37:52] 什麼宜蘭的一隻蝴蝶在那邊拍翅膀 [00:37:54] 後來導致臺南這邊 [00:37:56] 什麼有颱風來 [00:37:58] 有沒有可能說不定有可能吧 [00:38:00] 但是這個關係 [00:38:02] 實在是太小了 [00:38:04] 所以我們在處理實際的 [00:38:06] 問題上的時候 [00:38:08] 我們其實 [00:38:10] 可以假設他們之間沒關係 [00:38:12] 因為這個影響微乎其微 [00:38:14] OK [00:38:16] 好 [00:38:18] 那所以說呢 [00:38:20] 這裡可能就講到說 [00:38:34] 就是說你可以提出 [00:38:36] 我們剛剛那個 [00:38:38] Burglary那個Network其實是 [00:38:40] 相當簡易的 [00:38:42] 那你也許你可以提出一些不同的 [00:38:44] 意見 [00:38:46] 你說你怎麼沒有把什麼地震的考慮進來啊 [00:38:48] 因為說不定John跟Mary [00:38:50] 他會感覺到地震 [00:38:52] 他就知道說啊 [00:38:54] 你現在這個氣靈在想是因為地震的關係 [00:38:56] 那你到底要不要 [00:38:58] 你要不要弄到那麼細吧 [00:39:00] 你如果要弄那麼細 [00:39:02] 那你要把地震這個Random Variable [00:39:04] 你拉一條線 [00:39:06] 拉一條這個箭頭 [00:39:08] 到John Coates跟Mary Coates [00:39:10] 這樣做的話 [00:39:12] 那 [00:39:14] 但是有地震沒地震 [00:39:16] 如何去影響 [00:39:18] John跟Mary要不要打電話 [00:39:20] 這個機率你就要去預估出來 [00:39:22] 對不對 [00:39:24] 因為你拉多拉一個Parent [00:39:26] 那你就要想辦法去把那個CPT [00:39:28] 去估計出來 [00:39:30] 那你說這個有標準答案一定要這樣做 [00:39:32] 一定不能這樣做嗎 [00:39:34] 也沒有標準答案 [00:39:36] 那就看說你對於這個 [00:39:38] 整個問題的掌握 [00:39:40] 這個整個計算的複雜度是怎麼樣 [00:39:42] 好啦 [00:39:44] 那即使是Locally Structured Domain [00:39:48] We will [00:39:50] We will get a compact baseline [00:39:52] Only if we choose the [00:39:54] No ordering well [00:39:56] 那你說好啦我們去除掉這些 [00:39:58] 這些比較鑽牛角尖的 [00:40:00] 我們都假設他沒有關係 [00:40:02] 那 [00:40:04] 我們這樣下去建出來的 [00:40:06] 貝斯網路就一定很簡潔嗎 [00:40:08] 那根據你的這個 [00:40:10] Node的Odering而定 [00:40:12] 你的這個順序你建的順序怎麼樣 [00:40:14] 那現在假設 [00:40:16] 我們舉一個反例 [00:40:18] 如果我們今天建這個Node的順序是 [00:40:20] Mary Cole [00:40:22] John Cole [00:40:24] Alam [00:40:26] Burglary跟EarthCraft [00:40:28] 如果你的順序是這樣 [00:40:30] 你不是先從Burglary EarthCraft去建 [00:40:32] 你是反過來這樣建 [00:40:34] 那會發生什麼事呢 [00:40:36] We may [00:40:38] We may get somewhat more complicated network [00:40:40] Shown in figure 14.3 [00:40:42] 那你建出來 [00:40:44] 可能就會長這樣 [00:40:46] 根據你對於這個世界的整個 [00:40:48] 定義而定 [00:40:50] 比如說 [00:40:52] 你Mary有沒有打電話 [00:40:54] 影響到John有沒有打電話 [00:40:56] 影響到John有沒有打電話 [00:40:58] 或者是說這個Alarm的關係 [00:41:00] 或者是說這個Alarm的關係 [00:41:02] 那有沒有Alarm [00:41:04] 又跟John跟Mary有沒有打電話有關係 [00:41:06] 有沒有Alarm又跟這個Burglary [00:41:08] 跟EarthCraft有關係 [00:41:10] 當然這整個這樣子建起來 [00:41:12] 感覺邏輯很怪 [00:41:14] 有沒有 [00:41:16] 這個整個邏輯很怪 [00:41:22] 好 [00:41:29] 所以說這整個 [00:41:31] 怎麼個建法呢 [00:41:33] 第一個Random Variable是Mary Cole [00:41:35] 第二個John Cole [00:41:37] 我們怎麼會加進來呢 [00:41:39] 如果Mary打電話的話 [00:41:41] 那代表說 [00:41:43] 可能這個警報器響了 [00:41:45] 那如果Mary打電話 [00:41:47] 可能代表警報器響 [00:41:49] 那也許Mary打電話這件事情 [00:41:51] 那也許Mary打電話這件事情 [00:41:53] 已經隱含了一個意義就是說 [00:41:55] 她可能也會有比較高的機率 [00:41:57] John也會打電話 [00:41:59] 因此John呢 [00:42:01] John Cole這個Random Variable [00:42:03] 就需要Mary打電話這個來當她的Parent [00:42:05] 就需要Mary打電話這個來當她的Parent [00:42:09] 因為如果你今天要求說 [00:42:11] 因為如果你今天要求說 [00:42:13] 我加到這個貝斯網路的 [00:42:15] 這個Random Variable的 [00:42:17] 這個順序一定要Mary Cole [00:42:19] 接下來John Cole [00:42:21] 如果你要求這個順序 [00:42:23] 一定是要這樣子的話 [00:42:25] 那麼我真的只好把Mary Cole [00:42:27] 拉一條箭頭到John Cole [00:42:29] 拉一條箭頭到John Cole [00:42:31] 而為什麼Mary Cole [00:42:33] 會影響到John Cole呢 [00:42:35] 事實上是因為一些 [00:42:37] 比較間接的原因 [00:42:39] 是因為Mary如果打電話 [00:42:41] 是因為Mary如果打電話 [00:42:43] 隱含的意義是 [00:42:45] 有比較高的機率 [00:42:47] 警報器是響的 [00:42:49] 而警報器 [00:42:51] 有比較高的機率警報器響 [00:42:53] 那麼John會打電話的機率會比較高 [00:42:55] 所以這中間的所謂的 [00:42:57] 這個箭頭代表的 [00:42:59] 其實隱含的就是 [00:43:01] 這個意義 [00:43:03] 好要依此類推啦 [00:43:05] 你要把Jing Lin的這個 [00:43:07] 加進來 [00:43:09] 如果說John跟Mary都打電話 [00:43:11] 如果說John跟Mary都打電話 [00:43:13] 那有比較高的機率 [00:43:15] 代表Jing Lin是響的 [00:43:17] 所以說呢Mary Cole跟John Cole [00:43:19] 都要當成是他的Parent [00:43:21] 那接下來 [00:43:23] 切到 [00:43:25] 如果我們知道 [00:43:27] 這個警報器的狀況 [00:43:29] 然後 [00:43:31] 然後呢John跟Mary [00:43:34] 都有打電話 [00:43:36] 那他可能都會影響到 [00:43:38] 我的這個 [00:43:40] 這個切到的這個機率 [00:43:42] 但其實 [00:43:44] 打電話Mary打電話跟Alarm呢 [00:43:46] 基本上 [00:43:48] 直接影響到這個切到的 [00:43:50] 可能只有Alarm [00:43:52] 所以只有Alarm是他的Parent [00:43:54] 好那依此類推Earthquake [00:43:56] 也是 [00:43:58] Earthquake的狀況也是 [00:44:00] 那你最後建出來的網路 [00:44:02] 可能就會長這個樣子 [00:44:04] 好 [00:44:06] 那相對應於我們剛剛前面 [00:44:08] 建出來這個比較簡潔的網路 [00:44:10] 比起來的話呢 [00:44:12] 這個Figure 14.3 AR [00:44:14] 他就硬是多了 [00:44:16] 兩個link [00:44:18] 硬是多了兩個link [00:44:20] 所以也就代表說呢你有更多的機率 [00:44:22] 要去specify [00:44:24] 那更糟的事情是 [00:44:26] 為什麼他會亂跳 [00:44:28] 更糟的事情是說呢 [00:44:30] Some of the links represent [00:44:32] tenuous relation that require [00:44:34] difficult and unnatural probability [00:44:36] judgment such as [00:44:38] accessing the probability of Earthquake [00:44:40] given burglary and alarm [00:44:42] 更糟的是 [00:44:44] 如果在剛剛的這個network裡面 [00:44:46] 有些機率是很難預估的 [00:44:48] 比如說 [00:44:50] 當有竊盜案 [00:44:52] 跟警鈴響或不響的情況底下 [00:44:54] 地震發生的機率 [00:44:56] 那這機率怎麼預估啊 [00:44:58] 誰知道啊 [00:45:00] 對不對 [00:45:02] 所以的確你可以建構出一個 [00:45:04] 這樣的被視網路 [00:45:06] 但是建不 [00:45:08] 可能很難建得成功 [00:45:10] 因為除了把這個Topology畫出來之外 [00:45:12] 你的CPT都能夠 [00:45:14] 預估出來才完成了 [00:45:16] 整個被視網路的建造 [00:45:18] 那所以其實 [00:45:20] 這整個建構起來不只是 [00:45:22] 結構變得更複雜 [00:45:24] 它裡面的機率你還寫不出來 [00:45:26] 好 [00:45:30] If we try to build a [00:45:32] diagnostic model with things [00:45:34] from symptom to cause [00:45:36] we end up [00:45:39] having to specify additional [00:45:41] dependency between other [00:45:43] otherwise independent cause [00:45:45] 今天如果是從 [00:45:47] 症狀 [00:45:49] 要去 [00:45:51] 我建構的這個順序 [00:45:53] 是從症狀 [00:45:55] 開始建構 [00:45:57] 再建到原因的話 [00:45:59] 就像剛剛這個 [00:46:01] 症狀其實就是Mary打電話來 [00:46:03] 然後呢 [00:46:05] 她去建構到這個什麼 [00:46:07] 警報跡象 [00:46:09] 然後警報跡象又去建構到 [00:46:11] 有沒有竊案 [00:46:13] 所以呢它整個因果就我們人的理解來講 [00:46:15] 它是因果關係是反的 [00:46:17] 如果你硬要這樣子建的話呢 [00:46:19] 你的網路變得比較複雜 [00:46:21] 那你就要寫 [00:46:23] 你就要去specify更多其他的dependency [00:46:25] 才能夠把這個 [00:46:27] 建起來 [00:46:29] 那如果說我們是 [00:46:31] 鎖定在因果關係的model [00:46:33] 基本上我們可以用比較少數量 [00:46:35] 然後呢 [00:46:37] 比較容易去 [00:46:39] 評估出來的機率 [00:46:41] CPT [00:46:43] 能夠去把整件事情描述出來 [00:46:45] 所以這個ordering是很重要的 [00:46:47] 那另外 [00:46:49] 還有另外一個例子就是說 [00:46:51] 故意舉一個很 [00:46:53] 很爛的一個例子 [00:46:55] 如果今天我建構的順序是 [00:46:57] Mary code, John code, [00:46:59] R-squared, burglary跟alarm [00:47:01] 那你建構出來的 [00:47:03] 這個network呢就會長 [00:47:05] 這個樣子 [00:47:07] 看起來就又更複雜了 [00:47:09] 看起來就更複雜 [00:47:11] 拉來拉去光這個alarm [00:47:13] 就會有四個parent [00:47:15] 然後這個burglary [00:47:17] 就有三個parent [00:47:21] 就一大堆亂七八糟的 [00:47:23] 所以說呢 [00:47:25] 我們知道說any of these three [00:47:27] the three network [00:47:29] can represent exactly the same [00:47:31] 但是呢 [00:47:33] 我們可以看到說 [00:47:35] 我們從簡潔到複雜的 [00:47:37] 這個被視網路 [00:47:39] 複雜那個看起來 [00:47:41] 當然很礙眼吧 [00:47:43] 但不要忘了 [00:47:45] 這個被視網路 [00:47:47] 他們其實都代表同樣的join distribution [00:47:49] join distribution [00:47:51] 只是說我們後來才講的 [00:47:53] 這兩個版本呢 [00:47:55] 是沒有妥善的應用到 [00:47:57] conditional independence [00:47:59] 的關係 [00:48:01] 所以說我就 [00:48:03] 要去預估一些可能不必要 [00:48:05] 或者是說很難預估的 [00:48:07] 這個機率在裡面 [00:48:09] 好 [00:48:11] 那講到這邊呢 [00:48:13] 稍微告一個段落