梁嘉睿
摘要:在機(jī)器學(xué)習(xí)和人工智能領(lǐng)域,有兩類常見的問題,一類是回歸問題;另一類是分類問題,分類問題是機(jī)器學(xué)習(xí)中一類重要的問題。對于機(jī)器學(xué)習(xí)中的分類問題而言,有很多常見的分類模型,比如kNN模型,支持向量機(jī)模型,Logistic模型。每一個(gè)模型在一個(gè)具體的問題中都有不同的性能,因此,我們的研究通過具體的實(shí)例“威斯康辛州女性乳腺癌腫瘤預(yù)測”,預(yù)測女性所患有的腫瘤是良性腫瘤還是惡性腫瘤。通過對該二分類問題的研究,并分析比較了不同的機(jī)器學(xué)習(xí)分類模型在該問題的效果。
關(guān)鍵詞:腫瘤預(yù)測;KNN;支持向量機(jī);Logistic回歸
中圖分類號(hào):F24文獻(xiàn)標(biāo)識(shí)碼:Adoi:10.19311/j.cnki.1672-3198.2019.10.037
0引言
乳腺癌是危害全世界婦女健康的癌癥之一,嚴(yán)重影響到婦女的生命。目前全世界每年的乳腺癌發(fā)病例超過了120萬,發(fā)病率每年都在增長。雖然現(xiàn)在科學(xué)技術(shù)非常發(fā)達(dá),有很多病都可以治愈,但是乳腺癌的病因還沒有被研究的特別清楚,發(fā)病機(jī)制又相當(dāng)復(fù)雜。在還未研究出乳腺癌病因的情況下,如果能夠及時(shí)根據(jù)女性的一些顯著性特征,預(yù)測女性是否有可能患有乳腺癌,以便于及時(shí)采取治療措施,就十分的有必要。
在這個(gè)研究課題中,我們將根據(jù)美國威斯康辛州女性乳腺癌腫瘤數(shù)據(jù)集,來建立相關(guān)的機(jī)器學(xué)習(xí)分類模型,能夠判斷女性腫瘤是良性的還是惡性的。
1訓(xùn)練集以及測試集
我們一共有699名美國威斯康辛州女性腫瘤數(shù)據(jù),每個(gè)女性數(shù)據(jù)包含有9個(gè)特征,分別為Clump Thickness,Uniformity of cell size,Uniformity of cell shape,Marginal Adhesion,Single Epithelial Cell Size,Bare Nuclei,Bland Chromation,Normal Nucleoli,Mioses,每個(gè)特征都是對女性腫瘤信息的一些生理性描述,比如腫瘤的形狀,腫瘤的大小尺寸等等。
為了檢驗(yàn)我們所構(gòu)建的分類模型的性能,我們在699名女性樣本中,隨機(jī)采樣500名女性樣本作為我們的訓(xùn)練集樣本,用于訓(xùn)練模型,余下的199名女性數(shù)據(jù),作為我們的測試集樣本,用于檢驗(yàn)我們訓(xùn)練出的模型的性能。
2構(gòu)建分類器
2.1kNN算法
2.1.1kNN算法原理
kNN模型(K Nearest Neighbor),又叫作k領(lǐng)近模型,是現(xiàn)如今的機(jī)器學(xué)習(xí)分類問題中,一種比較常見的簡單的分類算法之一。k是指和待預(yù)測的分類樣本最接近的k個(gè)樣本,kNN 算法最初由 Cover 和 Hart 于 1968 年提出, 是一個(gè)在工業(yè)界比較成熟的分類算法。
kNN模型的主要步驟大致分為兩個(gè)階段:第一個(gè)階段,將所有的訓(xùn)練集樣本映射到相應(yīng)的特征空間當(dāng)中。第二個(gè)階段,將所有的測試集樣本,通過一定的距離計(jì)算公式,計(jì)算相應(yīng)的測試集樣本與所有的訓(xùn)練集樣本的距離,然后對所得到的所有距離進(jìn)行排序,從中選出最近的k個(gè)距離的樣本,最后采用相應(yīng)的投票手段,從而確定測試集樣本的所屬類別。
在我們的女性腫瘤預(yù)測問題中:第一個(gè)階段,首先我們將訓(xùn)練集的500個(gè)女性樣本映射在相應(yīng)的特征空間中。第二個(gè)階段,我們將測試集的199個(gè)樣本,分別計(jì)算與訓(xùn)練集的所有500個(gè)女性樣本的歐幾里得距離,然后對所有的距離排序,從中挑選出最近的k個(gè),最后,采用一種等權(quán)重的投票方式,通過票數(shù)最多的類別,來判斷測試集的該女性的腫瘤是良性腫瘤還是惡性腫瘤。
2.1.2結(jié)果分析
我們使用了機(jī)器學(xué)習(xí)的開源包sklearn中的kNN算法,在我們的500個(gè)數(shù)據(jù)的訓(xùn)練集上進(jìn)行訓(xùn)練,并且嘗試了不同的k取值對結(jié)果產(chǎn)生的影響。最終當(dāng)k=5時(shí),模型在199個(gè)測試樣本上取得了97.1%的準(zhǔn)確率。
kNN模型性能的好壞和k的取值大小存在著很大的關(guān)系,如果k比較小,則模型對于實(shí)例點(diǎn)會(huì)非常敏感,會(huì)陷入過擬合。反之,如果k比較大,則模型比較容易進(jìn)入欠擬合的狀態(tài)。一般情況下,我們會(huì)嘗試多個(gè)不同的k取值,來觀察在驗(yàn)證集上的效果,從而選擇一個(gè)比較合適的k值,使模型具有良好的性能。
在我們的腫瘤預(yù)測問題中,我們的訓(xùn)練集只包含500個(gè)樣本,測試集也只有199個(gè)樣本,因此kNN的運(yùn)行速度比較快。但是當(dāng)面臨大規(guī)模數(shù)據(jù)集分類問題時(shí),kNN算法的缺點(diǎn)就暴露出來,其由于在預(yù)測時(shí)需要計(jì)算待預(yù)測樣本與所有訓(xùn)練集樣本的距離,因此算法運(yùn)行的速度會(huì)十分緩慢。這個(gè)時(shí)候,我們往往需要選擇其他運(yùn)行效率比較高的分類模型。
2.2Logistic模型
2.2.1Logistic原理
Logistic是現(xiàn)如今的機(jī)器學(xué)習(xí)領(lǐng)域中,一種被廣泛使用的分類模型。該模型對于一些簡單的分類場景下具有優(yōu)異的性能。Logistic模型的原理采用sigmoid函數(shù)當(dāng)作我們的假設(shè)函數(shù),來猜測在給定的特征下,相應(yīng)的條件概率。在我們所研究的腫瘤分類問題當(dāng)中,S函數(shù)的結(jié)果就是女性腫瘤為良性的概率,概率大小在[0,1]之間。
Logistic在訓(xùn)練階段,不斷的進(jìn)行迭代,降低誤差函數(shù)的值,提高模型在訓(xùn)練集上的準(zhǔn)確率,在該階段,通過采取相應(yīng)的正則化手段,可以在一定程度上,避免模型陷入過擬合。
2.2.2Logistic regression H function
Hfunciton使用S函數(shù),S函數(shù)形式如式(1),大小在[0,1]之間。其輸出的結(jié)果代表了該女性所患有良性腫瘤的概率。Θ代表了我們在訓(xùn)練階段,要學(xué)習(xí)的參數(shù)取值,X在我們所研究的問題之中,代表了每個(gè)女性患者的9個(gè)生理學(xué)特征。
g(X) = 1/(1+e-θX)(1)
2.2.3Logistic regression loss function
Loss function又叫作損失函數(shù),也稱之為代價(jià)函數(shù),它是用來表示模型在訓(xùn)練樣本上的誤差函數(shù),如果在訓(xùn)練集上準(zhǔn)確率越高,那么損失函數(shù)就越小,如果在訓(xùn)練集上的準(zhǔn)確率越低,相應(yīng)的損失函數(shù)值就越大。訓(xùn)練階段的目標(biāo)就是不斷的去降低誤差函數(shù)的取值。
比較常用的代價(jià)函數(shù)有兩類:一類是回歸問題的代價(jià)函數(shù),一般使用MSE代價(jià);另一類分類問題的代價(jià)函數(shù),一般使用交叉熵代價(jià)。對于我們的癌癥問題,它是一個(gè)二分類問題,因此我們采用交叉熵?fù)p失函數(shù)。交叉熵?fù)p失函數(shù)如式(2)所示。其中g(shù)(θ)代表了邏輯回歸函數(shù)的輸出,log代表以10為底的對數(shù),yi代表樣本的真實(shí)分布。
J(θ) = -∑yi*log(g(θ))(2)
2.2.4邏輯回歸的潛在問題
在訓(xùn)練過程中,模型通過多次的迭代,損失函數(shù)的值可以不斷的減小,直到在一個(gè)比較小的取值范圍內(nèi)波動(dòng),即基本保持不變。但是并不是損失函數(shù)的值越小越好,因?yàn)閾p失函數(shù)的取值越小,模型越有可能陷入過擬合,模型如果陷入過擬合,雖然模型在訓(xùn)練集上會(huì)有比較高的準(zhǔn)確率,但是在測試集上的準(zhǔn)確率會(huì)比較低。而我們最終的目標(biāo)是希望模型在測試集上也具有比較高的準(zhǔn)確率,因此我們要避免模型陷入過擬合的狀態(tài)。
2.2.5邏輯回歸的正則化
常用的解決模型過擬合的手段有兩種,第一種是增加訓(xùn)練集的樣本,但是往往增加訓(xùn)練集樣本的成本太高。因此常常采用第二種手段,即正則化手段。常見的正則化策略有l(wèi)1,l2正則化。在我們的癌癥預(yù)測問題中采用l1正則化,加入正則化后的代價(jià)函數(shù)如式(3),其中C為正則化系數(shù)。
J(θ) = -∑yi*log(g(θ)) +∑C|θ|(3)
2.2.6結(jié)果分析
我們使用了開源的機(jī)器學(xué)習(xí)包sklearn中的logsitic算法,最終在我們的腫瘤分類問題中取得了98.2%的準(zhǔn)確率。
Logsitic回歸模型的優(yōu)點(diǎn)是在預(yù)測階段,速度相比kNN模型而言效率非常的高,因?yàn)轭A(yù)測的過程和訓(xùn)練集的數(shù)目沒有關(guān)系。而Logsitic回歸模型的局限在于其一般只適用于處理線性可分的數(shù)據(jù)集。
2.3SVM模型
2.3.1SVM模型原理
支持向量機(jī)(support vector machine,SVM),它最初于20世紀(jì)90年代由Vapnik提出,是機(jī)器學(xué)習(xí)中一種十分強(qiáng)大的分類模型。與kNN模型,邏輯回歸等分類模型相比,SVM模型具有比較強(qiáng)大的泛化能力。而且能夠處理非線性可分的數(shù)據(jù)集。
SVM模型和邏輯回歸模型兩者之間既有區(qū)別,又有聯(lián)系,對于邏輯回歸模型來講,是尋找到一個(gè)超平面能夠?qū)?shù)據(jù)集在特征空間劃分開來,但是這個(gè)超平面往往不是最優(yōu)的。而SVM則是尋找一個(gè)最優(yōu)的超平面來對數(shù)據(jù)集進(jìn)行劃分。
對于一般的分類模型來講,通常只適用于處理線性可分的數(shù)據(jù),不適合處理線性不可分的數(shù)據(jù),而對于SVM來講,其引入的核技巧能夠很好的處理線性不可分的數(shù)據(jù)集。
2.3.2SVM模型的核函數(shù)
SVM不僅對于一般的線性可分的數(shù)據(jù)能夠取得很好的效果,而且引入了核函數(shù)的SVM,能在非線性可分的數(shù)據(jù)集上也取得比較好的效果。核函數(shù)的核心思想就是能夠?qū)?shù)據(jù)從低維特征空間映射到高維特征空間,從而使原本在低維空間線性不可分的數(shù)據(jù),在高維空間上線性可分。
2.3.3結(jié)果分析
基本的SVM模型一般也只適用于處理線性可分的數(shù)據(jù)集,但是在SVM模型中,引入了核技巧。通過將低維空間線性不可分的數(shù)據(jù)集,映射到高維空間中成為線性可分的數(shù)據(jù)集來間接的對數(shù)據(jù)集進(jìn)行分類。因此,我們在訓(xùn)練過程中,使用了核函數(shù)+SVM,對500個(gè)訓(xùn)練樣本進(jìn)行訓(xùn)練,最終得到了幾十個(gè)支持向量。
在整個(gè)訓(xùn)練過程,我們嘗試了不同的核函數(shù)所取得的效果。結(jié)果顯示,在采用高斯核函數(shù)的SVM后,在測試集上的準(zhǔn)確率打到了98.5%,性能表現(xiàn)比kNN,logsitic都要好。而且,通過準(zhǔn)確率來看,模型基本上處于一個(gè)比較好的狀態(tài),沒有陷入過擬合。因此可見,從效率,準(zhǔn)確率上來講,SVM是綜合性能比較好的一個(gè)分類模型。
3結(jié)語
本研究通過UCI乳腺腫瘤分類數(shù)據(jù)集,在該數(shù)據(jù)集上,我們分別使用了kNN模型,logsitic回歸模型,SVM模型。分別取得了97.1%,98.2%,98.5%的準(zhǔn)確率。分析了不同的機(jī)器學(xué)習(xí)方法在該問題上取得的效果以及優(yōu)異性。
參考文獻(xiàn)
[1]竇小凡.KNN算法綜述[J].通訊世界,2018,(10):273-274.
[2]陳真誠,杜瑩,鄒春林,梁永波,吳植強(qiáng),朱健銘.基于K-Nearest Neighbor和神經(jīng)網(wǎng)絡(luò)的糖尿病分類研究[J].中國醫(yī)學(xué)物理學(xué)雜志,2018,35(10):1220-1224.
[3]范玉妹,郭春靜.支持向量機(jī)算法的研究及其實(shí)現(xiàn)[J].河北工程大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,27(04):106-112.
[4]王宏濤,孫劍偉.基于BP神經(jīng)網(wǎng)絡(luò)和SVM的分類方法研究[J].軟件,2015,36(11):96-99.