Professional Documents
Culture Documents
分類演算法之比較—以帕金森氏症電子監控資料為例
關鍵詞—分類、帕金森氏症、電子監控、資料探勘
I. 引言
本 篇文章提供十種不同類型的分類演算之比較,以
UCI Machine Learning Repository 上之帕金森氏症電
子監控資料集為例。此資料集由 Intel 與美國十個醫學中
心合作,以居家聲音監控裝置,收集帕金森氏症病患之聲
音資料,藉以預測帕金森氏症病患之症狀等級。實驗的演
算 法 包 含 ( 1 ) Decision tree ( 2 ) Rule induction ( 3 )
Classification using association rules ( 4 ) Naïve Bayesian
classification ( 5 ) Support vector machine ( 6 ) K-nearest
neighbor(7)Bayesian networks(8)Neural networks。本
篇文章會簡單描述各類演算法之基本概念以及演算法選擇
之理由。實驗的設計主要分為兩個階段:單一演算法之不
同參數設定的比較,以及各演算法之間之實驗數據的比
較,作為資料探勘時演算法選擇的參考。最後提出我們的 Fig. 1. 多巴胺傳導路徑及其作用。多巴胺是一種神經傳導物質,用來
觀察與討論。 幫助細胞傳送脈衝的化學物質。這種腦內分泌主要負責大腦的情慾,
感覺,將興奮及開心的信息傳遞,也與上癮有關。多巴胺的主要傳導
路徑有條,分別為中腦皮層通路(mesocortical system)、中腦邊
II. 帕金森氏症 緣 系 統 通 道 ( mesolimbic system ) 、 黑 質 紋 狀 體 徑 路
帕金森氏症(Parkinson's Disease),也稱為震顫麻痺 (nigrostriatal system)以及結節漏斗徑路(tuberoinfundibular
system)
綜合徵、柏金遜症或巴金森症。是一種慢性的中樞神經系
統失調。它的病因目前仍不明,推測和大腦底部基底核 者病症程度。資料集共計有 5875 筆資料,記錄了六個月
(basal ganglia)以及黑質(substantial nigra)腦細胞快速 內,42 名初期帕金森氏症病患於家中試用電子監控設備
退化,無法製造足夠的神經引導物質多巴胺 的聲音訊號(一名病患大約有 200 筆左右的資料)。
(Dopamine)和膽鹼作用增強有關(Fig. 1)。腦內需要
(2) 資料屬性
多巴胺來指揮肌肉的活動;缺乏足夠的多巴胺就產生各種
資料集共有 22 個屬性(TABLE I),其中 subject#為
活動障礙。患病者通常會有靜止時顫抖、僵直、運動不能
病患之代號,於資料探勘時並無幫助,予以剔除。此外,
和運動遲緩、平衡感差、便秘、講話速度緩慢、音調呆
moto_UPDRS 以及 total_UPDRS 為分類之目標,在這邊我
板、寫字越寫越小等症狀(黑質內之細胞喪失 80%時)
[3]
們選擇 total_UPDRS 作為我們分類之目標。所有的資料屬
。
性中,除了 sex 為名詞性(nominal)的資料之外,其餘皆
為數值(numerical)資料。
III. 資料集
(1) 資料描述 (3) 分類目標—UPDRS
此一資料集由英國牛津大學的 Athanasios Tsanas 與 帕金森氏症症狀衡量表(Unified Parkinson's Disease
Max Little 所 提 供 。 以 美 國 十 個 醫 學 中 心 和 英 特 爾 Rating Scale - UPDRS) [4][5][6]為判斷帕金森氏症病患症狀
(Intel)合作發展的一套電子監控設備記錄帕金森氏症病 之依據,通常藉由與醫師面談或臨床觀察來對病患進行評
患說話時的聲音訊號,來預測帕金森氏症病患在帕金森式 分。評分表共分為四大部分:
症症狀衡量表(UPDRS)中所獲得的分數,藉以判別患 智能、行為、情緒(mentation, behavior and mood)
2
Attributes Description
subject# 受測者的代號
age 受測者年齡
sex 受測者性別。0 代表男性,1 代表女性。
test_time 使用電子監控設備的時間。整數部分代表天數
(例:5.6431)。
motor_UPDRS 受測者利用線性內差法所得之帕金森症症狀衡
量表分數(運動部分)
total_UPDRS 受測者利用線性內差法所得之帕金森症症狀衡
量表分數(總分)
Jitter(%), Jitter
(Abs),
Jitter:RAP, 對基頻(fundamental frequency)變異的測量 Fig. 2. 在 RS = 2、CF = 0.25、unpruned = false、REP = false 的參數設定
Jitter:PPQ5, 下,決策樹共 17 層(level),根節點為 age 屬性。
Jitter:DDP
Shimmer, 我們先調整參數,使的決策樹未修剪。其分類的準
Shimmer(dB), 確高,速度也快,不過樹的結構相對就比較大。之後我們
Shimmer:APQ3,
Shimmer:APQ5, 對振幅變異的測量 進行修剪,發現準確度微幅上升,可見得未修剪時可能有
Shimmer:APQ11, overfitting 的產生。然而當我們使用 reduced error pruning
Shimmer:DDA 時,準確度卻大幅下滑,從樹的大小來看,推測是修剪過
NHR, HNR 兩種對雜訊干擾的判斷 度 的 關 係 。 我 們 在 修 剪 的 狀 況 下 , 調 整 confidence
RPDE 非線性動態複雜度分析 factor , 其 準 確 度 並 未 改 變 , 可 能 的 原 因 為 節 點 之
DFA 碎形信號指數
confidence factor 皆小於 0.1,所以調高 confidence factor 並
PPE 非線性的基頻變異測量
無影響。最後我們調整 random seed 為 2 時,有最高的準
確度。
V. 實驗 2. Neural network
1. Decision tree 演算法概念及描述
演算法概念及描述
3
類 神 經 網 路 的 建 構 理 念 是 受 到 生 物 ( 人 或 其他動 的以及規則集比決策樹更具有一般性。缺點是花費時間較
物)的啟發而產生的。仿造大腦神經突觸聯的結構,進行 長、難以決定正確的數據以及易忽略稀有數據。
資訊處理,進而。類神經網路通常由大量的節點(或稱 我們選擇決策表(decision table)作為實驗的演算
「神經元」)相互連接構成。每個節點代表一種特定的輸 法。決策表有速度快(相較於其他的 rule induction 演算
出函數,稱為激勵函數(activation function)。每兩個節 法)、以及規則易懂的優點。
點間的連結會有不同的權重(weight),這相當於類神經 在建立決策表前,需要先決定決策表之大小。依據
網路的記憶。網路的輸出則依網路的連接方式,權重值和 選擇(alternative)的數量 a 以及條件(condition)的數量
激勵函數的不同而有所不同(Fig. 3)。 b,表格的大小為 ab(Fig. 4)。接下來盡可能簡化表格,
並刪除不可能發生的狀況(impossible)、前後矛盾的狀
況 ( inconsistencies ) 以 及 冗 長 、 多 餘 的 狀 況
(redundancies)。
參數設定
Fig. 3. 類神經網路示意圖。此為單一隱藏層之類神經網路結構,綠色
Fig. 4. 決策表 [7]。條件有三個,而選擇有兩種(Yes or No),所以表
的部分為各屬性,黃色的部分則為 total_UPDRS 分類的區間。
格的大小為 23 = 8。
參數設定 Search(S):選擇不同的演算法找出建立表格的屬性
Decay(D) Random seed(RS)
Hidden layer(HL) 實驗數據與結果
Learning rate(LR) 選擇不同的搜尋演算法沒有什麼太大的差異,都是
Training time(TT) 以 age、sex、test_time、total_UPDRS 來建構表格。準確
Random seed(RS) 率大多為 70%左右。調整 random seed = 3 有最高的準確
實驗數據與結果 率。得到的規則總共有 975 條,準確率為 0.758。
類神經網路最重的參數之一就是隱藏層的數目,經
過實驗,隱藏層的數目越多,則準確率越高,但相對的執
4. Classification using association rules
行時間會變得非常地長。我們嘗試增加 learning rate,並
讓 learning rate 隨時間遞減(decay),然而卻沒有如我們 演算法概念及描述
預期般減少執行的時間,推測可能是因為類神經網路收斂 藉由尋找看似無關的物件之間的關聯性,找出隱藏
其中的規則。一個簡單的例子是美國已婚的年輕男子在假
時震盪或是因為已到達停止條件所致。我們增加了停止條
日到超商買啤酒有很大的機率會買嬰兒尿布,因為假日時
件的數目,確實增加了準確度,但是因為時間過長,所以
美國男性習慣相約喝個幾杯,但是因為已婚的年輕男子家
不予考慮。最後在 random seed 為 2 時有最高的準確度。
中通常有剛出生的小孩,所以只能待在家裡喝啤酒配電視
一般來說,類神經網路通常都能有較好的分類準確
以便照顧小孩。
度,然而為了公平起見,我們將 total_UPDRS 分成十個部 我們選擇最著名且較為簡單的 Apriori 演算法作為實
分,也就是將數值資料轉換成名詞性的資料,這對於擅長 驗 的 對 象 。 利 用 由 下 往 上 ( bottom-up ) 循 序 漸 進 的 方
數值計算的類神經網路來說,或許是造成實驗結果準確度 式,藉由產生與測試候選項目集得到高頻項目集合,然後
不高的原因。 再從高頻項目集中找出有用的關聯法則。
3. Rule induction 參數設定
Minimum confidence
演算法概念及描述
實驗數據與結果
尋找在同一事件中出現的不同項目的相關性,成為
由於 apriori 演算法的輸入並須是名詞性的,所以在
一系列有意義的規則,顯示數據中蘊含的關聯性。優點是
資料的前置處理時,我們必須先將所有的數值資料轉換成
尋找多條規則,每個規則可得出一個不同結論、結果清晰
名詞性的資料。
有用、可以處理增加的數據、計算的消耗量是可以被預測
4
Fig. 7 貝氏網路結果示意圖。此為貝氏網路產生的最佳決策樹圖形。
VI. 結論與討論
再進行演算法之比較時,有幾個困難如下。第一,
Weka 的記憶體管理。一些如 support vector machine 或是
Bayesian network 等需要大量記憶體空間的演算法,時常
會導致 Weka 執行到一半就當掉,雖然加大 JVM 的記憶
Fig. 6 KNN 正確率結果示意圖。此為 k-nearest network 中調整 K 職 體空間有所改善,但還是無法完全解決,所以便無法得到
所得到之正確率圖示。
某些執行結果的數據。第二,分析結果無法比較。例如
classification using association rules 在 Weka 中呈現的結果
6
是一些規則,而沒有如其他演算法般,有如 TP rate、
precision、F-measure 等等,增加了比較上的困難。第三,
演算法輸入/輸出的特性不同。不同的演算法接受不同輸
入資料的類型,例如數值或名詞性的資料,輸出亦同。這
又衍生出另一個問題:如何分割輸入的資料才有意義?如
我們前述所提,我們並不了解輸入的資料(關於聲音的測
量,如頻率、振幅等)的物理意義,以至於我們無法做出
最正確的切割,這也導致了分類結果不夠可靠。
最 後 , 在 考 量 速 度 、 記 憶 體 空 間 及 準 確 率 的條件
下,我們認為決策樹最適合作為本資料的分類演算法。若
不考量時間的因素,則類神經網路亦可作為候選之一。
參考資料
[1] A Tsanas, MA Little, PE McSharry, LO Ramig (2009)?‘Accurate
telemonitoring of Parkinson disease progression by non-invasive speech
tests’, IEEE Transactions on Biomedical Engineering (to appear).
[2] http://archive.ics.uci.edu/ml/datasets/Parkinsons+Telemonitoring
[3] http://zh.wikipedia.org/zh/帕金森氏症
[4] http://www.mdvu.org/library/ratingscales/pd/updrs.pdf
[5] http://www.neuro.org.tw/movement/measure/view.asp?m_no=19&page
=1
[6] http://en.wikipedia.org/wiki/Unified_Parkinson's_Disease_Rating_Scale
[7] http://en.wikipedia.org/wiki/Decision_table
[8] http://www.cs.waikato.ac.nz/~ml/weka/index_related.html
[9] http://en.wikipedia.org/wiki/Support_vector_machine
[10] http://en.wikipedia.org/wiki/Decision_table
[11] http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm