郭 冰 李海龍 侯 艷 李 康
哈爾濱醫科大學衛生統計學教研室(150081)
基于錯分代價的HingeBoost算法在高維數據判別分析中的應用*
郭 冰 李海龍 侯 艷 李 康△
哈爾濱醫科大學衛生統計學教研室(150081)
目的 探討基于錯分代價的HingeBoost算法在二分類高維數據中分類判別的效果。方法 通過模擬試驗和實際代謝組學數據分析,對HingeBoost算法、AdaBoost算法、支持向量機、隨機森林四種方法進行比較,并用ROC曲線下面積、靈敏度、特異度和錯誤率評價。結果 模擬試驗和真實代謝組數據分析顯示,HingeBoost算法內部參數錯分代價能影響分類結果的判別,在線性結構、同時存在大量噪聲變量時分類效果優于其他三種算法。結論 HingeBoost算法將錯分代價引入模型,達到減少假陽性錯誤或假陰性錯誤的目的,同時有很強的抗噪聲能力,適用于高維代謝組學數據分析,值得進一步研究。
HingeBoost 高維組學 分類判別 不等錯分代價
針對高維組學數據,目前常用的分析方法有隨機森林、支持向量機、偏最小二乘法等機器學習方法。這些方法有一個共同特點是,在建模時將兩類錯分代價視為相同,而在實際中并不如此,如在篩檢試驗中,假陰性錯誤的代價高于假陽性錯誤,而在診斷試驗中則相反。如何在考慮錯分代價時,建立合適的分類模型,是一個值得研究的問題。HingeBoost算法是一種新的算法,這種方法能夠在建模之前設定各類別的錯分代價,將其納入模型,并在考慮了錯分代價情況下優化ROC曲線下面積(AUC)。HingeBoost算法沿用了Boosting的迭代思想,將支持向量機中的hinge損失函數引用到迭代過程中,通過擬合函數梯度下降以優化AUC值,可看作是Boosting算法和支持向量機的結合。本文在介紹HingeBoost算法的原理基礎上,通過模擬試驗和實例分析,比較HingeBoost算法與其他常用分析方法對代謝組學數據的判別效果。
1.hinge損失函數
損失函數,或稱代價函數,是在統計學、決策理論及機器學習中,將一個或多個變量的值直接映射到代表與之相關代價的實數上的函數。如0-1型損失函數,其策略是極小化誤分的樣本數,當樣本分類正確時,損失函數的值定義為0;當樣本分類錯誤時,損失函數的值定義為1。在構造模型時,按照損失函數梯度下降方向來逐步建立模型,最終得到使損失函數值達到最小的模型參數,即可得到最優模型。
由于0-1型損失函數不是分離超平面參數的連續可導函數,不易于直接優化求解和實際運用,因此常用高階可微的損失函數來替代0-1型損失函數,稱為代理損失函數,如hinge損失、指數損失、最小二乘損失。hinge損失函數形式如下:
Lh(y,f(X))=max(0,1-yf(x))
(1)
其中y表示真實標簽,f(X)表示預測函數,max()函數表示返回最大值。
HingeBoost算法采用加權hinge損失函數,即在hinge損失函數基礎上,給予類別間的錯分代價,即
(2)
α表示假陽性錯誤的代價,1-α表示假陰性錯誤的代價,α∈(0,1)。代價敏感hinge損失函數的形式如下:
L(y,f,α)=l(y)Lh(y,f)
(3)
2.HingeBoost算法
HingeBoost算法思想是進行多次迭代,每次迭代的基礎學習器沿損失函數梯度下降方向進行擬合,梯度下降方向則是根據上一次迭代的基礎學習器對訓練集判別后計算得出,從而在每次迭代中都能使待優化的目標函數沿損失函數梯度下降方向逐漸優化。HingeBoost算法具體過程如下:
(2) 在第m次迭代中:
① 將殘差Ui,m定義為損失函數的梯度下降方向,
(4)
② 以殘差Um為應變量,以X為自變量擬合基礎學習器g(Um,X(1)),
(5)
③ 更新預測函數:
(6)
其中,v表示給定的學習率(即收縮參數),0 3.基礎學習器 HingeBoost算法可以與多種基礎學習器結合,如線性最小二乘、P樣條函數、決策樹等,因此算法可以靈活地對不同類型數據結構建模,本文采用基于線性最小二乘的基礎學習器,即 (7) 4.調整參數 在建立HingeBoost模型時,應選擇恰當的迭代次數,使模型充分擬合數據,同時防止過擬合,為此可以用交叉驗證方法找到使hinge損失最小的迭代次數,即 (8) 式中,M0是一個預先設定好足夠大的迭代次數。 本部分模擬試驗旨在考察錯分代價(α值)對模型預測結果的影響,以及在多種模擬數據條件下HingeBoost算法與AdaBoost算法、支持向量機(SVM)、隨機森林(RF)進行比較。 (1)模擬數據 設定10個服從正態分布的差異變量,方差為1,兩類間真實區分度用ROC曲線下面積AUC表示,分為0.95和0.85兩種情況,樣本量為100,即兩類各50例。為了接近代謝組學數據結構,噪聲變量來自于真實的代謝組學數據,產生方法是將包含動脈粥樣硬化患者和健康對照者的代謝組學數據打亂標簽后,再從中隨機抽取500、1000、2000個變量,作為干擾變量。另外,產生100例模擬數據,并隨機抽取100例打亂標簽的實際數據,合并在一起作為測試數據。上述過程重復100次。 (2)試驗結果 表1、表2給出了在α取值為0.2、0.5、0.8三種情況下,HingeBoost算法建模預測效果。由結果看出,隨著α由0.2增大到0.8,靈敏度(Se)升高,特異度(Sp)降低,AUC和錯誤率(Error)在三種條件下稍有波動,但變化不明顯。 對上述模擬數據,分別用四種算法對它們進行建模學習和預測分類,其中HingeBoost選擇α=0.5時的模型。每一次分類后,各算法得出ROC曲線下面積AUC值,其值越接近1表示分類效果越好。四種算法建模預測的AUC結果見圖1和圖2。 由結果看出,不同區分度(θ)和不同噪聲數目情況下,HingeBoost算法對測試數據分類的AUC值更接近真實區分度,說明在設定的模擬條件下,其分類效果優于其他三種算法。同時看出,隨著噪聲變量數目增加,四種算法的分類效果均下降,其中支持向量機下降最快,在噪聲變量與差異變量數目相差比較大的情況,HingeBoost算法抗噪聲能力明顯優于其他算法。 為研究HingeBoost算法對實際代謝組學數據的預測分類效果,選取同一批次檢測的正離子和負離子兩種模式下卵巢癌(惡性腫瘤)患者和卵巢囊腫(良性腫瘤)患者的血漿代謝組學數據進行分析。該數據共包含298例樣本,其中卵巢癌患者140例,卵巢囊腫患者158例。正離子模式數據經數據預處理后含2106個分析變量,負離子模式數據經數據預處理后含1827個分析變量。 利用無放回的隨機抽樣方法,將樣本分為訓練集和測試集兩部分,其中從每組中各抽取80例樣本構成訓練集,余下138例樣本作為測試集。設定種子數后,按此方法重復100次,隨機組成100個訓練集和測試集,用HingeBoost算法(α=0.5、α=0.2和α=0.8)、AdaBoost算法、支持向量機和隨機森林四種方法對訓練集建立模型,并對測試集進行分類,再根據這100次的平均結果評價模型預測效果。 根據真實標簽與各模型對測試集中每個樣本的分類概率或得分,可以計算出相應的ROC曲線下面積(AUC);根據真實標簽與測試集的分類結果比較得出每個模型預測的靈敏度(Se)、特異度(Sp)和錯誤率(Error)。正離子、負離子模式數據分析結果見表3、表4,四種模型預測效果的平均AUC值比較見圖3、圖4。 可以看出,對正離子模式代謝組學數據,HingeBoost算法(α=0.5)得出的AUC值略低于AdaBoost算法,高于隨機森林和支持向量機;而在負離子模式代謝組學數據中,HingeBoost算法(α=0.5)得出的AUC值均優于其他三種算法。兩個真實數據結果均顯示,在將HingeBoost模型內部參數由0.5調整為0.2后,靈敏度增大、特異度減小,假陰性率降低;由0.5調整為0.8后,靈敏度減小、特異度增大,假陽性率降低。 2.模擬試驗結果表明,調整HingeBoost算法內部參數,整體判別效果(AUC)基本不改變,但可以影響α對樣本的分類預測,α>0.5時側重于提高特異度,α<0.5時側重于提高靈敏度。實際中可以根據需要對α進行設定,如篩檢試驗更注重靈敏度,應該選擇較小的α值;如臨床診斷試驗可能更注重特異度,則需要選擇較大的α值。 3.模擬試驗結果表明,HingeBoost建模分類的效果不亞于支持向量機、隨機森林和AdaBoost算法,特別是在高維數據中建模預測的可行性,同時也顯示出了這種新的算法在抗噪特性方面優于其他三種算法。 4.實例分析結果顯示,HingeBoost算法應用于真實腫瘤代謝組學數據中具有良好的分類效果,總體上優于隨機森林、支持向量機算法,與AdaBoost算法的結果相近。根據實際研究需要,調整HingeBoost模型內部參數α值,可以達到提高靈敏度或特異度的目的。 最后,本文模擬試驗和實例分析均在R中實現,其中HingeBoost算法由bst程序包實現,AdaBoost算法由ada程序包實現,支持向量機由e1071程序包實現,隨機森林由randomForest程序包實現。 [1]Wang Z.HingeBoost:ROC-based boost for classification and variable selection.Int J Biostat,2011,7(1):1-30. [2]章光明,劉晉,賈慧珣,等.隨機梯度boosting算法在代謝組學研究中的應用.中國衛生統計,2013,30(3):323-326. [3]武振宇,賈慧珣,朱驥.Boosting算法對卵巢癌代謝組數據的應用研究.中國衛生統計,2012,29(6):786-789. [4]孫正雅,陶卿.統計機器學習—損失函數與優化求解.中國計算機學會通訊,2009,5(8):7-14. [5]Yi Lin.A note on margin-based loss functions in classification.Statistics & Probability Letters,2004,68(1):73-82. [6]Hastie T,Tibshirani R,Friedman J.The elements of statistical learning.Data mining,Inference and Prediction,New York:Springer,2009:337-387. (責任編輯:郭海強) The Application of Cost-sensitive HingeBoost to Classification in High-Dimensional Data Guo Bing,Li Hailong,Hou Yan,et al (Department of Medical Statistics,Harbin Medical University(150081),Harbin) Objective To explore the application of cost-sensitive HingeBoost approach to classification in high-dimensional data.Methods HingeBoost was compared with AdaBoost,random forest(RF),and support vector machine(SVM) by analysis of simulation data and metabolomics data,and meanwhile the area under ROC curve,sensitivity,specificity,and predicted error were used to evaluate these approaches.Results As showed in simulation and real data study,the unequal misclassification costs of HingeBoost would affect the results of classification.HingeBoost outperformed AdaBoost,RF,and SVM in the condition of linear data and a large quantity of noise variables.Conclusion HingeBoost was applicable to high-dimensional metabolomics data for its steady ability of noise-resistant and incorporating unequal misclassification costs,which could decrease false positive error or false negative error according to objective. HingeBoost;Classification;Unequal misclassification costs;High-dimensional data *:高等學校博士學科專項基金(2012230711004);國家自然科學基金資助(81172767) △ 通信作者:李康,E-mail:likang@ems.hrbmu.edu.cn模擬試驗
實例分析
討 論