Hidden Markov Model (part 2)
深入淺出談 Hidden Markov Model 的概念
透過 part1 ,大家應該想到不少高中的數學課回憶了。接下來,就是我們的重頭戲「Hidden Markov Model」,加了一個 Hidden,顧名思義,就是有東西被隱藏起來了,那到底是什麼東西呢?答案就是「狀態 state」被隱藏起來了。那狀態被隱藏起來了,我還能算什麼呢?底下來回答你的疑惑吧!
• Hidden Markov Model
介紹隱藏式馬可夫法則。
Key point:
我們用 part 1 的例子做延伸,如下圖,每天都有一定的機率到某間賣場裡購物,同時也會有某個機率在該間賣場買瓶飲料。
在起始機率分別為 0.5、0.1、0.4 下,圓仔三天來逛賣場的順序為 Q( 愛買, Costco, 大潤發) ,每到一間賣場他都會買一瓶飲料,三天來分別買了 O(雪碧, 可樂, 綠茶) ,請問發生 Q 和 O 的共同機率為多少呢?
現在換個問題來想想,如果已知連續三天到賣場買的飲料依序為 O(紅茶, 雪碧, 綠茶),請問有幾種可能路線呢?每條路線分別發生的機率又有多少呢?
Introduction:
第二個例子說明了,當只知觀察值,而狀態被隱藏的時候,如何找出「最佳的路徑」。但是,既然是 model 一定是需要訓練的,到底什麼東西是需要被訓練的呢?
在實際遇到的問題中,我們並不會知道「機率轉移矩陣」實際的機率是多少,換句話說,我們不知道上述所指的 「轉移矩陣 A」和「轉移矩陣 B」,只會有一堆數據。
在此,我們用已知的轉移矩陣條件下,舉一個實際的分類問題,熊貓團團、圓圓、圓仔,半年來,每周買飲料 ( 觀察值)的依序清單,至於可能的路線,及多少機率會買到對應的飲料,皆是未知,根據個別的買賣習慣分析,訓練對應的模型,找出對應的「轉移矩陣」,最後我們要預測,當隨便給一周的飲料的清單,最有可能是哪隻熊貓的喜好。
( 上圖為 HMM,其中一種方法,目的試算出在指定事件的發生狀態下,算出此事件發生的最大機率之路徑 )
Comment:
1. HMM 是針對有關時間序列的數據所建立的模型。
2. 是所有時間模型的鼻祖 (ex: RNN、NLP、RL 等)
講到這邊,大家對於 HMM 能處理的問題,應該有所認識了,part 3 將會帶大家了解要如何訓練 model ,找出可能的狀態列,不過這部分有很多的數學式在裡面,千萬別看到就頭暈了,所以慎入呀!
Reference:
(1)演算法筆記- Hidden Markov Model
(2)Hidden Markov Models — Stanford University