• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于錯分代價的HingeBoost算法在高維數(shù)據(jù)判別分析中的應(yīng)用*

      2015-01-27 10:31:04李海龍
      中國衛(wèi)生統(tǒng)計 2015年3期
      關(guān)鍵詞:代價組學(xué)損失

      郭 冰 李海龍 侯 艷 李 康

      哈爾濱醫(yī)科大學(xué)衛(wèi)生統(tǒng)計學(xué)教研室(150081)

      基于錯分代價的HingeBoost算法在高維數(shù)據(jù)判別分析中的應(yīng)用*

      郭 冰 李海龍 侯 艷 李 康△

      哈爾濱醫(yī)科大學(xué)衛(wèi)生統(tǒng)計學(xué)教研室(150081)

      目的 探討基于錯分代價的HingeBoost算法在二分類高維數(shù)據(jù)中分類判別的效果。方法 通過模擬試驗和實際代謝組學(xué)數(shù)據(jù)分析,對HingeBoost算法、AdaBoost算法、支持向量機、隨機森林四種方法進行比較,并用ROC曲線下面積、靈敏度、特異度和錯誤率評價。結(jié)果 模擬試驗和真實代謝組數(shù)據(jù)分析顯示,HingeBoost算法內(nèi)部參數(shù)錯分代價能影響分類結(jié)果的判別,在線性結(jié)構(gòu)、同時存在大量噪聲變量時分類效果優(yōu)于其他三種算法。結(jié)論 HingeBoost算法將錯分代價引入模型,達到減少假陽性錯誤或假陰性錯誤的目的,同時有很強的抗噪聲能力,適用于高維代謝組學(xué)數(shù)據(jù)分析,值得進一步研究。

      HingeBoost 高維組學(xué) 分類判別 不等錯分代價

      針對高維組學(xué)數(shù)據(jù),目前常用的分析方法有隨機森林、支持向量機、偏最小二乘法等機器學(xué)習(xí)方法。這些方法有一個共同特點是,在建模時將兩類錯分代價視為相同,而在實際中并不如此,如在篩檢試驗中,假陰性錯誤的代價高于假陽性錯誤,而在診斷試驗中則相反。如何在考慮錯分代價時,建立合適的分類模型,是一個值得研究的問題。HingeBoost算法是一種新的算法,這種方法能夠在建模之前設(shè)定各類別的錯分代價,將其納入模型,并在考慮了錯分代價情況下優(yōu)化ROC曲線下面積(AUC)。HingeBoost算法沿用了Boosting的迭代思想,將支持向量機中的hinge損失函數(shù)引用到迭代過程中,通過擬合函數(shù)梯度下降以優(yōu)化AUC值,可看作是Boosting算法和支持向量機的結(jié)合。本文在介紹HingeBoost算法的原理基礎(chǔ)上,通過模擬試驗和實例分析,比較HingeBoost算法與其他常用分析方法對代謝組學(xué)數(shù)據(jù)的判別效果。

      HingeBoost算法原理

      1.hinge損失函數(shù)

      損失函數(shù),或稱代價函數(shù),是在統(tǒng)計學(xué)、決策理論及機器學(xué)習(xí)中,將一個或多個變量的值直接映射到代表與之相關(guān)代價的實數(shù)上的函數(shù)。如0-1型損失函數(shù),其策略是極小化誤分的樣本數(shù),當樣本分類正確時,損失函數(shù)的值定義為0;當樣本分類錯誤時,損失函數(shù)的值定義為1。在構(gòu)造模型時,按照損失函數(shù)梯度下降方向來逐步建立模型,最終得到使損失函數(shù)值達到最小的模型參數(shù),即可得到最優(yōu)模型。

      由于0-1型損失函數(shù)不是分離超平面參數(shù)的連續(xù)可導(dǎo)函數(shù),不易于直接優(yōu)化求解和實際運用,因此常用高階可微的損失函數(shù)來替代0-1型損失函數(shù),稱為代理損失函數(shù),如hinge損失、指數(shù)損失、最小二乘損失。hinge損失函數(shù)形式如下:

      Lh(y,f(X))=max(0,1-yf(x))

      (1)

      其中y表示真實標簽,f(X)表示預(yù)測函數(shù),max()函數(shù)表示返回最大值。

      HingeBoost算法采用加權(quán)hinge損失函數(shù),即在hinge損失函數(shù)基礎(chǔ)上,給予類別間的錯分代價,即

      (2)

      α表示假陽性錯誤的代價,1-α表示假陰性錯誤的代價,α∈(0,1)。代價敏感hinge損失函數(shù)的形式如下:

      L(y,f,α)=l(y)Lh(y,f)

      (3)

      2.HingeBoost算法

      HingeBoost算法思想是進行多次迭代,每次迭代的基礎(chǔ)學(xué)習(xí)器沿損失函數(shù)梯度下降方向進行擬合,梯度下降方向則是根據(jù)上一次迭代的基礎(chǔ)學(xué)習(xí)器對訓(xùn)練集判別后計算得出,從而在每次迭代中都能使待優(yōu)化的目標函數(shù)沿損失函數(shù)梯度下降方向逐漸優(yōu)化。HingeBoost算法具體過程如下:

      (2) 在第m次迭代中:

      ① 將殘差Ui,m定義為損失函數(shù)的梯度下降方向,

      (4)

      ② 以殘差Um為應(yīng)變量,以X為自變量擬合基礎(chǔ)學(xué)習(xí)器g(Um,X(1)),

      (5)

      ③ 更新預(yù)測函數(shù):

      (6)

      其中,v表示給定的學(xué)習(xí)率(即收縮參數(shù)),0

      3.基礎(chǔ)學(xué)習(xí)器

      HingeBoost算法可以與多種基礎(chǔ)學(xué)習(xí)器結(jié)合,如線性最小二乘、P樣條函數(shù)、決策樹等,因此算法可以靈活地對不同類型數(shù)據(jù)結(jié)構(gòu)建模,本文采用基于線性最小二乘的基礎(chǔ)學(xué)習(xí)器,即

      (7)

      4.調(diào)整參數(shù)

      在建立HingeBoost模型時,應(yīng)選擇恰當?shù)牡螖?shù),使模型充分擬合數(shù)據(jù),同時防止過擬合,為此可以用交叉驗證方法找到使hinge損失最小的迭代次數(shù),即

      (8)

      式中,M0是一個預(yù)先設(shè)定好足夠大的迭代次數(shù)。

      模擬試驗

      本部分模擬試驗旨在考察錯分代價(α值)對模型預(yù)測結(jié)果的影響,以及在多種模擬數(shù)據(jù)條件下HingeBoost算法與AdaBoost算法、支持向量機(SVM)、隨機森林(RF)進行比較。

      (1)模擬數(shù)據(jù)

      設(shè)定10個服從正態(tài)分布的差異變量,方差為1,兩類間真實區(qū)分度用ROC曲線下面積AUC表示,分為0.95和0.85兩種情況,樣本量為100,即兩類各50例。為了接近代謝組學(xué)數(shù)據(jù)結(jié)構(gòu),噪聲變量來自于真實的代謝組學(xué)數(shù)據(jù),產(chǎn)生方法是將包含動脈粥樣硬化患者和健康對照者的代謝組學(xué)數(shù)據(jù)打亂標簽后,再從中隨機抽取500、1000、2000個變量,作為干擾變量。另外,產(chǎn)生100例模擬數(shù)據(jù),并隨機抽取100例打亂標簽的實際數(shù)據(jù),合并在一起作為測試數(shù)據(jù)。上述過程重復(fù)100次。

      (2)試驗結(jié)果

      表1、表2給出了在α取值為0.2、0.5、0.8三種情況下,HingeBoost算法建模預(yù)測效果。由結(jié)果看出,隨著α由0.2增大到0.8,靈敏度(Se)升高,特異度(Sp)降低,AUC和錯誤率(Error)在三種條件下稍有波動,但變化不明顯。

      對上述模擬數(shù)據(jù),分別用四種算法對它們進行建模學(xué)習(xí)和預(yù)測分類,其中HingeBoost選擇α=0.5時的模型。每一次分類后,各算法得出ROC曲線下面積AUC值,其值越接近1表示分類效果越好。四種算法建模預(yù)測的AUC結(jié)果見圖1和圖2。

      由結(jié)果看出,不同區(qū)分度(θ)和不同噪聲數(shù)目情況下,HingeBoost算法對測試數(shù)據(jù)分類的AUC值更接近真實區(qū)分度,說明在設(shè)定的模擬條件下,其分類效果優(yōu)于其他三種算法。同時看出,隨著噪聲變量數(shù)目增加,四種算法的分類效果均下降,其中支持向量機下降最快,在噪聲變量與差異變量數(shù)目相差比較大的情況,HingeBoost算法抗噪聲能力明顯優(yōu)于其他算法。

      實例分析

      為研究HingeBoost算法對實際代謝組學(xué)數(shù)據(jù)的預(yù)測分類效果,選取同一批次檢測的正離子和負離子兩種模式下卵巢癌(惡性腫瘤)患者和卵巢囊腫(良性腫瘤)患者的血漿代謝組學(xué)數(shù)據(jù)進行分析。該數(shù)據(jù)共包含298例樣本,其中卵巢癌患者140例,卵巢囊腫患者158例。正離子模式數(shù)據(jù)經(jīng)數(shù)據(jù)預(yù)處理后含2106個分析變量,負離子模式數(shù)據(jù)經(jīng)數(shù)據(jù)預(yù)處理后含1827個分析變量。

      利用無放回的隨機抽樣方法,將樣本分為訓(xùn)練集和測試集兩部分,其中從每組中各抽取80例樣本構(gòu)成訓(xùn)練集,余下138例樣本作為測試集。設(shè)定種子數(shù)后,按此方法重復(fù)100次,隨機組成100個訓(xùn)練集和測試集,用HingeBoost算法(α=0.5、α=0.2和α=0.8)、AdaBoost算法、支持向量機和隨機森林四種方法對訓(xùn)練集建立模型,并對測試集進行分類,再根據(jù)這100次的平均結(jié)果評價模型預(yù)測效果。

      根據(jù)真實標簽與各模型對測試集中每個樣本的分類概率或得分,可以計算出相應(yīng)的ROC曲線下面積(AUC);根據(jù)真實標簽與測試集的分類結(jié)果比較得出每個模型預(yù)測的靈敏度(Se)、特異度(Sp)和錯誤率(Error)。正離子、負離子模式數(shù)據(jù)分析結(jié)果見表3、表4,四種模型預(yù)測效果的平均AUC值比較見圖3、圖4。

      可以看出,對正離子模式代謝組學(xué)數(shù)據(jù),HingeBoost算法(α=0.5)得出的AUC值略低于AdaBoost算法,高于隨機森林和支持向量機;而在負離子模式代謝組學(xué)數(shù)據(jù)中,HingeBoost算法(α=0.5)得出的AUC值均優(yōu)于其他三種算法。兩個真實數(shù)據(jù)結(jié)果均顯示,在將HingeBoost模型內(nèi)部參數(shù)由0.5調(diào)整為0.2后,靈敏度增大、特異度減小,假陰性率降低;由0.5調(diào)整為0.8后,靈敏度減小、特異度增大,假陽性率降低。

      討 論

      2.模擬試驗結(jié)果表明,調(diào)整HingeBoost算法內(nèi)部參數(shù),整體判別效果(AUC)基本不改變,但可以影響α對樣本的分類預(yù)測,α>0.5時側(cè)重于提高特異度,α<0.5時側(cè)重于提高靈敏度。實際中可以根據(jù)需要對α進行設(shè)定,如篩檢試驗更注重靈敏度,應(yīng)該選擇較小的α值;如臨床診斷試驗可能更注重特異度,則需要選擇較大的α值。

      3.模擬試驗結(jié)果表明,HingeBoost建模分類的效果不亞于支持向量機、隨機森林和AdaBoost算法,特別是在高維數(shù)據(jù)中建模預(yù)測的可行性,同時也顯示出了這種新的算法在抗噪特性方面優(yōu)于其他三種算法。

      4.實例分析結(jié)果顯示,HingeBoost算法應(yīng)用于真實腫瘤代謝組學(xué)數(shù)據(jù)中具有良好的分類效果,總體上優(yōu)于隨機森林、支持向量機算法,與AdaBoost算法的結(jié)果相近。根據(jù)實際研究需要,調(diào)整HingeBoost模型內(nèi)部參數(shù)α值,可以達到提高靈敏度或特異度的目的。

      最后,本文模擬試驗和實例分析均在R中實現(xiàn),其中HingeBoost算法由bst程序包實現(xiàn),AdaBoost算法由ada程序包實現(xiàn),支持向量機由e1071程序包實現(xiàn),隨機森林由randomForest程序包實現(xiàn)。

      [1]Wang Z.HingeBoost:ROC-based boost for classification and variable selection.Int J Biostat,2011,7(1):1-30.

      [2]章光明,劉晉,賈慧珣,等.隨機梯度boosting算法在代謝組學(xué)研究中的應(yīng)用.中國衛(wèi)生統(tǒng)計,2013,30(3):323-326.

      [3]武振宇,賈慧珣,朱驥.Boosting算法對卵巢癌代謝組數(shù)據(jù)的應(yīng)用研究.中國衛(wèi)生統(tǒng)計,2012,29(6):786-789.

      [4]孫正雅,陶卿.統(tǒng)計機器學(xué)習(xí)—損失函數(shù)與優(yōu)化求解.中國計算機學(xué)會通訊,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é)任編輯:郭海強)

      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é)科專項基金(2012230711004);國家自然科學(xué)基金資助(81172767)

      △ 通信作者:李康,E-mail:likang@ems.hrbmu.edu.cn

      猜你喜歡
      代價組學(xué)損失
      少問一句,損失千金
      胖胖損失了多少元
      口腔代謝組學(xué)研究
      玉米抽穗前倒伏怎么辦?怎么減少損失?
      基于UHPLC-Q-TOF/MS的歸身和歸尾補血機制的代謝組學(xué)初步研究
      愛的代價
      海峽姐妹(2017年12期)2018-01-31 02:12:22
      代價
      一般自由碰撞的最大動能損失
      代謝組學(xué)在多囊卵巢綜合征中的應(yīng)用
      成熟的代價
      恩施市| 宣威市| 新巴尔虎右旗| 克东县| 合作市| 寿阳县| 白玉县| 盐津县| 延庆县| 平顶山市| 洛浦县| 衡水市| 大安市| 通化县| 东方市| 安溪县| 贵德县| 恭城| 宝兴县| 灯塔市| 洪江市| 亳州市| 昂仁县| 榆社县| 民权县| 砚山县| 南漳县| 千阳县| 轮台县| 同仁县| 甘德县| 沛县| 永寿县| 兴国县| 九台市| 阳原县| 旺苍县| 莱阳市| 于都县| 壤塘县| 桐柏县|