第二章 文獻探討
2.3 趨勢型態分類辨識(P ATTERN CLASSIFICATION )
時間數列的模式辨認在近年來受到廣泛的注意,因為根據時間數列所產生的 走勢型態可以作為判斷事件發生與預測未來的基礎,如對股票過去數月間的股價 走勢做出辨識或辨識各國的匯率等等,但是在實際的應用上,卻常常遭遇到相當 的困難;由於生活中的實際資料往往都是非線性的,如已知被廣泛地應用在物理 學、工程學、地震學及生態學等方面都是非線性時間數列,所以要如何辨識出時 間數列的模式是相當值得探討的問題。
在群體會議的過程中,會議群體狀態的變化過程也可視為一種隨著時間而變 化的非線性時間序列,其依憑為每一個與會者的意圖與行為,如果我們能夠將會 議群體狀態的變化過程進行趨勢辨識,那麼對於會議的導引輔助、衝突協調必能 有相當正面的幫助。
傳統的趨勢辨識方法為檢定法,但是統計方法必須在滿足某些限定條件下才 能對對應模式有良好的能力,最主要的癥結在於:統計方法的假設檢定對所有可 能的對立假設並不滿足一致性(De Gooijer and Kumar, 1992)。基於這點,可以考 慮自由模式的辨識方法,例如類神經網路,但類神經網路以迭代方式更新鍵結值 與閥值,計算量大,相當耗費電腦資源,此外,類神經網路的解有無限多組,無 法得知哪一組的解為最佳解,這些對於必須即時監控的會議狀態來說,都是不利 的因素。
隱藏式馬可夫模型
在本研究中為了做狀態趨勢類型的辨識,採用了隱藏式馬可夫模型(Hidden
Markov Model , HMM)。隱藏式馬可夫模型對一連串的取樣資料(sampling data)
是一種極具威力的分析方法,它不但可以有效率的替取樣資料建立參數式的模型
(parametric model),並且可以對隨著時間而改變的資料序列作 pattern
segmentation 與 pattern classification 的分析。HMM 常使用在聲紋的比對、序列 的 Alignment 甚至 Gene finding 等的論文中,在本研究裡,我們必須對一段期間 內所累積出來的群體行為與意圖觀測值序列做趨勢比對,這個比對方式非常符合
HMM 方法本身的特性:因為即使某群觀測值序列為相同類型的變化趨勢,相互 間仍然可能有極高的變異性存在,而 HMM 這種相似(Likelihood)機率比對法 不但可靠性高,而且所需的時間複雜度也低。
相對於隱藏式馬可夫模型而言,馬可夫鏈又被稱為可見的馬可夫模型
(observable Markov model),因為處理過程中的輸出結果為在時間 t 的狀態的集 合(也就是S 的集合)t ,其中每個狀態(S )對應到一 observavle event t X ,換i 句話說,observable event 序列 X 與馬可夫鏈狀態序列S =S1,S2,...,Sn,存在著一 對一(one-to-one)的關係;隱藏式馬可夫模型就是此種模型的延伸,也就是:
處理過程中的輸出結果並不會固定為任一狀態,而輸出的結果則是決定於機率密 度函數(probability density function,pdf)也就是說,輸入一觀測狀態,其輸出 結果並不會唯一;這意味著 observation 序列與狀態序列間不再存有 one-to-one
的關係,每一個狀態代表的意義不是可以直接決定的,因此稱之為"隱藏式"馬可 夫模型。
HMM 完整的格式包含兩個定值的參數 N 與 M(N 代表總共狀態的個數,而 M 代表 observation alphabet 的大小)、observation alphabet O、以及三個機率的集 合(metric):A、B、及π,為了方便表示,我們使用下列的表示法:
Φ=(A,B,π)
HMM 應用在 pattern claasification 時的計算過程,必須先經過學習階段,下 圖 2-4 為學習過程的例子:
圖 2-4:HMM Larning 過程示意圖
如上圖所示,設共有 N 類資料群,每一群的訓練用資料(Test sample)可產 生出一組 Model 參數Φ ,其中 k 是指第 k 組訓練參數。而在辨識的過程中,我k 們將 observation sequence X =(X1,X2,X3,...,XT)代入每一個 Model Φ 求k
)
| (X k
P Φ 之機率值,而P(X|Φ 計算出的機率值最高者,我們將k) Class 1 Test sample
Class 2 Test sample
Class N Test sample
Model training Class 1 Model
Φ
1Class N Model ΦN
) ,..., , ,
(X1 X2 X3 XT
X = 視之為與該 Model 為同一類,由上述過程即可完成 pattern claasification 的計算。
在應用在實際環境上之前,HMM 需要解決下列三個經典問題:
1. Evaluation Problem:給予一個模型Φ及一個 observation sequence )
,..., , ,
(X1 X2 X3 XT
X = ,那麼該如何求P(X |Φ)?也就是說此 Model 產生這個 observation 的機率為何?
2. Decoding Problem: 給 予 一 個 模 型 Φ 及 一 個 observation sequence )
,..., , ,
(X1 X2 X3 XT
X = , 那 麼 該 如 何 求 一 個 最 接 近 的 狀 態 序 列 )
,..., , ,
(S1 S2 S3 ST
S= 能夠產生此一 observation?
3. Learning Problem:給予一個模型Φ及一組 observation,我們該如何 調整 Model 的參數Φˆ 使得 join probability(likelihood)
∏
ΦX
X
P( | ) 最
大?
當 HMM 應用在本研究中,做 Pattern 辨識時,必須解決第 1、3 個問題;解 決第一個問題必須使用 Forward Algorithm,其過程如下所示:
Step 1:Initialization ) ( )
( 1
1 i
π
ibi Xα
=Step 2:induction
j i a bj Xt t T j N
N
i
ij t
t ≤ ≤ ≤ ≤
=
∑
= − () ( ) 2 ; 1
) (
1
α
1α
Step 3:Termination
∑
=
= Φ N
i T i X
P
1
) ( )
|
(
α
其中α
T(i )
為 forward probability(正向機率或稱為正算變數),π
i、a 、及ij) ( j
i X
b 為一個 hidden Markov model。
第三個問題也就是 Model 的 Learning 則是使用 Baum-Welch 演算法(又稱為 backword-forward algorithm),其演算法如下所示:
Step 1:initialization: Choose an initail estimate Φ.
Step 2:E-step:Compute auxiliary function
Q(Φ,Φˆ)base on Φ.Step 3:M-step:Compute
Φˆ according to the re-estimation Eqs.(式 1) and (式 2) to maximize the auxiliary Q-function.Step 4:Iteration: Set Φ=
Φˆ ,repeat from step 2 until convergence.其中式 2.1 與 2.2 為:
∑∑
∑
= =
= T = t
N
k t T
t ij
k i
j i a
1 1
1
) , (
) , ( ˆ
γ γ
式 1
∑∑
∑ ∑
=
=
=
∈ Tt i
t o X
t i
t
j
j i
j i k
b
t k1
) , (
) , ( )
ˆ (
γ γ
式 2
其中:
∑
== − N k
T t t j ij t t
k j X b a j i
i
1 1
) (
) ( ) ( ) ) (
, (
α β
γ α
式 3其中
α
t(i)為 forward algoruthm 中的正算變數(forward probability),而β
t(i) 則為逆算變數,我們定義如下:N i T
t j
X b a
i
tN
j
t j ij
t
= − ≤ ≤
=
+= +
∑ ( ) ( ) 1 ,..., 1 1
)
(
11
1
β
β
而 auxiliary function Q(Φ,Φˆ)則定義如下: