您好, 訪客   登錄/注冊

美國威斯康辛州女性乳腺癌腫瘤預測探討

來源:用戶上傳      作者:

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

?
99久久国产综合精麻豆