• 沒有找到結果。

趨勢型態分類辨識(P ATTERN CLASSIFICATION )

第二章 文獻探討

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

Φ

1

Class 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(正向機率或稱為正算變數),

π

ia 、及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

∑∑

∑ ∑

=

=

=

T

t i

t o X

t i

t

j

j i

j i k

b

t k

1

) , (

) , ( )

ˆ (

γ γ

式 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

t

N

j

t j ij

t

 = − ≤ ≤

 

= 

+

= +

( ) ( ) 1 ,..., 1 1

)

(

1

1

1

β

β

而 auxiliary function Q(Φ,Φˆ)則定義如下: