郭 冰 李海龍 侯 艷 李 康
哈爾濱醫(yī)科大學(xué)衛(wèi)生統(tǒng)計(jì)學(xué)教研室(150081)
基于錯(cuò)分代價(jià)的HingeBoost算法在高維數(shù)據(jù)判別分析中的應(yīng)用*
郭 冰 李海龍 侯 艷 李 康△
哈爾濱醫(yī)科大學(xué)衛(wèi)生統(tǒng)計(jì)學(xué)教研室(150081)
目的 探討基于錯(cuò)分代價(jià)的HingeBoost算法在二分類高維數(shù)據(jù)中分類判別的效果。方法 通過模擬試驗(yàn)和實(shí)際代謝組學(xué)數(shù)據(jù)分析,對(duì)HingeBoost算法、AdaBoost算法、支持向量機(jī)、隨機(jī)森林四種方法進(jìn)行比較,并用ROC曲線下面積、靈敏度、特異度和錯(cuò)誤率評(píng)價(jià)。結(jié)果 模擬試驗(yàn)和真實(shí)代謝組數(shù)據(jù)分析顯示,HingeBoost算法內(nèi)部參數(shù)錯(cuò)分代價(jià)能影響分類結(jié)果的判別,在線性結(jié)構(gòu)、同時(shí)存在大量噪聲變量時(shí)分類效果優(yōu)于其他三種算法。結(jié)論 HingeBoost算法將錯(cuò)分代價(jià)引入模型,達(dá)到減少假陽性錯(cuò)誤或假陰性錯(cuò)誤的目的,同時(shí)有很強(qiáng)的抗噪聲能力,適用于高維代謝組學(xué)數(shù)據(jù)分析,值得進(jìn)一步研究。
HingeBoost 高維組學(xué) 分類判別 不等錯(cuò)分代價(jià)
針對(duì)高維組學(xué)數(shù)據(jù),目前常用的分析方法有隨機(jī)森林、支持向量機(jī)、偏最小二乘法等機(jī)器學(xué)習(xí)方法。這些方法有一個(gè)共同特點(diǎn)是,在建模時(shí)將兩類錯(cuò)分代價(jià)視為相同,而在實(shí)際中并不如此,如在篩檢試驗(yàn)中,假陰性錯(cuò)誤的代價(jià)高于假陽性錯(cuò)誤,而在診斷試驗(yàn)中則相反。如何在考慮錯(cuò)分代價(jià)時(shí),建立合適的分類模型,是一個(gè)值得研究的問題。HingeBoost算法是一種新的算法,這種方法能夠在建模之前設(shè)定各類別的錯(cuò)分代價(jià),將其納入模型,并在考慮了錯(cuò)分代價(jià)情況下優(yōu)化ROC曲線下面積(AUC)。HingeBoost算法沿用了Boosting的迭代思想,將支持向量機(jī)中的hinge損失函數(shù)引用到迭代過程中,通過擬合函數(shù)梯度下降以優(yōu)化AUC值,可看作是Boosting算法和支持向量機(jī)的結(jié)合。本文在介紹HingeBoost算法的原理基礎(chǔ)上,通過模擬試驗(yàn)和實(shí)例分析,比較HingeBoost算法與其他常用分析方法對(duì)代謝組學(xué)數(shù)據(jù)的判別效果。
1.hinge損失函數(shù)
損失函數(shù),或稱代價(jià)函數(shù),是在統(tǒng)計(jì)學(xué)、決策理論及機(jī)器學(xué)習(xí)中,將一個(gè)或多個(gè)變量的值直接映射到代表與之相關(guān)代價(jià)的實(shí)數(shù)上的函數(shù)。如0-1型損失函數(shù),其策略是極小化誤分的樣本數(shù),當(dāng)樣本分類正確時(shí),損失函數(shù)的值定義為0;當(dāng)樣本分類錯(cuò)誤時(shí),損失函數(shù)的值定義為1。在構(gòu)造模型時(shí),按照損失函數(shù)梯度下降方向來逐步建立模型,最終得到使損失函數(shù)值達(dá)到最小的模型參數(shù),即可得到最優(yōu)模型。
由于0-1型損失函數(shù)不是分離超平面參數(shù)的連續(xù)可導(dǎo)函數(shù),不易于直接優(yōu)化求解和實(shí)際運(yùn)用,因此常用高階可微的損失函數(shù)來替代0-1型損失函數(shù),稱為代理損失函數(shù),如hinge損失、指數(shù)損失、最小二乘損失。hinge損失函數(shù)形式如下:
Lh(y,f(X))=max(0,1-yf(x))
(1)
其中y表示真實(shí)標(biāo)簽,f(X)表示預(yù)測(cè)函數(shù),max()函數(shù)表示返回最大值。
HingeBoost算法采用加權(quán)hinge損失函數(shù),即在hinge損失函數(shù)基礎(chǔ)上,給予類別間的錯(cuò)分代價(jià),即
(2)
α表示假陽性錯(cuò)誤的代價(jià),1-α表示假陰性錯(cuò)誤的代價(jià),α∈(0,1)。代價(jià)敏感hinge損失函數(shù)的形式如下:
L(y,f,α)=l(y)Lh(y,f)
(3)
2.HingeBoost算法
HingeBoost算法思想是進(jìn)行多次迭代,每次迭代的基礎(chǔ)學(xué)習(xí)器沿?fù)p失函數(shù)梯度下降方向進(jìn)行擬合,梯度下降方向則是根據(jù)上一次迭代的基礎(chǔ)學(xué)習(xí)器對(duì)訓(xùn)練集判別后計(jì)算得出,從而在每次迭代中都能使待優(yōu)化的目標(biāo)函數(shù)沿?fù)p失函數(shù)梯度下降方向逐漸優(yōu)化。HingeBoost算法具體過程如下:
(2) 在第m次迭代中:
① 將殘差Ui,m定義為損失函數(shù)的梯度下降方向,
(4)
② 以殘差Um為應(yīng)變量,以X為自變量擬合基礎(chǔ)學(xué)習(xí)器g(Um,X(1)),
(5)
③ 更新預(yù)測(cè)函數(shù):
(6)
其中,v表示給定的學(xué)習(xí)率(即收縮參數(shù)),0 3.基礎(chǔ)學(xué)習(xí)器 HingeBoost算法可以與多種基礎(chǔ)學(xué)習(xí)器結(jié)合,如線性最小二乘、P樣條函數(shù)、決策樹等,因此算法可以靈活地對(duì)不同類型數(shù)據(jù)結(jié)構(gòu)建模,本文采用基于線性最小二乘的基礎(chǔ)學(xué)習(xí)器,即 (7) 4.調(diào)整參數(shù) 在建立HingeBoost模型時(shí),應(yīng)選擇恰當(dāng)?shù)牡螖?shù),使模型充分?jǐn)M合數(shù)據(jù),同時(shí)防止過擬合,為此可以用交叉驗(yàn)證方法找到使hinge損失最小的迭代次數(shù),即 (8) 式中,M0是一個(gè)預(yù)先設(shè)定好足夠大的迭代次數(shù)。 本部分模擬試驗(yàn)旨在考察錯(cuò)分代價(jià)(α值)對(duì)模型預(yù)測(cè)結(jié)果的影響,以及在多種模擬數(shù)據(jù)條件下HingeBoost算法與AdaBoost算法、支持向量機(jī)(SVM)、隨機(jī)森林(RF)進(jìn)行比較。 (1)模擬數(shù)據(jù) 設(shè)定10個(gè)服從正態(tài)分布的差異變量,方差為1,兩類間真實(shí)區(qū)分度用ROC曲線下面積AUC表示,分為0.95和0.85兩種情況,樣本量為100,即兩類各50例。為了接近代謝組學(xué)數(shù)據(jù)結(jié)構(gòu),噪聲變量來自于真實(shí)的代謝組學(xué)數(shù)據(jù),產(chǎn)生方法是將包含動(dòng)脈粥樣硬化患者和健康對(duì)照者的代謝組學(xué)數(shù)據(jù)打亂標(biāo)簽后,再從中隨機(jī)抽取500、1000、2000個(gè)變量,作為干擾變量。另外,產(chǎn)生100例模擬數(shù)據(jù),并隨機(jī)抽取100例打亂標(biāo)簽的實(shí)際數(shù)據(jù),合并在一起作為測(cè)試數(shù)據(jù)。上述過程重復(fù)100次。 (2)試驗(yàn)結(jié)果 表1、表2給出了在α取值為0.2、0.5、0.8三種情況下,HingeBoost算法建模預(yù)測(cè)效果。由結(jié)果看出,隨著α由0.2增大到0.8,靈敏度(Se)升高,特異度(Sp)降低,AUC和錯(cuò)誤率(Error)在三種條件下稍有波動(dòng),但變化不明顯。 對(duì)上述模擬數(shù)據(jù),分別用四種算法對(duì)它們進(jìn)行建模學(xué)習(xí)和預(yù)測(cè)分類,其中HingeBoost選擇α=0.5時(shí)的模型。每一次分類后,各算法得出ROC曲線下面積AUC值,其值越接近1表示分類效果越好。四種算法建模預(yù)測(cè)的AUC結(jié)果見圖1和圖2。 由結(jié)果看出,不同區(qū)分度(θ)和不同噪聲數(shù)目情況下,HingeBoost算法對(duì)測(cè)試數(shù)據(jù)分類的AUC值更接近真實(shí)區(qū)分度,說明在設(shè)定的模擬條件下,其分類效果優(yōu)于其他三種算法。同時(shí)看出,隨著噪聲變量數(shù)目增加,四種算法的分類效果均下降,其中支持向量機(jī)下降最快,在噪聲變量與差異變量數(shù)目相差比較大的情況,HingeBoost算法抗噪聲能力明顯優(yōu)于其他算法。 為研究HingeBoost算法對(duì)實(shí)際代謝組學(xué)數(shù)據(jù)的預(yù)測(cè)分類效果,選取同一批次檢測(cè)的正離子和負(fù)離子兩種模式下卵巢癌(惡性腫瘤)患者和卵巢囊腫(良性腫瘤)患者的血漿代謝組學(xué)數(shù)據(jù)進(jìn)行分析。該數(shù)據(jù)共包含298例樣本,其中卵巢癌患者140例,卵巢囊腫患者158例。正離子模式數(shù)據(jù)經(jīng)數(shù)據(jù)預(yù)處理后含2106個(gè)分析變量,負(fù)離子模式數(shù)據(jù)經(jīng)數(shù)據(jù)預(yù)處理后含1827個(gè)分析變量。 利用無放回的隨機(jī)抽樣方法,將樣本分為訓(xùn)練集和測(cè)試集兩部分,其中從每組中各抽取80例樣本構(gòu)成訓(xùn)練集,余下138例樣本作為測(cè)試集。設(shè)定種子數(shù)后,按此方法重復(fù)100次,隨機(jī)組成100個(gè)訓(xùn)練集和測(cè)試集,用HingeBoost算法(α=0.5、α=0.2和α=0.8)、AdaBoost算法、支持向量機(jī)和隨機(jī)森林四種方法對(duì)訓(xùn)練集建立模型,并對(duì)測(cè)試集進(jìn)行分類,再根據(jù)這100次的平均結(jié)果評(píng)價(jià)模型預(yù)測(cè)效果。 根據(jù)真實(shí)標(biāo)簽與各模型對(duì)測(cè)試集中每個(gè)樣本的分類概率或得分,可以計(jì)算出相應(yīng)的ROC曲線下面積(AUC);根據(jù)真實(shí)標(biāo)簽與測(cè)試集的分類結(jié)果比較得出每個(gè)模型預(yù)測(cè)的靈敏度(Se)、特異度(Sp)和錯(cuò)誤率(Error)。正離子、負(fù)離子模式數(shù)據(jù)分析結(jié)果見表3、表4,四種模型預(yù)測(cè)效果的平均AUC值比較見圖3、圖4。 可以看出,對(duì)正離子模式代謝組學(xué)數(shù)據(jù),HingeBoost算法(α=0.5)得出的AUC值略低于AdaBoost算法,高于隨機(jī)森林和支持向量機(jī);而在負(fù)離子模式代謝組學(xué)數(shù)據(jù)中,HingeBoost算法(α=0.5)得出的AUC值均優(yōu)于其他三種算法。兩個(gè)真實(shí)數(shù)據(jù)結(jié)果均顯示,在將HingeBoost模型內(nèi)部參數(shù)由0.5調(diào)整為0.2后,靈敏度增大、特異度減小,假陰性率降低;由0.5調(diào)整為0.8后,靈敏度減小、特異度增大,假陽性率降低。 2.模擬試驗(yàn)結(jié)果表明,調(diào)整HingeBoost算法內(nèi)部參數(shù),整體判別效果(AUC)基本不改變,但可以影響α對(duì)樣本的分類預(yù)測(cè),α>0.5時(shí)側(cè)重于提高特異度,α<0.5時(shí)側(cè)重于提高靈敏度。實(shí)際中可以根據(jù)需要對(duì)α進(jìn)行設(shè)定,如篩檢試驗(yàn)更注重靈敏度,應(yīng)該選擇較小的α值;如臨床診斷試驗(yàn)可能更注重特異度,則需要選擇較大的α值。 3.模擬試驗(yàn)結(jié)果表明,HingeBoost建模分類的效果不亞于支持向量機(jī)、隨機(jī)森林和AdaBoost算法,特別是在高維數(shù)據(jù)中建模預(yù)測(cè)的可行性,同時(shí)也顯示出了這種新的算法在抗噪特性方面優(yōu)于其他三種算法。 4.實(shí)例分析結(jié)果顯示,HingeBoost算法應(yīng)用于真實(shí)腫瘤代謝組學(xué)數(shù)據(jù)中具有良好的分類效果,總體上優(yōu)于隨機(jī)森林、支持向量機(jī)算法,與AdaBoost算法的結(jié)果相近。根據(jù)實(shí)際研究需要,調(diào)整HingeBoost模型內(nèi)部參數(shù)α值,可以達(dá)到提高靈敏度或特異度的目的。 最后,本文模擬試驗(yàn)和實(shí)例分析均在R中實(shí)現(xiàn),其中HingeBoost算法由bst程序包實(shí)現(xiàn),AdaBoost算法由ada程序包實(shí)現(xiàn),支持向量機(jī)由e1071程序包實(shí)現(xiàn),隨機(jī)森林由randomForest程序包實(shí)現(xiàn)。 [1]Wang Z.HingeBoost:ROC-based boost for classification and variable selection.Int J Biostat,2011,7(1):1-30. [2]章光明,劉晉,賈慧珣,等.隨機(jī)梯度boosting算法在代謝組學(xué)研究中的應(yīng)用.中國衛(wèi)生統(tǒng)計(jì),2013,30(3):323-326. [3]武振宇,賈慧珣,朱驥.Boosting算法對(duì)卵巢癌代謝組數(shù)據(jù)的應(yīng)用研究.中國衛(wèi)生統(tǒng)計(jì),2012,29(6):786-789. [4]孫正雅,陶卿.統(tǒng)計(jì)機(jī)器學(xué)習(xí)—損失函數(shù)與優(yōu)化求解.中國計(jì)算機(jī)學(xué)會(huì)通訊,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. (責(zé)任編輯:郭海強(qiáng)) 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 *:高等學(xué)校博士學(xué)科專項(xiàng)基金(2012230711004);國家自然科學(xué)基金資助(81172767) △ 通信作者:李康,E-mail:likang@ems.hrbmu.edu.cn模擬試驗(yàn)
實(shí)例分析
討 論