(山東工藝美術學院公共課教學部 山東 濟南 250000)
通過機器學習算法的支持,如今數據挖掘,語音識別,圖像識別,文本處理,郵件檢測,無人駕駛等領域飛速發展。腫瘤是人類死亡率最高的疾病之一,也是人類研究投入最高的疾病之一。如何正確的對腫瘤進行分類,以區分出危險性不高的良性腫瘤,與危險性很高的惡性腫瘤,是一個有著良好前景的問題。隨著計算能力的提高以及計算的廉價化,以卷積神經網絡與深度學習(Deep learning)為首的機器學習或AI算法重新進入了人們的視野。而使用機器學習方法,將為更加高效且自動化的進行腫瘤分類提供有力的方法。作為“統計學習”的重要算法,SVM算法在非線性數據,尤其是文本處理中具有優越性能。而各種集成算法如今也大放異彩,成為各大競賽以及工業界不可或缺的工具。本文使用一種創新的思路,將SVM與多種集成算法結合起來,之后使用XGBoost在保證泛化能力的情況下進行提升,使得正確率獲得顯著提高。
特征工程是目前機器學習領域的一個十分重要的概念,也是數據科學流程的重要步驟之一。雖然現在沒有一個被業界普遍接受的定義,但是總的來講它是為了特定的機器學習的應用任務而探索,設計特征(features),讓其更好適應機器學習算法的工作。主要工作分兩個方面進行:認真了解自己將要用到的機器學習算法有什么優勢和限制,并且進行實踐。通過實踐,找到更加合理的特征,然后迭代的重復上述兩個步驟,不斷的提高模型的準確率。目前來講,特征工程的難點在于如何找到最適合該次任務的特征。特征工程有以下這些方法:(1)特征選擇:對于應用機器學習算法進行應用任務,一些不相關或者冗余的特征不但會使得模型的訓練時間增長,并且導致模型的可解釋性差,并且他還是過擬合問題產生的最主要的原因,從而影響模型的泛化能力。過擬合問題與數據集中的特征數量與觀測樣本數量的比值有關。當特征數量相比樣本數量過多時,學習算法更容易達到局部優化就停止,從而達不到全局優化的作用,或者由于特征之間的相關性而擬合于噪音處。機器學習過程中常用的特征選擇方法:單變量選擇,遞歸消除,基于L1,L2正則化的特征選擇,基于樹的特征選擇等。(2)特征創建:有時會發現某些特征與預測結果不是十分相關,一些有經驗的數據科學家可以使用一些非線性的方法改變這些特征,使其更好的進行模型分類。通俗來講,比如當要預測房地產價格時,只知道房子的長寬高,那么我們可以創建一個面積特征,這樣就可以更好擬合模型。(3)維度約減:如果需要處理包含大量特征的機器學習任務,而其中很多特征可能是不需要的。因此出現了維度約減這一操作方法,消除掉大量的不相關特征,只保留相關性大的特征,維度約減的一大前提是數據中包含高斯白噪聲,常用維度約減方法有主成分分析(PCA),線性判別分析(LDA),盲源分析(ICA)等。
特征處理結果,該數據集有一明顯問題,各個特征并不在同一大小范圍內。并且樣本誤差等特征不利于特征之間的比較。所以通過特征工程的手段對數據進行處理是十分有必要的。為了便于在特征之間進行比較,故將關于標準差的特征轉化為關于變異系數的特征。并將所有特征轉換在同一大小范圍內,最后使用標準化方法,將特征轉化為在同一尺度內并且符合正態分布。

如果想要找到最大間隔,則應該使用凸二次規劃方法求得,以上就是SVM的基本原理。


Bagging與RandomForest算法概述,Bagging算法由Breiman于1996年提出,是并行式集成學習中的最著名的代表,這個算法基于自助采樣法,假設給定包含n個樣本的樣本空間,從中有放回的隨即取出n次。經過這樣的操作,訓練集中有的樣本會被重復選中,而有些樣本則從來沒有被選中過。約有63.2%的樣本出現在樣本集中。
令Dbs是自助采樣法所產生的一個樣本分布。如果用上述方法,我們可以采樣出T個n個訓練樣本集,然后用每個樣本集都訓練出來一個基學習器,之后再將這些基學習器進行結合,Bagging算法的流程就是這樣。輸出結果:

我們假設基學習器的算法復雜度為O(m),則Bagging的算法復雜度為T(O(m)+O(s)),因為O(s)值很小,因此,Bagging算法的復雜度和基學習器的算法復雜度是同階的。這說明了Bagging算法是一種十分高效的提升算法,同時,與AdaBoost不同,Bagging可以多分類與回歸機器學習任務中發揮效用。從偏差-方差角度來看,AdaBoost注重于降低偏差(Bias),Bagging注重于降低方差(Varience)。Bagging算法最著名的一種變種方法為隨機森林(Random Forest),Random Forest在使用決策樹為基學習器進行集成學習的同時,在基學習器也就是決策樹訓練的過程中引入了隨機屬性。通俗來講,傳統決策樹方法是在選擇劃分屬性時候直接選擇最優屬性作為所選擇的屬性,而隨機森林則先隨機的選出包含k個屬性的一個子集,再在這些子集中選出最優屬性。則也便是隨機森林一詞的由來。
本次機器學習學習任務首先將數據集分為訓練集,驗證集與測試集。首先,使用SVM算法,GradientBoosting,ExtraTree,RandomForst,AdaBoost五種算法對訓練集進行學習,之后在CV集上面進行預測,預測出來的結果與CV集真實值進行比較,然后將以上五種算法學習得出的結果作為新的訓練集。最后使用XgBoost算法對新的訓練集進行預測,然后對測試集進行預測,計算正確率。模型在測試集上預測結果為:

表1 模型在測試集上預測結果
相同特征下,SVM算法正確率、查準率、查重率、F1值、正例數:

表 SVM算法測試結果
相同特征下,AdaBoost算法正確率、查準率、查重率、F1值、正例數:

表 AdaBoost算法測試結果
相同特征下,GradientBoost算法正確率、查準率、查重率、F1值、正例數:

表 GradientBoost算法測試結果
相同特征下,RandomForst算法正確率、查準率、查重率、F1值、正例數:

表 RandomForest算法測試結果
相同特征下,ExtraTrees算法正確率、查準率、查重率、F1值、正例數:

表 ExtraTrees算法測試結果
針對臨床醫學領域高效且準確進行腫瘤分類的問題,提出了一種由支持向量機與多種集成學習算法相結合的框架進行高效且準確分類的分類器,首先采用多種數據科學流程對數據集進行特征工程然后使用支持向量機以及多種集成算法(AdaBoost,RandomForest,GradientBoosting,ExtraTrees)進行初步預測,對預測出來的結果使用XGBoost進行提升。最后將該方法與其他機器學習算法進行比較。