下載/瀏覽

Download Report

Transcript 下載/瀏覽

案例式推理與類神經網路
在心電圖診斷之應用研究
指導教授 :
陳沛仲
第一章 緒論
第一節 研究動機
第二節 研究流程
研究動機
心臟疾病在國人主要死因排行榜上始
終居高不下,診斷心臟疾病的方法也
因此扮演了重要的角色。心電圖是心
臟收縮時所產生的電流記錄,由心電
圖所量測到的波形,可以用來監視及
推測是否有心臟疾病的發生。近年來
隨著資訊科技的發展,以人工智慧為
基礎的心電圖判讀系統更受到重視。
本論文提出一個以人工智慧的混合型
案例式推理所建構的心電圖自動診斷
系統。
研究流程
第二章 文獻探討
第一節 心電圖簡介
第二節 類神經網路簡介
第三節 案例式推理簡介
心電圖簡介
1903 年荷蘭的生理學家因托芬使用弦線電流計量測心臟收縮時
的電流變化,即由一連串的心肌去極化、再極化的過程所促成,
此一過程所產生的電流佈滿全身,可藉由貼於表皮的電極感應
出來,經過機器的描繪,以波形顯示,即為心電圖。
正常的心臟電位傳導產生的波形可以由五個成份來敘述,如圖
示,包括P 波、P-R 間隔、QRS複合波、ST 段及T 波。P 波由
心房的去極化所產生,P-R 間隔代表心房去極化的開始至心室
去極化開始的時間,QRS 複合波由心室的去極化所產生,ST
段代表心室肌肉再極化過程的絕對不反應期,T 波代表心室肌肉
再極化過程之相對不反應期(前半段)及超常期(後半段)。
類神經網路簡介
類神經網路是一種計算系統,它使用大量簡單的相連人工神經元來模
仿生物神經網路的能力。人工神經元是生物神經元的簡單模擬,它從
外界環境或者其它人工神經元取得資訊,並加以非常簡單的運算,並
輸出其結果到外界環境或其它人工神經元。人工類神經元的設計基本
上是希望能模仿生物神經元的特性,神經元是網路運作的基本單位,
如圖所示。
根據類神經網路的學習型態,基本上可分為監督式學習與非監督式學
習。監督式學習是依據過去輸入及輸出的範例學習經驗來建構網路模
型,從過去不同的學習經驗找出最合理的規則,有特定的輸出變數,
並藉由其他輸入變數來推論輸出變數,以大量的範例學習作為預測、
分類及決策之用。而非監督式網路訓練之前,並沒有明確定義輸出為
何,產生的結果並無法預知,網路會將有共通點的資料作分類。無論
是哪一種學習型態的應用,都必須依據問題領域的不同做選擇。
類神經網路在心電圖診斷上的應用
利用類神經網路進行心電圖波形辨識與分類
時,是先提供一組已知病症的心電圖訊號特
徵的訓練組(Training)給類神經網路學習,
經由不斷反覆學習產生辨識能力,然後再提
供另一組測試組或稱為回憶組(Recalling),
也就是未經學習之病症訊號讓類神經網路作
辨識。
以類神經網路來做心電圖的病症辨識可達到
極高的辨識率。但使用類神經網路做心電圖
的病症診斷仍有許多不足的地方。第一、遇
到相似但不完全相同的病症時,它無法像人
類專家一樣從過去的診斷經驗進行改編。第
二、類神經網路模型無法解釋產生的結果,
也沒有辦法保證訓練後就能得到最佳解。
為了解決上述的限制,而有案例式推理的引
用。
案例式推理簡介
利用過去相似問題的解答來解決目前所面臨到的新問
題是案例推理的主要精神。此模式將一個人的記憶模
擬成一張張的草稿,在認知新事物時便根據類似草稿
的描述來解釋,而不需將知識重新編譯,解決了法則
知識表現法的若干缺點。不過由於此模式將各個草稿
分離開來,使得相互間仍是獨立而無關聯的,所以此
模式只能作知識的儲存,而無法從過去的記憶中找出
協助人們解決問題的方法。如果回憶是人類在瞭解事
物的基本動作,則認知的模式就必須包含經驗的搜尋
和利用。因此,Schank 和他的學生在1982 年提出了
動態記憶(DynamicMemory)模式,主要是依據索
引(Index)將人類的記憶、認知、經驗及學習連結
在一起。在此模式下,人類的經驗和知識被組合成一
種稱為MOP(Memory Organization Package)的形
式,記憶中類似的經驗被組合在一起,使得整個記憶
結合成一個複雜的層狀結構。當記憶與知識的組織方
式被確定以後,案例式推理的模式也立刻被發展出來。
案例式推理的發展至今已有二十多年的歷史,相關
的研究依其研究的動機可分成兩個學派,即為認知
科學與人工智慧。
從認知科學學派的中可知,研究者主要的研究焦點
在於知識的表現方式,並只在特定的範圍內進行知
識的再利用,且著重在案例式推理的本質及領域。
此派學者認為是案例式推理是在探討人類的認知模
式,案例指的即是事件,許多整合了其他推理方法
的案例式系統,但並不是模擬人類的推理模式皆不
被接受。
在人工智慧學派的中,對於案例式推理的定義較為
有彈性,所發展的許多系統皆是植基於人工智慧-
案例式推理的觀點而來。案例式推理被轉化成建立
專家系統的方法,一些像是圖表、規則、模型與樣
本都可被當作是案例來使用,主要的特色在於藉由
改編從過去的經驗所得到的大量資訊來解決新問題。
人工智慧學派的觀點主要就是將許多不同的方法整
合在一起,以實用的角度來建立系統以因應不同的
領域和不同的問題。
『案例式推理系統的運作流程圖』
第三章 研究方法
第一節 心電圖訊號的前置處理
第二節 心電圖訊號特徵擷取
第三節 案例式推理系統流程
第四節 案例索引的建立
第五節 相似案例的取出
第六節 案例改編
心電圖訊號的前置處理
一般來說,為了精確地偵測心電圖的重要特徵點,P、
Q、R、S、T等,我們通常會先對心電圖訊號做一些
適當的前置處理,這樣可以去除或減輕雜訊所造成的
影響。本研究採用一種在訊號處理領域常用的濾波器
架構來做心電圖的前置處理,接著以峰值偵測邏輯來
完成心電圖的特徵點偵測,如圖。
濾波器(Filtering)部份,我們提出的方法是利用一種稱為雙向濾波器
(Bilateral Filter),是為了在影像處理中能有效地將雜訊平滑化且又
可以把重要的邊界保留著,它是非線性濾波器的一種原理,主要是同
時在空間域(Spatial Domain)與強度域(IntensityDomain)做高斯
平滑化(Gaussion Smoothing)。其數學定義如下:
→其中 X (k)是原來的訊號,而 Xˆ (k) 是處理過後的新平滑訊號,w是濾波
器W (k,n )的寬度。 Ws 是表示在空間域的高斯平滑函數,而 Wr 則是
表示在強度域的高斯平滑函數。
心電圖訊號經過上述雙向濾波器的處理之後,由於已將雜訊去除,故
可以更準確地在時間軸上以移動平均法與斜率法求得心電圖的特徵點。
特徵點偵測法→利用一種最基本而又有效的趨勢判別指標『移動
平均線』,將其應用在偵測心電圖訊號中振幅最大的R 波。步驟
說明如下:
(一)首先我們利用原訊號點的前10 個訊號點的平均值計算出移動
平均線。
(二)接著我們用原來的訊號線減去移動平均線得到新的訊號線。
(三)當新的訊號點為零,也就是原訊號線與移動平均線相交的地
方,此即為訊號的高峰或谷底所在之處。
(四)此時所找到的訊號點可能不完全是我們所需要的,故我們以
訂定臨界值的方式來找到R 波的位置。
找到R 波之後,再依據其相關位置找P 波、Q 波、S 波與T波,
原則上皆以斜率轉折點為波形的波峰。在本研究中,我們使用的
斜率法之差分方程式如下:
心電圖訊號特徵擷取
描述特徵指的即是心電圖時域上的8個特徵值。
案例式推理系統流程
【一】以類神經網路進行案例分類,將本研究的心電
圖資料以監督式學習中的倒傳遞網路進行案例
分類。
【二】在案例相似度的計算上,我們的方法是使用類
神經網路訓練時所得的權重來決定每個特徵的
重要性。
【三】利用有權重的相似分數來計算輸入案例與存放
於案例庫中現有案例的相似性,接著把最相似
的案例取回。
【四】關於案例改編的部份,我們利用存在案例庫中
相關案例的部份資訊協助使用者進行案例改
編,將取出的相似案例當作新問題的解答參
考。
案例式推理系統流程圖
案例索引的建立
案例式推理系統中的索引是案例庫中儲存案例的指標
或元素,而這些索引通常是案例的特徵、屬性或其他
能夠表示一個案例的組成元素,藉由索引的建立,我
們可以輕易地從案例庫中搜尋案例。
※倒傳遞網路
倒傳遞演算法對多層的類神經網路訓練提供了一個相
當有系統的方法,其主要原理是藉由調整神經元之間
連結的權重來不斷地讓輸出誤差越來越小,而收斂至
某一個局部的最小值。網路的架構基本上是由一組輸
入層、一組或數組隱藏層以及一組輸出層組合而成。
三層式倒傳遞類神經網路架構
在倒傳遞網路中,網路第n 層的第j 單元的輸出值為
第1 − n 層單元輸出值的非線性函數
倒傳遞網路最常用的非線性轉換函數為雙彎曲函數
為
因為監督式學習旨在降低網路輸出單元之目標輸
出值與推論輸出值之間的差距,所以一般以下列
誤差函數代表學習的品質。
Tj 為輸出層目標輸出值,而Yj 為輸出層推論輸出值。
如果網路為三層的結構,其中包含輸入層、輸出層及一層隱藏層,
倒傳遞網路與案例分類
在本研究中,由於心電圖資料的輸入變數(特徵)與輸出
變數(病症)能夠明確定義,故可以監督式學習中的倒
傳遞網路進行案例分類。心電圖特徵值的個數即是輸入
層的神經元個數,而輸出層的神經元個數依據所有在案
例庫中已知病症的類別總數而定,一般來說,中間隱藏
層的神經元個數並沒有一定的規則,在此我們是用輸入
層與輸出層神經元個數的平均值來當隱藏層的神經元個
數。以類神經網路進行案例分類,是先提供一組已知病
症的心電圖訊號特徵的案例,也就是存在案例庫中的案
例給類神經網路學習,然後再將未經過訓練的案例輸入
至已訓練完成的類神經網路模式中,判斷這個案例應歸
屬於哪一類。本研究將會以分類的正確率來評估索引系
統的效能,除了建立案例庫所用的案例外,另外提供一
組測試用的案例,也就是未經學習的心電圖訊號特徵讓
類神經網路作分類,若測試案例的病症類別與已知之病
症類別相同,則表示分類正確,反之則否。正確率定義
如下:
相似案例的取出
取出相似案例是案例式推理系
統的重要工作之一,當我們要
從案例庫中取出相似案例時,
需要擬定一套搜尋方式並進行
相似度的計算,以協助選擇最
適用於目前問題的案例。
一、相似度量測方法
本研究所使用的相似度計算
方法是由Kolodner 在著作
Case-Based Reasoning 一書
中所闡述的演算法。書中的例
子是一位新的籃球選手加入球
團時要如何計算薪資,以相似
度演算法取出與新進球員特性
相似的球隊球員,再根據取出
球員的薪資來擬定新進球員的
薪資。在計算輸入案例與比對
案例的相似分數時,必須先計
算各個特徵的相似分數,再來
乘上權重來反映每個特徵的重
要性,最後再計算總相似分數,
其分數介於0%至100%之間,
分數愈高代表案例間的相似程
度愈高,計算公式如右:
二、結合類神經網路於相似度的計算
在相似函數的計算上,我們採用的是有權重的相似分數量測方法來衡量
兩個案例間的相似度,主要原因是可以針對各個不同特徵的重要性高低
給予不同的權重值來達到更好的結果。我們將會利用前述進行案例分類
時的類神經網路架構來定義每個特徵的權重值,這想法是源自於在一些
特殊的類神經網路模式,可以利用網路縮編(Network-shrinking)的演
算法把較不重要的網路節點和其權重去除掉。網路縮編的技巧可被用來
當作決定特徵權重及特徵選取的方法,因此對於小網路架構,但又能同
時維持良好的結果是相當實用的。而在本研究中,我們試著利用類神經
網路訓練時,所得到的權重來決定每個特徵值的重要性。
以前述的倒傳遞演算法訓練完成後,我們將利用以下的公式得到所有神
經元之間的權重值。先計算中間隱藏層的每個神經元對所有輸出神經元
的權重值如下:
三、數值標準化與相似分數的計算
在進行相似分數的計算時,必須先透過標準化的方法,使得每個
特徵之間的距離,不會因為不同特徵本身的數值大小而產生過大
的數值變化,以便對於不同尺度資料間的相似程度進行比較。第i
案例與第j 案例的第p 個特徵,將特徵標準化後的距離D ijp計算公
式如下
案例改編方法
案例改編就是將取出案例的解答透過一些轉換的程
序,使其適用於現在的新問題。改編方法源自
Barletta 和Hennessy 在熱壓爐(Autoclave)設計
的領域中,當相似案例與輸入案例有不相符的部份
時,再從案例庫中找出另一個相似案例,取用其片
段資訊來取代原先取出相似案例之不相符的部份,
進而求得最佳解。
階層樹(Hierarchical Tree)的基本概念是將物件
分割成幾個具有相關特性的小單位,每個小單位又
可視需要分割成更小單位,就像樹枝一樣由根部一
直往葉部發展,一層一層有如階梯狀。在這種組織
技巧下可將複雜問題予以結構分類,很適合用來表
達抽象觀念、處理程序或事件的邏輯結構。首先我
們以階層樹的結構來表示症狀特徵值之間的關係,
以便利用符號欄位(Symbol Field)來比對症狀特
徵的相似度。
第四章 研究結果分析與討論
第一節 心電圖樣本
第二節 前處理系統結果分
第三節 相關研究限制
第四節 系統實作與功能說明
心電圖樣本
本研究所使用的心電圖樣本,資料來源為美國麻省
理工學院(MIT)醫學中心與貝色以色列醫院
(Beth Israel Hospital)研究人員共同研究開發的
不整脈心電圖資料庫(MIT/BIH arrhythmia
database)[28]。我們從資料庫中選取正常
(Normal;NOR)、左束枝傳導阻滯(Left
Bundle BranchBlock;LBBB)、心室期外收縮
(Premature Ventricular Contraction;PVC)、右
束枝傳導阻滯(Right Bundle Branch Block;
RBBB)、房室交界處期外收縮(Premature
Junctional Contraction;PJC)、心房期外收縮
(PrematureAtrial Contraction;PAC)等這六種不
同型態的心電圖進行研究。因為相同導程的心電圖
波形才能區分各波形的差異,所以擷取心電圖波形
特徵值必須導程一致。一般以導程Ⅱ的各波形較明
顯且MIT/BIH資料庫中導程Ⅱ的心電圖較多,故我
們以導程Ⅱ的心電圖進行實驗。所選取的心電圖樣
本如表4-1
表4-1 本研究所選取的心電圖樣本說明
前處理系統結果分析
圖4-1 顯示心電圖訊號利用雙向濾波器將雜訊去除的
結果。其中藍色線為原始訊號,綠色線為經濾波器
處理過後的訊號。
從圖中可以很明顯的看出,我們所提出的雙向濾波器
能有效去除心電圖的雜訊,同時又能保留住心電圖中
重要的波形特徵。將心電圖的雜訊去除後,我們接著
利用移動平均法及微分方程式偵測各個特徵點,P、Q、
R、S、T 的位置,特徵點的偵測結果如圖4-2 所示。
由圖中可看出我們所提出的方法能有效且正確地偵測
心電圖的特徵點。
相關研究限制
本研究在開發系統中,有關前處理系統、案例分類、
相似案例取出與案例改編的研究限制將在本節討論。
一、前處理系統部份
透過本研究的前處理系統在處理某些特殊的心電圖
病症時,並無法有效地偵測其波形特徵,例如心室
顫動(Ventricular Fibrillation)、心室撲動
(Ventricular Flutter)等,由於這些心電圖病症並
無法明顯區別P波、QRS 波與T 波的位置,因此也
無法將波形特徵值計算出來。故本研究所選擇的心
電圖病症是考量各波的波形較明顯,在前處理系統
處理後可得到精確的特徵值者,這同時也是本研究
的限制所在,開發能更廣泛應用的前處理系統,可
讓後續案例式推理系統有更大的發展空間。
二、案例分類部份
系統在進行案例分類時,有少數情況是輸入案例分
類錯誤但相似分數可能仍然偏高,原因在於輸入案
例與比對的相似案例雖分屬不同的心電圖病症,但
波形卻極為相似所導致,在資料來源有限下,選擇
進行實驗的案例時需特別考量案例的代表性,以避
免產生誤導使用者的情形。
三、相似案例取出部份
由於案例庫中案例的多寡、案例的代表性與案例分
類的正確率等諸多因素,對於取出相似案例時皆有
很大的影響。而本研究在建立案例庫 與進行結果分
析時所採用的樣本案例,受到前處理系統的限制,
以及資料庫中某些病症樣本較少(例如房室交界處
期外收縮)的影響。因此在心電圖病症的種類與樣
本案例的代表性可能稍嫌不足,導致取出相似案例
後也不一定能提供一個很好的結果,所以仍需在案
例庫中持續增加有代表性意義的案例,使系統能涵
蓋各種可能情況並得到較佳的案例取出結果。
四、案例改編部份
本研究在進行案例改編時是利用8 個心電圖波形特
徵,並依據「心電圖100 例」以及相關書籍中病患
所可能會有的症狀、臨床判讀結果與處理方法等案
例解析的內容,來建立所需的病症判讀資訊。故案
例症狀特徵的資料來源是本研究的限制,在資料量
上顯得較少,症狀與心電圖波形之間的對應可能未
完全一致。由於所用的並非由測量心電圖的人身上
所得到的實際資料,且與實際診斷時必須考慮病人
相關的身體檢查結果、病史分析等相關資訊仍有一
段差距,故即使是在取出相似案例後,再度以有顯
著差異的描述特徵加上相似案例症狀特徵搜尋的結
果,也難免會有找不到合適案例的情況產生,此時
唯有收集病患的實際資料才能有更好的結果產生。
真正在進行心電圖臨床診斷時,病人症狀是變化多
端的,絕非單純以階層樹的結構就能表示病人的症
狀分類關係,故以符號欄位來計算症狀特徵的相似
度時,在症狀分類上可能不週延,本研究的案例改
編方法
系統時作與功能說明
以下幾小節將舉實例陳述系統實作,並分別針對案
例式推理的各項功能作介紹與說明。
一、建立案例庫
建立案例庫為構建案例式推理系統的首要工作,將
案例庫建立完成後,才能進行後續案例分類、案例
相似度的計算與案例改編等任務。在本研究中,案
例庫的案例從MIT/BIH 資料庫中依據前述的資料檔
編號,經過前處理系統處理過後,由人工篩選共獲
得180 個。人工篩選主要是為了剔除受到嚴重雜訊
干擾與特徵點偵測不完全(例如找不到T 波)等的
心電圖訊號,以增加索引(分類)系統的準確度。
在篩選完後,按下「Create Case Base」,並選擇
欲建立案例庫的心電圖訊號,案例庫即建構完成。
在案例庫中的每個案例之內容均包括案例編號、原
始心電圖資料、心電圖病症類別、波形描述特徵、
症狀、臨床判讀與如何處理等特徵。其中心電圖病
症類別的定義是根據MIT/BIH 資料庫中的波形訊號
註解,波形描述特徵值為計算而得之數值資料,其
餘為以文字敘述的資料。
二、輸入案例
在輸入案例時,我們要先把已處理過的心電圖訊號
轉換成系統可讀取的檔案格式,按下「Input Case」
按鈕,選擇所欲分析的心電圖訊號並取一個檔名。
輸入案例的描述特徵值會自動由系統算出並儲存在
此案例檔內,同時並顯示在案例特徵(Case
Features)視窗中,包括前述的PH、QH、SH、
TH、PR、ST、QS 與STS 等。
三、讀取案例
使用者可利用「Read Case」查看所有案例的相
關資訊,並可針對案 例的症狀、臨床判讀與如何處
理等特徵的內容加以編輯及修改。
四、將編修後的特徵內容儲存在案例檔內
「Save Case」按鈕的功能是將先前所編修的內容
儲存在案例檔內。
五、取出相似案例
按下「Retrieve」按鈕,選擇前述的輸入案例,
系統會先將此案例的波形描述特徵值輸入倒傳遞
類神經網路判讀,而告知使用者此輸入案例應歸
屬於哪一類。其中第0 類的病症為正常,第1 類
為左束枝傳導阻滯,第2 類為心室期外收縮,第
3 類為右束枝傳導阻滯,第4 類為房室交界處期
外收縮,第5 類為心房期外收縮。系統主畫面所
顯示的兩個心電圖案例中,左邊為輸入案例,而
右邊是系統取出的相似心電圖案例。畫面右方第
一個子視窗,分類資訊/案例特(Classification
Information /Case Features),顯示輸入案例應
歸屬於哪一類,相似案例的編號,以及兩個案例
的波形描述特徵值。畫面右方的第二個子視窗,
案例特徵(Case Features),所顯示的是案例
庫中相似案例的心電圖病症名稱、症狀、臨床判
讀與如何處理等資訊。畫面右方的第三個子視窗,
輸入案例/案例編輯(Input Case/Case Editing),
為輸入案例之心電圖病症名稱,如圖4-3 所示。
六、更新取出之相似案例
由於系統可將最相似的5 個案例取出,並
按照相似分數排序,故使用者可依照個別
需求選擇不同相似分數的案例,並在挑選
完後按下「Update Retrieving Case」,
即可將畫面更新成所選擇的相似案例,如
圖4-4 所示。
七、改編案例
在進行相似案例的取出後,若取出的相似案例解答並
不適用於輸入的案例,或使用者不滿意所搜尋到的相
似案例時,可立即按下工具列上的「Adaptation」,
系統主畫面會顯示四個心電圖案例,由左至右依次為
輸入案例、最相似案例(取出案例階段所取出的)、
同類最相似案例與案例庫中最相似案例(改編案例階
段所取出的)。畫面右方的第一個子視窗,分類資訊/
案例特徵(Classification Information/Case
Features),是顯示輸入案例歸屬於哪一類,以及輸
入案例與上述四個案例的波形描述特徵值,由左至右
依序為輸入案例、最相似案例、同類最相似案例與案
例庫中最相似案例。畫面右方的第二個子視窗,顯著
差異的特徵,在此例中,輸入案例與取出案例階段所
取出的最相似案例,顯著差異的特徵為QS 與STS。
而畫面右方的第三個子視窗,案例特徵(Case
Features),所顯示的是除了輸入案例以外的相似案
例之心電圖病症名稱、症狀、臨床判讀與如何處理等
資訊,由上至下依序為最相似案例、同類最相似案例
與案例庫中最相似案例。畫面右方的第四個子視窗,
輸入案例/案例編輯(Input Case/Case Editing),為
輸入案例之心電圖病症名稱。如圖4-5所示。
八、將改編或填入的解答儲存在案例檔內
使用者可參考上述系統提供的資訊,包括取出案例階段的最相
似案例、改編案例階段的同類最相似案例與案例庫中最相似案
例,參酌個人看診經驗填入案例的解答於輸入案例/案例編輯
(Input Case/CaseEditing)視窗內,包含症狀、臨床判讀與
如何處理等,輸入案例在將解答輸入後,如使用者滿意這樣的
結果,便可按下「Save Adaptation」按鈕,將改編或填入的
解答儲存在案例檔內,完成案例改編的任務。系統畫面如圖
第五章
結論與建議
傳統上心電圖的判讀工作是由醫生或專業的
醫護人員來進行,進行診斷時靠的是經驗與
技術,故診斷結果常受到人為因素影響而產
生差異。近年來由於電腦科技發達,以人工
智慧為基礎的心電圖診斷系統開始受到了重
視。本研究從幫助醫療專業人員的角度發展
了心電圖診斷系統,經過系統實證與專家評
估後,更進一步說明結合案例式推理與類神
經網路的架構是十分適合應用於心電圖診斷
上,是開發系統的好方法。應用本系統在心
電圖判讀的領域不僅可改進醫療品質,並可
協助醫生對病患進行有效的臨床診斷。