張蕾 何萍 榮靜
摘 要: 在基于機(jī)器學(xué)習(xí)的醫(yī)療診斷系統(tǒng)中,分類算法的設(shè)計(jì)至關(guān)重要。為了提高醫(yī)療診斷系統(tǒng)的分類準(zhǔn)確率,提出了先降維后分類的方法。采用有監(jiān)督的LLE算法對(duì)高維醫(yī)學(xué)數(shù)據(jù)進(jìn)行特征提取。通過SVM算法對(duì)降維后的醫(yī)學(xué)數(shù)據(jù)進(jìn)行分類。以UCI數(shù)據(jù)庫(kù)為數(shù)據(jù)來源,在MATLAB平臺(tái)上進(jìn)行各種分類算法的比較。實(shí)驗(yàn)結(jié)果表明,新算法的分類識(shí)別率和時(shí)間復(fù)雜度均優(yōu)于傳統(tǒng)的分類算法,非常適用于醫(yī)學(xué)診斷領(lǐng)域。
關(guān)鍵詞: 醫(yī)學(xué)診斷; 有監(jiān)督的LLE算法; SVM算法
中圖分類號(hào):TP301 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):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 引言
隨著科學(xué)技術(shù)的發(fā)展,醫(yī)學(xué)診斷領(lǐng)域出現(xiàn)大量的高維數(shù)據(jù)。自動(dòng)化醫(yī)學(xué)診斷技術(shù)被廣泛地應(yīng)用。自動(dòng)化醫(yī)學(xué)診斷是機(jī)器學(xué)習(xí)的重要應(yīng)用領(lǐng)域之一,通過收集樣本的病理特征,運(yùn)用機(jī)器學(xué)習(xí)算法來分析特征與疾病的映射關(guān)系,據(jù)此預(yù)測(cè)具有某些病理特征的病人是否患有某種疾病的可能[1]。在基于機(jī)器學(xué)習(xí)的醫(yī)療診斷系統(tǒng)中,分類算法的設(shè)計(jì)至關(guān)重要[2]。傳統(tǒng)的分類算法如決策樹算法、支持向量機(jī)算法都已經(jīng)廣泛運(yùn)用到醫(yī)學(xué)診斷系統(tǒng)中[3-4]。然而,醫(yī)學(xué)診斷所涉及的數(shù)據(jù)存在大量的噪聲樣本和冗余的特征信息,僅使用分類技術(shù),分類的識(shí)別率較低,花費(fèi)的時(shí)間也較長(zhǎng)。
本文提出一種先降維后分類的方法。采用有監(jiān)督的LLE算法,對(duì)高維醫(yī)學(xué)數(shù)據(jù)進(jìn)行特征提取,通過支持向量機(jī)算法對(duì)降維后的數(shù)據(jù)進(jìn)行分類。與傳統(tǒng)分類算法相比,不僅提高了分類識(shí)別率,也縮短了運(yùn)行時(shí)間。
1 降維技術(shù)
醫(yī)學(xué)診斷領(lǐng)域所涉及的醫(yī)學(xué)數(shù)據(jù)集一般都是有標(biāo)簽的高維數(shù)據(jù)集。由于訓(xùn)練樣本的有限性和數(shù)據(jù)的高維性,直接對(duì)醫(yī)學(xué)數(shù)據(jù)集進(jìn)行分類往往效果不佳[5]。因此,對(duì)醫(yī)學(xué)數(shù)據(jù)集進(jìn)行降維是非常有必要的。
1.1 降維的定義
所謂降維就是將高維數(shù)據(jù)通過線性或非線性方式映射到低維空間的過程[6]。數(shù)據(jù)降維的數(shù)學(xué)描述為:假設(shè)高維數(shù)據(jù)集X={x1,x2,…,xN}為D維空間的一個(gè)數(shù)據(jù)集,通過映射表示為Y={y1,y2,…,yn} ,y為x的低維表示。
1.2 LLE算法介紹
LLE算法是Roweis和Saul[7]在2000年首次提出的非線性降維方法。LLE算法的基本思想是通過保持?jǐn)?shù)據(jù)的局部線性結(jié)構(gòu)在高低維空間的一致性來實(shí)現(xiàn)數(shù)據(jù)的投影映射[8-11]。LLE算法中數(shù)據(jù)的局部線性結(jié)構(gòu)是用局部重建權(quán)值矩陣來衡量的[12]。LLE算法的具體步驟如下。
⑴ 計(jì)算每個(gè)點(diǎn)的近鄰域。用Dijkstra距離作為數(shù)據(jù)點(diǎn)之間的度量,尋找每個(gè)數(shù)據(jù)點(diǎn)xi的k個(gè)近鄰點(diǎn),k是根據(jù)經(jīng)驗(yàn)的預(yù)先給定值。
⑵ 通過每個(gè)樣本點(diǎn)的近鄰點(diǎn)計(jì)算樣本點(diǎn)的局部重建權(quán)值矩陣w,使重構(gòu)誤差函數(shù)達(dá)到最小值,即:
1.3 有監(jiān)督的LLE算法
一般情況下,收集到的醫(yī)學(xué)數(shù)據(jù)集都是帶有類標(biāo)簽的高維數(shù)據(jù)集。為了實(shí)現(xiàn)醫(yī)學(xué)數(shù)據(jù)集的特征提取,需要在LLE算法的基礎(chǔ)上融入監(jiān)督信息[13]。
LLE算法在整個(gè)降維過程中局部重建權(quán)值矩陣都保持不變。為了更好地區(qū)分?jǐn)?shù)據(jù)的類別,有監(jiān)督的LLE算法對(duì)局部重建權(quán)值矩陣做了一定的修改。由于LLE算法中局部重建權(quán)值矩陣與數(shù)據(jù)點(diǎn)之間的距離成反比關(guān)系,即擴(kuò)大局部重建權(quán)值矩陣,則相應(yīng)數(shù)據(jù)點(diǎn)之間的距離靠近。因此有監(jiān)督的LLE算法的監(jiān)督信息融入策略為:盡量縮小類間數(shù)據(jù)點(diǎn)的局部重建權(quán)值矩陣,擴(kuò)大類內(nèi)數(shù)據(jù)點(diǎn)的局部重建權(quán)值矩陣。具體思想可以用公式⑺表示:
該線性權(quán)重的調(diào)整方式依賴于參數(shù)δ,參數(shù)δ的選取方式為網(wǎng)格搜索。
2 支持向量機(jī)(SVM)算法
支持向量機(jī)算法主要有線性和非線性兩種方式,本文采用的是非線性支持向量機(jī)算法。非線性支持向量機(jī)算法的基本思想是把輸入向量映射到高維空間,在高維空間中構(gòu)造線性最優(yōu)分類面對(duì)數(shù)據(jù)進(jìn)行分類[14-16]。將低維空間非線性問題轉(zhuǎn)化為高維空間線性可分問題。