類神經網路與資料探勘技術在醫療診斷之應用研究
李俊宏、古清仁 國立高雄應用科技大學 電機工程學系 E-mail: leechung@mail.ee.kuas.edu.tw摘 要
本文探討資料探勘中之分類方法應用於醫療診斷上的諸多問題,並以各分類器實驗來進行預測主要慢 性疾病如乳癌、心臟病、糖尿病及肝臟疾病之存在與否的比較研究。本研究採用數個具有代表性的主要分 類器如多層次類神經網路 (MLP) 及簡單貝式法 (Naïve Bayers)、支撐向量機 (SVM/SMO)、K 最近鄰法 (KNN/IBK)、決策樹法(C4.5/J48)等資料探勘技術來對 10 種醫療診斷資料作分類預測與結果的比較分析。關鍵詞:資料探勘、機器學習、醫療診斷、分類方法
1. 前 言
在瞬息萬變的世界裡資料來源多且複雜,如何於眾多電腦資料中找出有用的資料並用一套有效率且可 靠的演算法來準確預測未知的問題,是機器學習法主要面對之問題,KDD(Knowledge Discovery in databases) 方法使用先進的資料探勘技術來發現巨大資訊中潛藏有用的資訊。Fayyad U.M. 1996[4]定義資料探勘為資料 準備(不同來源之資料蒐集)、資料選擇(資料品質提高及屬性縮小等)、資料前處理(prepocceing 程序)、 資料轉換(如ARFF files)、資料探勘(如採用決策樹方法等)與模式評估方法之優劣。 近年由於醫療系統之電腦化,資料量亦大大增加,資料探勘技術逐漸被應用於醫療系統,如何從錯縱 複雜中醫療紀錄中採取有用之相關因子作為變數並使用資料探勘中之機器學習法之分類技術如類神經網 路、貝式法、決策樹及SVM 等,分類出疾病發生之可能性,在作侵入性治療(例如切片)之前,提供醫師 作為診斷決策之參考。並嚐試縮減太多屬性,刪除非必要之特徵,及錯誤或遺失資料的處理及對機器學習 法中之各參數作適當的選擇,使執行效率達到最適當處。從而比對出臨床醫學診斷最好的機器學習分類方 法。藉由不同疾病資料不同之屬性調整不同之驗證與評估方法之應用了解何種模型較適合於使用在醫療診 斷上之用途,如此將對醫療之診斷治療及預後預測是有相當助益的。 本文目的想就各種機器學習分類方法中是否可以分析找出較適合於醫療診斷之方法並對各種因素中找 出與疾病較相關因素並刪除與疾病症狀無關之因子,去蕪存菁簡化以提供醫師或檢驗師醫療診斷之初期判 斷有所助益,來降低誤判率。
2. 文獻回顧與探討
2.1 機器學習之分類技術本文使用之學習法包含多層次類神經網路(Multi Layer Perceptron, MLP),單純貝氏法(Naïve Bayers Classifier),支撐向量機(SVM/SMO),K 最近鄰法(K-Nearest Neighbor, KNN/IBK),決策樹(Decision Tree- C4.5/J48)等方法茲簡介如下:
2.1.1 多層次類神經網路(Multi Layer Perceptron, MLP)
類神經網路又稱為人工神經網路 ANN(Artifical Neural Network),係模仿神經細胞之神經核軸突 (Axon)及樹突(Dentrites)及突觸(synapse)組成之原理,對外界資訊所作之接收儲存學習反應之計 算網路,利用權重 函數 起動點為前向式網路,可分為監督式網路如 MLP,非監督式網路如 SOM,加強 式網路如基因邏輯。本文使用監督式倒傳遞演算法類神經網路。 倒傳遞演算法類神經網路公式: Yj=f(netj)=f(ΣWkjHk-Θj) (1) 其中 Yj 為輸出層第 j個輸出單元之輸出值 f 為轉換函數,通常用雙彎曲函數 f(x) = x
e
−+
1
1
此函數在自變數趨近正負無限大時,函數值趨近為 (0,1). Σ 為結合函數 Wkj為第k個隱藏單元與第j個輸出單元之連結強度(加權值可透過不斷的學習調整其加權值) Hk 為隱藏層第k個隱藏單元的輸出值 Θj為第j個輸出單元之閥值(偏權值) 倒傳遞式類神經網路是網路權重值沿著性能函數之負梯度方向移動倒傳以回饋式方向法調整權重值 及偏權值以求目標輸出值與推論輸出值之誤差達到最小之神經網路。2.1.2 單純貝氏法(Naïve Bayers Classifier)
單純貝氏分類法(Naïve Bayers)為非參數之密度估計法,是源自 1763 年 Tomas Bayer 之貝氏理論, 之所以命名為Naïve 是因為單純假設屬性間對同一分類的影響是各自獨立而各不相干的,雖然不盡完全 正確,但觀念簡單而計算容易,且分類效果相對於其他分類器如決策樹等亦不遑相讓。 貝氏分類法的理論基礎是根據機率統計學中相當知名的貝氏定理而來的。貝氏定理的公式如下: P(C | X) =
(
)
)
(
)
(
|
X
P
C
P
C
X
P
(2) 應用此公式在分類上,X 代表某個未知案例,C 代表某一類別,此公式的意義為: X 案例屬於 C 類別的機率 =(C 類別中出現 X 案例的機率)*(C 類別出現的機率)/(X 案例出現的機率) 2.1.3 支撐向量機(SVM/SMO)支撐向量機(Support Vector Machine)[5]是監督式學習法解決二元分類問題可用於統計分類及回歸 上,具有強大的線性及非線性處理能力。 線性可分割為尋找最大邊距之超平面, W.X+b=0 (3) 而定義區分最大超平面之兩邊界為, xi.w﹢b≧+1 for yi=+1 (4) xi.w﹢b≦-1 for yi=-1 以上可結合為,
)
(
x
w
b
y
i i⋅
+
≧1∀
i
(5) 可知最大邊距為w
2
2.1.4 K 最近鄰法(K-Nearest Neighbor, KNN/IBK)
K 最 近 鄰 法 ( K-Nearest Neighbor k-NN) 或 稱 為 懶 人 學 習 法 ( Lazy Learner) 是 屬 於 事 例 學 習 (Instance-based learning)的一種非參數估計之機械學習方法,是採用測試資料與一群訓練資料中距離最 接近K 個的資料比對其相似度,用投票 Vote 判定其分類歸屬,最接近測試資料之 K 個訓練值中分類結 果最多數量之分類即判定該測試資料之分類。 K 最近鄰距離之計算採用歐幾里得(Euclidean)距離,Instance-based 距離計算如下: 2 2 2 2 2 1 1
)
(
)
(
)
(
x
−
y
+
x
−
y
+
…
+
x
n−
y
n (6) nx
x
1為X instance 之屬性, 為Y instance 之屬性,由於上式對於 noise 及太多無用之屬性造成 錯誤率提高故Aha 1992 提出權重加權法於距離之計算。權重法 Instance-based 距離計算如下: n
y
y
1 2 2 2 2 2 2 2 2 1 1 2 1(
x
y
)
w
(
x
y
)
w
n(
x
ny
n)
w
−
+
−
+
+
−
(7) 其中權重法又分為d 法及 1/d 兩種權重法,權重 d 法為若分類為正確時權重隨之提高若分類錯誤時 權重減少;權重1/d 法為若分類錯誤時提高權重,若分類正確時權重值不變。在計算歐幾里得(Euclidean) 距離前作屬性值之正規化(normalization),以避免屬性值大的屬性之權重過大,以降低運算負擔。 2.1.5 決策樹(Decision Tree- C4.5/J48)J48 是 Weka[1]使用之 C4.5 而 C4.5 則由 ID3 改良而成,採用獲利比例(gain ratio)法計算各屬性, 而擁有最大獲利比例之屬性作為根結點之分割屬性。其獲利比例公式為: GainRatio(A)=
)
(
)
(
A
SpliitInfo
A
Gain
, (8) SplitInfoA=-⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
×
∑
=D
D
D
D
j v j j 2 1log
(9) Gain(A)=Info(D)-InfoA(D),A之期望資訊值如下式: InfoA(D)=(
j v j jD
Info
D
D
×
∑
=1)
,Info(D)= -∑
(10) = m i i ip
p
1 2(
)
log
Pi為被歸類為該類別的機率以位元bits表示 D D j 為第j個分割之權重 Info(D)為原始資訊值稱為熵 entropy,一般為少於 1 之值 InfoA(D)為屬性A之資訊值 決策樹之成長太大變成複雜產生overfit需加以移除不必要的分支結點,修減(Pruning)。Quinlan 1987[6]使用估計錯誤率加上懲罰值的悲觀修剪法決定屬性A的最佳分割點之方法如下,首先對屬性A之值 作高低排序,一般而言兩個相鄰值的中間點是可能分割點,屬性有n個值就有n-1 個分割點,對每一個分 割點以InfoA(D)公式求出期望值,而最小的期望值之分割點就是屬性A之分割點。 2.2 醫療診斷相關介紹 根據行政院衛生署統計[3],台灣地區 97 年度十大主要死因順位依序為(1)惡性腫瘤(癌症)38,913 人佔 27.3%;(2)心臟疾病 15,762 人佔 11.6%;(3)腦血管疾病 10,663 人佔 7.5%;(4)肺炎 8,661 人佔 6.1%;(5)糖 尿病8,036 人佔 5.6%;(6)意外事故 7,077 人佔 5.0%;(7)慢性下呼吸道疾病 5,374 人佔 3.8%;(8)慢性肝病 及肝硬化4,917 人佔 3.4%;(9)自殺 4,128 人佔 2.9%;(10) 腎炎、腎徵症候群及腎性病變 4,012 人佔 2.8%。 其中有 8 項均為慢性病足見慢性病影響國民健康至巨。本文以慢性病之乳癌、心臟病、糖尿病、肝病及各 病症之相關檢驗方法作為探討之主題,與此相關之文獻整理如下表: 表1 文獻摘要表 病症項目 文獻作者(年份) 研究結果
Street et al. 1993 使用腫瘤相關30 個屬性中重要之 3 個屬性於針刺法(Biopsy)乳癌診斷 技術可得97%以上之正確率。[7]
Fogel et al. 1995 使用神經網路於Wisconsin 乳癌診斷其正確率在 97%以上[8] 乳癌
Soria et al. 2008 使 用 神 經 網 路 、 單 純 貝 氏 法 及 C4.5 於 於 乳 癌 診 斷 結 論 為 MLP (94.9%Accuracy)最好,NB(93.1%)其次,C4.5(87.6%)最差[9]。 Wu et al. 1993 應用ANN 於乳癌腫瘤攝影 Mammography 作敏感度特異度 PPV 及 AURC
結論ANN 可得良好結果[10] 乳房腫塊
攝影 Lo et al. 1997 應用ANN 於乳癌腫瘤攝影 Mammography ROC 91%特異度 100% 敏感度 71%,可由 Mammography 判斷是否良性避免不必要的 Biopsy [11] Lee et al.2000 分析乳癌存活率認為SVM 可用於良性與惡性腫瘤之分類上[12]
Delen et al.2005 用 決 策 樹 邏 輯 回 歸 及 ANN 三 法 於 乳 癌 存 活 率 以 正 確 率 而 言 認 為 C5(93.6%)最佳,MLP(91.2%)次之,邏輯回歸最差(89.2%)。[13] 乳癌存活
率
Belluacha 2006 用簡單貝氏法, ANN, C4.5 三法應用於乳癌存活率認為 C4.5 最佳。[14] Tang et al.1995 運用 ann 於冠狀心臟疾病之預測上,結論平均預測大於正確率 76%,訓
練樣本使用時間小於5 分鐘[15]
心臟病 Bhatia et al.2008 使用基因邏輯SVM 分類法於 Cleveland 心臟病分類上總共有 13 個屬性 5 個分類,屬性13 個時 正確率 61.9%,屬性減為 7 個時 7 正確率 0.3%, 屬性減為6 個時正確率 72.5%,屬性減為 5 個時正確率 69.4%;若為二元 分類時正確率可達90.6%。[16]
Mehta et al. 1996 使用 Kernel 函數 SVM 應用於 CSF ECG 心電圖 database 上作心臟診斷 QRS 之探測率預測,其可正確率達 99%。[17]
Kukar et al.1999 ECG 使用倒傳類神經網路及簡單貝氏法於 ECG 心電圖判斷存活情況, BPN:精確度 0.80 特異度 0.76 敏感度 0.82;簡單貝氏:正確率 0.80 特 異度0.53 敏感度 0.92。[18]
心臟超音 波
Gao et al. 2001 使用貝氏神經網路於ECG 心率不整研究其正確率可達 90%以上。[19] Fleischmann et
al. 1998
在同一基準下比較SPECT 與 Echocardiogram 兩種心臟檢查方法以 ROC 曲線分析,SPECT 方法其敏感度 87%特異度 64%,Echocardiogram 方法 其敏感度85%特異度 77%,結論以 Echocardiogram 方法較 SPECT 方法為 佳。[20] 心臟核攝 影 Kurgan et al. 2001 使用影像分析法最佳化後其正確率可達SPEC 於心肌造影診斷參數未最佳化時正確率為 81%,於85% [21]。
Kayear &
Yildirim 2003 MLP,RBF 及 GRNN(General Regression Neural Network)法於 Pima Indians 糖尿病,精確度以RBF 最差 MLP 次之以 GRNN 達 80.2%為最好。[22] Venkatesan &
Anitha 2006 應用 邏輯回歸、MLP 及 RBFNN 於 1200 筆糖尿病患者資料其正確率邏輯回歸73.3%,MLP91.3%,RBFN 最好達 97%。[23] 糖尿病
Balakrishnan et
al.2009 使用ROC 0.8344,若僅採用最佳四個屬性則正確率 77.99% 、ROC 0.83。[24]LIBSVM 以 FCBF 屬性篩選法比較若使用全部屬性則正確率 77.4%、 Gorunescu et al.
2005
應用PNN(Probabilistic Neural Network)於對得病與未得病患者作肝癌 診斷含15 個屬性,結論訓練正確率 90.10% 驗證正確率 92.67%。[25] Lee et al. 2006 用SVM 對 CT Image 作肝病判斷,結果正確率 78%,ROC 為 0.87。[26] 肝病
Mougiakakou et
al. 2006 使用神經網路及之選擇採用 GA based,分類正確率達 90.63% [27] k-NN 集成法對 147 個 CT Image 作肝病分類判斷,屬性
3. 材料與方法介紹
3.1 資料來源
使用 10 個取自 UCI 資料庫之有關醫療診斷之資料集(data sets)[2]作為本論文之實驗材料,驗證方 式是均採用10 次之交叉驗證(10-fold Cross Verification)方式;將樣本大小、屬性數量及類別、分類等資 料列表如下: 表2 樣本大小及屬性數量表 樣本大小 屬性數量 Nominal 類別型 Numic 數值型 分類性質 遺失值 乳癌Breast Cancer Wisconsin, bcw 699 9 9 0 2 元分類 有 乳房X 光腫瘤攝影 Mammography 961 5 4 1 2 元分類 有 乳癌存活率 Haberman’s Survival 306 3 0 3 2 元分類 無 心臟病Hungarian 294 13 8 5 2 元分類 有 心臟病staglog 270 13 8 5 2 元分類 有 心臟核攝影SPECT 187 22 22 0 2 元分類 無 心臟超音波Echocardiogram 132 12 4 8 2 元分類 有 糖尿病Pima Indians Diabetes 768 8 0 8 2 元分類 無
肝炎 Hepatitis 155 19 13 6 2 元分類 有
肝異常BUPA Live Disorders 345 6 0 6 2 元分類 無
3.2 資料轉換及屬性縮減、資料簡化 3.2.1 資料轉換
所有資料均需轉換為ARFF(Attribute-Relation File Format)檔案,以適合 WEKA 程式運作。
3.2.2 屬性縮簡 資料大小及屬性品質同等重要,資料庫中含有許多非必要的屬性,如能將無關的屬性去除而用主要 的屬性來作分析,可以加快運算的速度和提升其正確率,本文採用CfsSubsetEval+Bestfirst 之屬性縮減法。 3.2.3 資料簡化 數字型之資料與二元資料共存時,為避免計算時間過長及彼此權重差異過大,需將資料加以簡化。 正規化 (Normalization)
資料如身高體重等數值差異較大之值需轉換成較小之範圍如-1.0,1.0 或 0,1 之範圍如神經網路之輸入 值均事先將原始資料轉換成-1,1.0 之值。
分割(Discretization)
數字型資料可分割成數個級距(Norninal)用以簡化資料以達到加速計算增加效率,本文分割方法採 用Fayyad & Irani 1993[28]之最小描述長度(Minimum Description Length MDL)法作分割處理。
3.3 使用分類器參數選擇 3.3.1 使用固定參數 固定參數之採用原則在簡易貝氏法(Naïve Bayers)採用高斯分配,在多層次類神經 (MLP)採用學 習率LR=0.3 動量 Momemtum=0.2,支向機(smo)採用 c=1.0 及 Polykernel,最近鄰(IBk) 採用 K=1 及 No distance weighting,決策樹(j48) 採用 C=0.25 C4.5 修剪法。 3.3.2 使用篩選參數
篩選參數之採用原則在簡易貝氏法(Naïve Bayers)採用高斯分配或 kernel,在多層次類神經(MLP) 採 用學習率LR=0.1~1.0 動量 Momemtum=0.1~1.0 之最佳值,支向機(smo)中 c=0.1~1.0 RBF Kernel 或 Poly kernel 之最佳值,最近鄰(ibk) 採用 k=1~15 之最佳值,決策樹(J48)採用 c=0.1~1.0 之最佳值。 3.4 驗證與評估與方法比較 3.4.1 驗證方法 本文使用交叉驗證10 CV 來評估機器學習法之演算績效,10 fold CV 交叉驗證(Kohavi 1995[29]) 使用方法是將原來樣品總數隨機分成不重疊之十份,每一等份的類別近似全部樣本之類別,其中九份用 來作訓練用以建立模型,再將剩餘之一份作為測試用,然後每一份資料都重覆一次共10 次,得到所有錯 誤數目再除以所有原始資料總數,就是最後的正確率,作為評估績效之用。 3.4.2 模型績效評估方法 利用訓練資料產生模型然後將測試資料代入,一般欲了解的是如何判斷模型的好壞,其績效的標準 如何,對分析此類資料時混亂矩陣(Confusion matrix)是非常有用的工具。 表3 混亂矩陣
Test True(真) False(假) Total Positve(陽性) TP(真陽性) FN(假陰性) TP+FN Negative(陰性) FP(假陽性) TN(真陰性) FP+TN Total TP+FP FN+TN TP+FP+FN+TN 分類模型建立後需評估其績效,下列為評估績效之常用指標: 敏感度(Sensitivity)公式(tpr)= FN TP TP + 特定性(Specificity)公式= TN FP TN + 正確率(Accuracy)公式= FN FP TN TP TN TP + + + + FPR(假陽性率)= 1-特定性,為原始值組為陰性而分類結果為陽性之比率 FPR 公式= TN FP FP +
Hanley JA, Mcneil BJ於1982[30]年發表ROC(Receive Operating Characteristic)Curve,以ROC曲線下 之面積AURC(Area Under ROC Curve)大小用來評估比較分類器之好壞或檢驗或診斷之正確性,面積越 大表示效果越佳,能正確判斷資料的類別而不同之分類學習法可求得不同之ROC CURVE 而可由其不同 之 面 積 來 判 斷 分 類 器 之 良 否 , 以 Y軸 用 敏 感 度 tpr( sensitivity rate) , 以 X軸 用 fpr =1-特 定 性 (1-Specificity)繪出ROC曲線圖並計算曲線下面積之比率 作為評估績效之依據,面積(AURC)越大表示 效 果 越 好 (0.9~1.0 優 Excellent,0.80~0.9 良good,0.70~0.80普通fair,0.60~0.70劣Poor,0.50~0.60 Fail 最 差)。 3.4.3. 分類器差異統計方法驗證 模型之好壞可以以該模型之分類正確率或 AURC(ROC 曲線下之面積)來比較,但平均值含有可觀的 變異性,無法以簡單判斷模型間之好壞或無差異,要靠統計檢定法去檢定。 使用傅利曼法(Friedman Test)檢定整體分類器差異 傅利曼法(Friedman Test)是一種非參數型的統計檢定法,使用分級(Rank)法將最好的方法歸為 1 級(Rank 1),次佳的為 2 級,依此類推。Janez Demsar 2006[31]將此法用於多種分類方法之比較,公式 如下:
)
1
(
12
2+
=
k
k
N
x
F [∑
j jR
2-4
)
1
(
+
2k
k
]F
F=x
x
F Fk
N
N
2 2)
1
(
)
1
(
−
−
−
其中x
F2 =Friedman 統計值,∑
=該法分級平均值的平方和, =欲比較之分類法數目,本 文為5,N=欲比較之資料集,本文為 10, j jR
2k
F
F =欲比較之檢定值,需與F
.05(
ν
1,
ν
2)
分配之臨界值上 限作比較 ) , ( 1 2 05 .ν
ν
F
= 5%顯著性水準(significance level)之 F 分配臨界值上限 假設多種方法沒有差異之虛無假設,若透過檢定F
F值大於F
.05(ν
1,ν
2)分配之臨界值上限(查統計 檢定F 分配表),則否決此假設;假設選擇95%信心區間檢定,ν
1=k
−
1
=
4
自由度為(
k
−
1
)(
N
−
1
)
=
36
查表F(4,36)=2.634,若算出之F
F值大於此值,則表示否定檢定虛無假設,即多種方法間存有差異性。 使用配對樣本 t 試驗法(Paired t-test)檢定二分類器間差異性 為使用測試資料之二種方法間之配對比較方法,使用數據參數做相互間比較,其公式如下 t=n
d
s
d dμ
−
2 1x
x
d
=
−
為兩配對樣本之差 先假設兩模型正確率(或ARUC)相同之虛無假設,若透過檢定否決此假設則兩模型間有差異性,選擇 95%信心區間雙尾檢定 t0.025 自由度d.f.為 9 查表Z=±2.262,若算出之t值在±2.262 之外則檢定虛無假設不 成立。4. 資料實驗結果與分析比較
4.1 各分類器 AURC 及 ACC(正確率)分級(Rank)比較
各種病症不同分類法之AURC 值採用全部屬性固定參數)
AURC 為主之績效分級依序為 1. Naïve Bayers,2.MLP,3.J48, 4.SMO,5. IBK(如表 5)。
圖1 各種病症診斷 AURC 值比較(一)
各種病症不同分類法之正確率(採用全部屬性固定參數)
正確率為主之分類績效分級依序為1. Naïve Bayers,2.SMO,3.MLP, 4.J48,5. IBK(如表 5)。
各種病症不同分類法AURC 值(採用篩選參數及屬性)
AUC 為主之績效分級排序為 1. Naïve Bayers,2.MLP,3.J48, 4.SMO,5. IBK(如表 6)。
圖3 各種病症診斷 AURC 值比較(二)
各種病症不同分類法AURC 值(採用篩選參數及屬性)
正確率為主之分類績效排序為1. Naïve Bayers,2. IBK,3. SMO, 4. MLP,5. J48(如表 6)。
各種病症不同分類法 User CPU 使用時間(min.) (採用固定參數及屬性或篩選參數及屬性) 表4 各種病症電腦 CPU 使用時間(min)比較 簡易貝式 Naïve Bayers 多 層 次 類 神 經 MLP 支向機 SMO 最近鄰 IBk 決策樹 J48 分類器 病症項目 固定 篩選 固定 篩選 固定 篩選 固定 篩選 固定 篩選 乳癌 0 0 242.24 242.24 0.38 0.94 0.02 0.05 0 0 乳房腫塊攝影 0 0 11.83 7.78 0.56 0.44 0.03 0.03 0.01 0 乳癌存活率 0 0 0.49 0.47 0.02 0.12 0 0.07 0 0 心臟病Hungarian 0 0 5.64 5.60 0.06 0.20 0.01 0.01 0.01 0 心臟病Staglog 0 0 5.16 5.27 0.07 0.12 0.01 0 0.01 0 心臟核攝影SPECT 0 0 3.03 0.31 0.07 0.01 0 0 0.01 0 心臟超音波 0 0 0.50 0.18 0.01 0.01 0 0 0 0 糖尿病 0 0 3.27 2.61 0.04 0.04 0.02 0.02 0.03 0.11 肝炎 0 0 1.93 0.40 0.03 0.01 0 0 0.01 0 肝功能異常 0 0 1.12 1.09 0.02 0.01 0 0 0.01 0.03 以表4 之 5 種分類器所作之 CPU 固定參數及屬性使用時間結果,經排序時間因素為準之分級依序為 1. Naïve Bayers,2.IBK,3.J48, 4.SMO,5. MLP;篩選參數及屬性 CPU 使用時間結果,經排序時間因素為 準之分級為1. Naïve Bayers,2.IBK,3.J48, 4.SMO,5. MLP。
4.2 統計方法檢定分類器差異性之結果 根據3.4.3 節所陳述的統計檢定方法驗證全體分類器之差異性其結果如下。 4.2.1 傅利曼法(Friedman Test)統計檢定結果 AURC 及正確率(Accuracy)ACC 資料統計檢定結果 (採用全部屬性固定參數) 表5 傅利曼法 AURC 及 ACC 結果分級 (一) 簡易貝式 Naïve Bayers 類神經 MLP 支向機 SMO 最近鄰 IBk 決策樹 J48 分類器
病症項目 AURC ACC AURC ACC AURC ACC AURC ACC AURC ACC
乳癌 1.5 1 1.5 2 5 3.5 3 3.5 4 5 乳房腫塊攝影 1 1 2.5 4 4.5 2 4.5 5 2.5 3 乳癌存活率 2 1 1 2 5 3 4 5 3 4 心臟病Hungarian 1 1 2 4 3 2 5 5 4 3 心臟病Statlog 1 1 2 3 3 2 4.5 4 4.5 5 心臟核攝影SPECT 1 2 5 5 2 1 3 4 4 3 心臟超音波 3 2 1 4 4 3 5 5 2 1
糖尿病 1 2 2 3 4 1 5 5 3 4 肝炎 1 2 5 5 2 2 3 3 4 4 肝功能異常 3 5 1 1 5 4 4 3 2 2 平均分級結果 1.55 1.70 2.30 3.30 3.75 2.35 4.10 4.25 3.30 3.40 依第3.4.3 節及上表 AURC 分級數據計算如下:
x
F 2=(
)
17.82 4 6 5 30 . 3 10 . 4 75 . 3 30 . 2 55 . 1 6 5 10 12 2 2 2 2 2 2 = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + + + + − • • •F
F=(
10 4)
17.82 7.231 82 . 17 9 = − • • 算出之F
值為7.231 大於 3.4.3 節之 2.634,否定檢定虛無假設,即上述五種分類方法之 AURC 採用 全部屬性固定參數之值,整體而言,存有差異性。同理 ACC 正確率檢定結果如下: Fx
F 2=15.70F
F=5.815F
F值為5.815 大於 2.634,否定檢定虛無假設,整體而言,存有差異性。 AURC 及正確率(Accuracy)ACC 資料統計檢定結果(採用篩選參數及屬性) 表6 傅利曼法 AURC 及 ACC 結果分級 (二) 簡易貝式 Naïve Bayers 多層次類神經 MLP 支向機 SMO 最近鄰 IBk 決策樹 J48 分 類 器 病症項目AURC ACC AURC ACC AURC ACC AURC ACC AURC ACC
乳癌 2 2 2 4 4 1 2 3 5 5 乳房腫塊攝影 1 1 2.5 2 5 5 2.5 4 4 3 乳癌存活率 2 1 1 3 5 4 3 2 4 5 心臟病Hungarian 1 2 3 4 4 1 2 3 5 5 心臟病Staglog 1 1 3 4 4 2 2 3 5 5 心臟核攝影SPECT 2 4 2 1 5 5 2 2.5 4 2.5 心臟超音波 3 1 1 3 4.5 5 4.5 2 2 4 糖尿病 1 2 2.5 4 5 5 2.5 3 4 1 肝炎 1.5 1 3 4 4 2 1.5 3 5 5 肝功能異常 4 4 1 1 4 4 4 4 2 2 平均分級結果 1.85 1.90 2.10 3.00 4.45 3.40 2.60 2.95 4.00 3.75 依第3.4.3 節及上表 AURC 數據計算如下
x
F 2 =21.58F
F=10.544 ,算出之F
F值為10.544 大於 3..4.3.節之 2.634,否定檢定虛無假設,即上述五種分類方法之 AURC 採用 採用篩選參數及屬性之值,整體而言,存有差異性。同理 ACC 正確率檢定結果如下:x
F 2 = 7.74F
F=2.159 算出之F
F值為2.159 小於 2.634,無法否定虛無假設,整體而言,沒有明顯差異性。 4.2.2.配對樣本 t 試驗 (Paired t-test) 檢定結果 AURC 及正確率(Accuracy)ACC 資料檢定結果 (採用全部屬性固定參數)表7 配對 t (Paired T Test) 檢定 AURC 及 ACC 結果(一) 1.簡易貝式 NB 2.類神經 MLP 3.支向機 SMO 4.最近鄰 IBk 5.決策樹 J48 分 類 器
分類器 AURC ACC AURC ACC AURC ACC AURC ACC AURC ACC t 值 - - -0.912 0.947 -6.692 1.008 5.266 2.981 -3.466 1.149 Sig. - - 0.386 0.389 0.000 0.340 0.001 0.015 0.007 0.280 1.簡易貝式 NB 結 果 - - 無差 無差 有差 無差 有差 有差 有差 無差 t 值 -0.912 0.94 7 - - 2.486 -0.813 3.317 1.868 -2.900 0.094 Sig.. 0.386 0.38 9 - - 0.035 0.437 0.009 0.095 0.018 0.927 2.多 層 次 類 神 經 MLP 結 果 無差 無差 - - 有差 無差 有差 無差 有差 無差 t 值 -6.692 1.00 8 2.486 -0.813 - - 0.119 3.471 1.071 1.028 Sig. 0.000 0.34 0 0.035 0.437 - - 0.908 0.007 0.312 0.331 3.支向機 SMO 結 果 有差 無差 有差 無差 - - 無差 有差 無差 無差 t 值 5.266 2.98 1 3.317 1.868 0.119 3.471 - - 1.777 -2.10 9 Sig. 0.001 0.01 5 0.009 0.095 0.908 0.007 - - 0.109 0.064 4.最近鄰 IBk 結 果 有差 有差 有差 無差 無差 有差 - - 無差 無差 t 值 -3.466 1.14 9 -2.900 0.094 1.071 1.028 1.777 -2.109 - - Sig. 0.007 0.28 0 0.018 0.927 0.312 0.331 0.109 0.064 - - 5.決策樹 J48 結 果 有差 無差 有差 無差 無差 無差 無差 無差 - - 將圖1 及圖 2 中之兩種分類法(各含 10 種病症)之 AUR 及 ACC 之資料配對分別鍵入 SPSS 之配對 樣本 T 檢定之資料內,求出上表之 t 值及顯著性(significance)值,若 t 值大於+2.262 或小於-2.262 或顯著性小於0.05 表示兩分類法有差異性,其結果列於上表,並參考分級 Rank 排序列表如下:
表8 配對 t (Paired T Test) 檢定 AURC 結果(一)無明顯差異部份 分類器 1. NB 2. MLP 5. J48 3.. SMO 4. IBk 1. NB 2 .MLP 5. J48 3. SMO 4. IBk 上表塗色部分為無明顯差異部份,以簡易貝氏法NB 及多層次類神經 MLP 間無差異性,績效最好; 而支向機SMO、最近鄰 IBK 及決策樹 J48 法彼此無差異性列為績效最差部分。同理 AURC 之資料,結 果列於下表並參考Rank 排序列表如下:
表9 配對 t (Paired T Test) 檢定正確率(Accuracy)結果(一)無明顯差異部份 分類器 1. NB 3. SMO 2. MLP 5. J48 4. IBk 1. NB 3. SMO 2. MLP 5 J48 4 IBk 上表塗色部分為無明顯差異部份,以簡易貝氏法NB 及支向機 SMO 績效最好;IBK 列為績效最差部分 AURC 資料檢定結果 (採用篩選參數及屬性)
表10 配對 t (Paired T Test) 檢定 AURC 及 ACC 結果(二) 1.簡易貝式 NB 2.類神經 MLP 3.支向機 SMO 4.最近鄰 IBk 5.決策樹 J48 分類器
分類器 AURC ACC AURC ACC AURC ACC AURC ACC AURC ACC t 值 - - -0.380 0.902 4.287 2.550 2.377 2.240 2.831 2.108 Sig. - - 0.73 0.390 0.002 0.031 0.041 0.052 0.020 0.064 1.簡易 貝式 NB 結果 - - 無差 無差 有差 有差 有差 無差 有差 無差 t 值 -0.380 0.902 - - 4.451 0.347 0.903 -0.305 3.996 2.893 Sig. 0.73 0.390 - - 0.002 0.736 0.390 0.767 0.003 0.018 2.類神 經 MLP 結果 無差 無差 - - 有差 無差 無差 無差 有差 有差 t 值 4.287 2.550 4.451 0.347 - - 4.279 -1.052 1.191 0.562 Sig. 0.002 0.031 0.002 0.736 - - 0.002 0.320 0.264 0.588 3.支向 機 SMO 結果 有差 有差 有差 無差 - - 有差 無差 無差 無差 t 值 2.377 2.240 0.903 -0.305 4.279 -1.052 - - 2.482 1.737 Sig. 0.041 0.052 0.390 0.767 0.002 0.320 - - 0.035 0.116 4.最近 鄰 IBk 結果 有差 無差 無差 無差 有差 無差 - - 有差 無差 t 值 2.831 2.108 3.996 2.893 1.191 0.562 2.482 1.737 - - Sig. 0.020 0.064 0.003 0.018 0.264 0.588 0.035 0.116 - - 5.決策 樹 J48 結果 有差 無差 有差 有差 無差 無差 有差 無差 - - 將圖3 及圖 4 中兩種分類法之 AURC 及 ACC 之資料配對分別鍵入 SPSS 之成對樣本 T 檢定之資料內 求出上表之t 值及顯著性(significance)值,若 t 值大於+2.262 或小於-2.262 或顯著性小於 0.05 表示 兩分類法有差異性,結果列於上表並參考Rank 排序列表如下:
表11 配對 t (Paired T Test) 檢定 AURC 結果(二)無明顯差異部份 分類器 1. NB 2. MLP 4. IBk 5. J48 3. SMO 1. NB 2. MLP 4. IBk 5. J48 3. SMO 上表塗色部分為無明顯差異部份,以簡易貝氏法NB 績效最好;而決策樹 J48 及最近鄰 IBK 法彼此 無差異性列為績效最差部分。 AURC 之資料結果列於表 10 並參考 Rank 排序列表如下: 表12 配對 t (Paired T Test)檢定正確率(Accuracy,ACC)結果(二)無明顯差異部份 分類器 1 .NB 2. MLP 4.IBk 3. SMO 5. J48 1.NB 2 MLP 4. IBk 3.SMO 5. J48 上表差異與無差異錯綜其中且有差異部分超出不大。 4.2.3 分類器評估採用 AURC 及正確率(ACC)兩種評估方法差異統計檢定比較 使用圖1 各種病症診斷 AURC 值比較(一)中之 50 個 AURC 值及圖 2 各種病症診斷正確率比較 (一) 之50 個正確率值分別鍵入 SPSS 之配對樣本 T 檢定之資料內求出 AURC 平均值為 0.7508,正確率平均值 為77.22%,t 值=-1.591 及顯著性(significance)值 0.118,查自由度=49 之 t 分配表為 2.009,若 t 值大於 +2.009 或小於-2.009 或顯著性小於 0.05 表示兩分類法有差異性,結果顯示彼此並無差異性。 使用圖3 各種病症診斷 AURC 值比較(二)中之 50 個 AURC 值及圖 4 各種病症診斷正確率比較(二) 之50 個正確率值分別鍵入 SPSS 之成對樣本 T 檢定之資料內求出 AURC 平均值為 0.780,正確率平均值 為 80.00%,t 值=-1.401 及顯著性(significance)值 0.168,結果顯示彼此並無差異性。雖然正確率的平 均值高於AURC 平均值 2%左右,但統計檢定結果彼此間並未顯有明顯差異性存在。
5. 結 論
在分級(Rank)比較中,簡易貝氏法(Naïve Bayers)在正確率(ACC)及 AURC 評估各種醫療病症上(表 5、表 6),於五種分類器中最好,簡易貝氏法建置容易、原理簡單且資料可隨時插入增加,而電腦使 用時間也是最迅速的(表4),且資料不需分割採用全部屬性即可得到極佳之效果;分級次佳的為多層 次類神經網路(Multi-layer Perceptron),但在電腦運算使用時間最長,例如在乳癌資料疾病分類使用 時間高達242 分鐘(表 4),是五種方法中使用時間最長的;支向機(SMO)、最近鄰法 IBK 及決策樹 J48 等是屬於分級較差之分類器,分級結果各有千秋。支向機為二元值使 AURC(Area under ROC)值 結果有錯估不夠精確之疑慮,IBK 則有 k 值需用試誤法求最大值耗費時間,決策樹法亦有分支太多及 新增資料不易等缺失。 在10 種病症比較中,以乳癌資料最為完備,在 AURC 及正確率上,於各種分類器之結果均達 95%以 上,效果最好(圖1~圖 4),可作醫療診斷之參考,而最差的是乳癌存活率,因僅採用三個屬性值效 果不佳,在AURC 及正確率值在 50%~75%之間,顯示該資料不成熟,無法發展成醫療診斷之參考用 途。 在固定參數與篩選參數比較中,顯示若採用固定參數時,差異性較明顯;而採用篩選性參數時差異性
就顯示較為模糊(表 8、表 9、表 11、表 12),此顯示若各分類器不計成本(如計算時間、參數試誤選 擇)採用最佳值時彼此差異性則趨於接近難以辨識,此即表示嚴格而言,無法認為哪種分類法是最好 的分類方法。
在統計檢定比較中,以傅利曼法(Friedman Test)檢定全體差異性結果(4.2.1 節),AURC 在固定及篩 選參數上均有差異性存在F 值為 7.231 及 10.544 大於查表之 F 分佈臨界值 2.634;而在正確率檢定固 定參數時F 值 5.815 大於 2.634,而篩選參數時 F 值 2.159 小於 2.634,顯示若精選較佳參數時分類器 間較無差異性存在。
在統計檢定比較中,以配對t(Paired t-test)配對檢定 AURC 結果(4.2.2 節表 7, 表 10)在固定及篩 選參數上NB 及 MLP 歸類為績效較佳類,而 SMO 及 J48 歸類為績效較差類,與傅利曼檢定法之有差 異性相呼應,而配對t 檢定正確率結果(表 7, 表 10),在正確率檢定固定參數時 NB、SMO、MLP、 J48 屬績效較佳類,而 IBK 屬績效較差類,有差異性存在,而正確率採篩選參數時,差異與無差異錯 綜其中,且差異部份差異不大,難以確定其差異情形與此與傅利曼法檢定結果類似。
在使用正確率及AURC 兩種方法比較中,AURC 平均值為 0.78,而正確率平均值 0.80,高於 AURC 二個百分點,但統計檢定結果彼此間無差異性存在(4.2.3 節)。
綜合以上驗證,雖然沒有絕對何種分類方法較優,但在考量各種因素上,以其原理簡易、易於使用、 速度快、不需分割、資料增加容易且Rank 分級效果較好等因素而論,簡易貝氏分類 Naïve Bayers 不失為一 種醫療系統中較佳的選擇方式。 若能結合醫療病歷及檢驗報告,將可發展成判斷之工具供醫療人員作判斷 疾病之快速輔助工具。 現代醫院均採用電腦儲存病患之記錄越來越多各項檢驗資料,機器學習法可以由其中大量資料中過濾 出有用之資料及屬性供醫檢人員判斷參考,有助於幫助專業醫檢人員每日決策時有更正確的診斷。如乳癌 其採用各種分析方法 AURC 正確率 敏感度特異度等均為 95%穩定度高可發展為醫療系統供醫療人員判斷 使用,其他如乳癌存活率 AURC 及正確率僅 50~75%表示資料來源不成熟不可據以使用醫療判斷尚待發展 才能使用。
參考文獻
[1] Weka. 2004. p. Data Mining Software in Java, http://www.cs.waikato.ac.nz/ml/weka/.
[2] Blake, C.L., Merz, C.J, 1998. UCI Repository of machine learning databases. Irvine, CA: University of California, Department of Information and Computer Science. (www.ics.uci.edu/~mlearn/MLRepository.html)
[3] 衛 生 署 衛 生 統 計 資 訊 網 : 衛 生 統 計 資 訊 網 : 2006, [cited 2006 3/14]; Available from: http://www.doh.gov.tw/statistic/index.htm.
[4] Fayyad U., PiatetskyShapiro G., Smyth P., From data mining to knowledge discovery in databases, AI Magazine. Fal;17(3):37,1996.
[5] Platt, J. C., Fast training of support vector machines using sequential minimal optimization, In B. Sch¨olkopf, C. J. C. Burges, and A. J. Smola (Eds.),Advances in Kernel Methods - Support Vector Learning, Cambridge, MA. MIT Press, 1998.
[6] Quinlan J. R.Simplifying decision trees[J],International Journal of Man Machine Studies,27(3): 221-234, 1987. [7] Street, W.N., Wolberg W.H. and Margasarian, O.L., “Nuclear feature extraction for breast tumor diagnosis,Science and
technology,Vol.1905, pp.861-870,1993.
[8] Fogel, D. B., Wasson, E. C. and Boughton, E. M., Evolving neural networks for detecting breast cancer,Cancer letters 96(1995) 49-53,1995.
[9] D. Soria, Garibaldi, J. M., Biganzoli, E. and Ellis, I. O., A comparison of tree different methods for classification of breast cancer data, Seventh international conference and machine learning & application, 2008.
[10] Wu, Y., Giger, M. L., Domin, K. et.al., Artificial neural networks in mammography: Application to decision making in the diagnosis of breast cancer,1993.
[11] Lo, J.Y.,Baker, J.A. et.al., Predicting breast cancer invasion with artificial neural networks on the basis of mammographic features, 1997.
analysis, 2000.
[13] Delen, D., Walker, G., Kadam, A., Predicting breast cancer survivability: a comparison of three data mining methods, 2005.
[14] Bellaachia, A., Guven, E., Predicting breast cancer survivability using data mining techniques, 2006.
[15] Tang , K. W., Pingle, G. and Srikant, G., Artificial neural networks for the diagnosis of coronary artery disease, 1995. [16] Bhatia ,S. , Prakash, P. and Pillai, G. N., SVM based decision support system for heart disease classification with
integer-coded genetic algorithm to select critical features, 2008.
[17] Mehta, S.S. and Lingayat,N.S.,Support vector machine for cardiac beat detection in single lead electrocardiogram,1996. [18] Kukar , M., Kononenko, I., Groselj, C., Kralj, K., Fettich, J., Analysing and improving the diagnosis of ischaemic heart
disease with machine learning, 1999.
[19] Gao, D., Madden, M., Schukat, M., Chambers, D.and Lyons, G., Arrhythmia identification from ECG signals with a neural network classifier based on a Bayesian framework, 2001.
[20] K.E. Fleischmann, G.M. Hunink, K.M. Kuntz, P.S. Douglas, Exercise echocardiography or exercise SPECT imaging?,1998
[21] Kurgan, L.A., Cios, K.J., Tadeusiewicz, R., Ogiela, M., Goodenday, L., Knowledge discovery approach to automated cardiac SPECT diagnosis, 2001.
[22] Kayaer, K.and Yildirim ,T., Medical diagnosis on PIMA Indian diabetes using general regression neural network, 2003. [23] Venkatesan, P. and Anitha, S.,Application of a radial basis function neural network for diagnosis of diabetes mellitus,
2006.
[24] Balakrishnan, S. and Narayanaswamy, R., Feature selection using FCBF in type 2 diabetes databases, 2009.
[25] Gorunescu, M., Gorunescu, F.,Ene, M. and Elia Ei-Darizi., A heuristic approach in hepatic cancer diagnosis using a probabilistic neural network-based model, 2005.
[26] Lee, C.C. and Chen, S.H., Classification of liver diseases from CT image using support vector machine, 2006.
[27] Mougiakakou, S.G., Valavanis, I.K., Nikita, A., Nikita, K.S., Computer aided diagnosis of CT focal liver lesions based on texture features, feature selection and ensembles of classifiers, 2006.
[28] Fayyad,U. M., and Irani, K. B.,Multi-interval discretization of continuous-valued attributes for classification learning. Morg, 1993.
[29] Kohavi,R. a, A study of cross-validation and bootstrap for accuracy estimation and model selection. Morgan Kaufmann, pp.1137-1143, 1995.
[30] Hanley,J.A. and McNeil,B.J.”The meaning and use of the area under a receiver operating characteristic (ROC) curve.” Radiological society of north Ameraca incorporated, Kaufmann, pp.1022-1027, 1982.
[31] Janez Demsar,”Statistical comparisons of classifiers over multiple data sets”,Journal of machine learning research 7(2006)1-30, 2006.