張蕾 何萍 榮靜
摘 要: 在基于機器學習的醫(yī)療診斷系統(tǒng)中,分類算法的設計至關(guān)重要。為了提高醫(yī)療診斷系統(tǒng)的分類準確率,提出了先降維后分類的方法。采用有監(jiān)督的LLE算法對高維醫(yī)學數(shù)據(jù)進行特征提取。通過SVM算法對降維后的醫(yī)學數(shù)據(jù)進行分類。以UCI數(shù)據(jù)庫為數(shù)據(jù)來源,在MATLAB平臺上進行各種分類算法的比較。實驗結(jié)果表明,新算法的分類識別率和時間復雜度均優(yōu)于傳統(tǒng)的分類算法,非常適用于醫(yī)學診斷領(lǐng)域。
關(guān)鍵詞: 醫(yī)學診斷; 有監(jiān)督的LLE算法; SVM算法
中圖分類號:TP301 文獻標志碼:A 文章編號:1006-8228(2018)11-60-04
Abstract: In the machine learning based medical diagnosis system, the design of classifier is very important. In order to improve the classification accuracy of the medical diagnosis system, a method is proposed that reduces the dimension firstly and then do the classification. Supervised locally linear embedding method is used to feature extraction of high dimensional medical data. Support vector machine is used to classify the data after dimensionality reduction. Using UCI database as data source, various classification algorithms are compared on MATLAB platform. The experimental results show that the new method has higher classification recognition rate and shorter running time than the traditional classification algorithms.
Key words: medical diagnosis; supervised locally linear embedding; support vector machine
0 引言
隨著科學技術(shù)的發(fā)展,醫(yī)學診斷領(lǐng)域出現(xiàn)大量的高維數(shù)據(jù)。自動化醫(yī)學診斷技術(shù)被廣泛地應用。自動化醫(yī)學診斷是機器學習的重要應用領(lǐng)域之一,通過收集樣本的病理特征,運用機器學習算法來分析特征與疾病的映射關(guān)系,據(jù)此預測具有某些病理特征的病人是否患有某種疾病的可能[1]。在基于機器學習的醫(yī)療診斷系統(tǒng)中,分類算法的設計至關(guān)重要[2]。傳統(tǒng)的分類算法如決策樹算法、支持向量機算法都已經(jīng)廣泛運用到醫(yī)學診斷系統(tǒng)中[3-4]。然而,醫(yī)學診斷所涉及的數(shù)據(jù)存在大量的噪聲樣本和冗余的特征信息,僅使用分類技術(shù),分類的識別率較低,花費的時間也較長。
本文提出一種先降維后分類的方法。采用有監(jiān)督的LLE算法,對高維醫(yī)學數(shù)據(jù)進行特征提取,通過支持向量機算法對降維后的數(shù)據(jù)進行分類。與傳統(tǒng)分類算法相比,不僅提高了分類識別率,也縮短了運行時間。
1 降維技術(shù)
醫(yī)學診斷領(lǐng)域所涉及的醫(yī)學數(shù)據(jù)集一般都是有標簽的高維數(shù)據(jù)集。由于訓練樣本的有限性和數(shù)據(jù)的高維性,直接對醫(yī)學數(shù)據(jù)集進行分類往往效果不佳[5]。因此,對醫(yī)學數(shù)據(jù)集進行降維是非常有必要的。
1.1 降維的定義
所謂降維就是將高維數(shù)據(jù)通過線性或非線性方式映射到低維空間的過程[6]。數(shù)據(jù)降維的數(shù)學描述為:假設高維數(shù)據(jù)集X={x1,x2,…,xN}為D維空間的一個數(shù)據(jù)集,通過映射表示為Y={y1,y2,…,yn} ,y為x的低維表示。
1.2 LLE算法介紹
LLE算法是Roweis和Saul[7]在2000年首次提出的非線性降維方法。LLE算法的基本思想是通過保持數(shù)據(jù)的局部線性結(jié)構(gòu)在高低維空間的一致性來實現(xiàn)數(shù)據(jù)的投影映射[8-11]。LLE算法中數(shù)據(jù)的局部線性結(jié)構(gòu)是用局部重建權(quán)值矩陣來衡量的[12]。LLE算法的具體步驟如下。
⑴ 計算每個點的近鄰域。用Dijkstra距離作為數(shù)據(jù)點之間的度量,尋找每個數(shù)據(jù)點xi的k個近鄰點,k是根據(jù)經(jīng)驗的預先給定值。
⑵ 通過每個樣本點的近鄰點計算樣本點的局部重建權(quán)值矩陣w,使重構(gòu)誤差函數(shù)達到最小值,即:
1.3 有監(jiān)督的LLE算法
一般情況下,收集到的醫(yī)學數(shù)據(jù)集都是帶有類標簽的高維數(shù)據(jù)集。為了實現(xiàn)醫(yī)學數(shù)據(jù)集的特征提取,需要在LLE算法的基礎上融入監(jiān)督信息[13]。
LLE算法在整個降維過程中局部重建權(quán)值矩陣都保持不變。為了更好地區(qū)分數(shù)據(jù)的類別,有監(jiān)督的LLE算法對局部重建權(quán)值矩陣做了一定的修改。由于LLE算法中局部重建權(quán)值矩陣與數(shù)據(jù)點之間的距離成反比關(guān)系,即擴大局部重建權(quán)值矩陣,則相應數(shù)據(jù)點之間的距離靠近。因此有監(jiān)督的LLE算法的監(jiān)督信息融入策略為:盡量縮小類間數(shù)據(jù)點的局部重建權(quán)值矩陣,擴大類內(nèi)數(shù)據(jù)點的局部重建權(quán)值矩陣。具體思想可以用公式⑺表示:
該線性權(quán)重的調(diào)整方式依賴于參數(shù)δ,參數(shù)δ的選取方式為網(wǎng)格搜索。
2 支持向量機(SVM)算法
支持向量機算法主要有線性和非線性兩種方式,本文采用的是非線性支持向量機算法。非線性支持向量機算法的基本思想是把輸入向量映射到高維空間,在高維空間中構(gòu)造線性最優(yōu)分類面對數(shù)據(jù)進行分類[14-16]。將低維空間非線性問題轉(zhuǎn)化為高維空間線性可分問題。