郭玉萱 阮春陽 王 曄 張彥春
1(復旦大學計算機科學技術(shù)學院 上海 201203)2(維多利亞大學可持續(xù)工業(yè)與宜居城市研究所 澳大利亞 墨爾本 8001)
隨著新藥的開發(fā)和應(yīng)用,藥源性肝損傷在臨床實踐中越來越普遍。中草藥的廣泛使用已成為藥源性肝損傷的主要成因之一,受到醫(yī)療工作者廣泛關(guān)注[1-3]。肝臟是藥物代謝的主要器官,特別容易受到藥物傷害。統(tǒng)計顯示,藥源性肝損傷約占藥物不良反應(yīng)的10%~15%,在老年人群體中占比甚至超過了20%。隨著藥源性肝損傷病例的增加,安全用藥和肝損傷的治療得到了越來越多的關(guān)注。近年來,傳統(tǒng)草藥所致肝損傷的病例有明顯增加的趨勢。統(tǒng)計顯示,有100多種傳統(tǒng)草藥[4]和105種中成藥[5]被發(fā)現(xiàn)有肝毒性。然而,由于草藥成分的復雜性,制備方法的多樣性以及缺乏對草藥致病性的研究,診斷草藥誘發(fā)的肝損傷仍然是一項挑戰(zhàn)。
通過案例研究和實驗分析,研究人員已經(jīng)能夠鑒別出一些與肝臟不良反應(yīng)有關(guān)的藥物[6]。很多有關(guān)草藥誘發(fā)肝損傷的研究集中在有機成分上。例如,澳大利亞的治療用品管理局(TGA)提出[7],蒽醌類成分可引起何首烏不良反應(yīng),對大黃成分的研究表明游離和結(jié)合的蒽醌可能具有肝毒性。當然,傳統(tǒng)草藥中的微量元素在肝損傷中也起著重要作用。秦的團隊[8]著重回顧了近30年來中藥和微量元素的研究成果。通過元素測定,探討了微量元素與中藥療效的辯證關(guān)系,并比較了中藥與食品中微量元素的含量。他們總結(jié)出微量元素是傳統(tǒng)草藥中有效成分的核心成分。配位化學理論[9]的提出,強調(diào)了有機分子和微量元素的配合物也是草藥中重要的有效成分。微量元素在人體新陳代謝和健康中發(fā)揮著至關(guān)重要的作用[10]。通過成分分析來研究中草藥的肝毒性機制是非常有意義的。
事實上,從大量傳統(tǒng)中藥中尋找肝毒性藥草是一項艱巨任務(wù)?!吨腥A本草》中有記載的傳統(tǒng)草藥多達8 980種。2015版《中國藥典》一部共記錄2 598份傳統(tǒng)草藥的成分和處方,而臨床統(tǒng)計僅有100多種中草藥具有肝毒性。數(shù)據(jù)不平衡會增加草藥識別和分類的難度。也就是說,分類過程將嚴重偏向大多數(shù)類別的樣本。本文使用的數(shù)據(jù)集也具有類別不平衡的特征。在103種中藥的樣品中,只有21種已知會引起肝損傷。為了解決這種不平衡中藥鑒別分類問題,我們提出了一種基于權(quán)重的過采樣方法與兩種集成學習相結(jié)合來提高分類效果。
具體來說,這項工作的突出貢獻總結(jié)如下。
1) 提出了一種新的加權(quán)過采樣技術(shù),通過特征權(quán)重優(yōu)化來處理不平衡數(shù)據(jù)集。通過優(yōu)化特征權(quán)重的方法生成的新樣本會更多強調(diào)少數(shù)類所包含的信息。從而保證這些新樣本在訓練過程中更具有代表性,在解決不平衡分類問題上取得更好的性能。
2) 基于Bagging和Boosting元算法,結(jié)合加權(quán)過采樣模式開發(fā)了兩種新的集成學習算法。
3) 設(shè)置對照實驗,評估所提出的方法在鑒定肝毒性草藥中的表現(xiàn)。我們采用幾種評估方法將我們提出的算法與現(xiàn)有分類算法進行比較,并證明我們的方法在處理不平衡問題時的有效性。
在現(xiàn)實世界中,樣本分布通常是不平衡的,這給機器學習帶來了巨大的挑戰(zhàn)。實際上,很難準確地將真正問題中的少數(shù)民族確定和分類。但是,如果我們必須關(guān)注這些少數(shù)民族樣本,可能會造成很大的損失。這種失衡問題在金融欺詐檢測、語音處理、信息檢索、醫(yī)療診斷等許多領(lǐng)域都很普遍。
現(xiàn)有的解決不平衡數(shù)據(jù)分類問題的方法可以主要分為兩類[11-12]:基于數(shù)據(jù)的和基于算法的。前者的目標是通過創(chuàng)建新樣本或二次取樣來平衡樣本的分布。隨機欠采樣和ENN是兩種欠采樣方法,它們通過從多數(shù)類中減去樣本來平衡不同類別的數(shù)據(jù)。合成少數(shù)類過采樣技術(shù)(SMOTE)是一種典型的過采樣方法?;谒惴ㄒ暯侵饕菑姆诸惼鲀?yōu)化的角度出發(fā)??梢酝ㄟ^增加錯誤分類的成本來增強分類模型,例如成本敏感學習、集成學習、級聯(lián)分類模型。此外,還可以使用更全面的績效評估標準來約束模型的有效性。
SMOTE[13]是解決數(shù)據(jù)不平衡問題的流行和有效的過采樣方法。該算法依據(jù)少數(shù)類樣本及其最近鄰居產(chǎn)生了新的合成樣本,以達到過采樣的目的。具體而言,對于少數(shù)類Cmin,考慮每個少數(shù)類樣本Xi的K個最近鄰居(通常設(shè)置為5)。兩個樣本之間的相似性衡量:
(1)
式中:X=(x1,x2,…,xm)和Y=(y1,y2,…,ym)表示兩個樣本,m是樣本特征的數(shù)量。Wi表示第i個特征的權(quán)重,通常設(shè)置為1。定義新的合成樣本為:
(2)
集成學習是通過多個模型(分類器)組合來解決特定機器學習問題的過程。使用一系列分類器進行學習,并通過某種規(guī)則將各個分類器的學習結(jié)果整合起來得到比單個分類器更好的學習結(jié)果。主要的集成學習思想有Bagging和Boosting。
Bagging即Bootstrap Aggregating,是一種最簡單的基于集合的算法。其中bootstrap是一種有放回的抽樣方法。在該算法中,不同的分類器用不同的訓練數(shù)據(jù)子集進行多次訓練,這些訓練數(shù)據(jù)子集是從整個訓練集中隨機選擇的。常用的基于bagging思想的算法有隨機森林算法。它使用隨機重采樣和隨機節(jié)點分割技術(shù)構(gòu)造多個決策樹。這些基本決策樹的分類結(jié)果并不理想。但是,通過使用集體投票,最終可以建立具有更好泛化能力的分類器。其計算公式為:
(3)
式中:f(x;Li),i=1,2,…,N是一個基分類器,Li表示的是該分類器使用的訓練器,它是初始樣本集D的一個子集,即Li∈D。
Boosting是一個串行迭代過程,它更多地關(guān)注錯誤分類的樣本,通過改變樣本分布來增加這些數(shù)據(jù)的權(quán)重。AdaBoost和Gradient Boosting Decision Tree算法都基于Boosting思想?;続daBoost是針對二分類問題的。首先,將所有訓練樣本的權(quán)值初始化為1/N,然后調(diào)用弱分類器進行T輪迭代,每一次訓練都依據(jù)分類結(jié)果更新訓練樣本的權(quán)值,對錯分樣本給予更高的權(quán)重。每一次迭代都會得到一個預(yù)測函數(shù)ft,每一個預(yù)測函數(shù)也會根據(jù)其預(yù)測精度賦予一個權(quán)值αt,最終的分類結(jié)果為迭代產(chǎn)生的函數(shù)序列的加權(quán)組合:
(4)
在這項工作中,具有肝毒性的草藥屬于少數(shù)類Pos,而其他草藥屬于多數(shù)類Neg,有|Pos|<<|Neg|。我們希望使用這些標記來尋找肝毒性藥物分類的可靠標準。為了解決這個問題,我們提出了一種基于權(quán)值的過采樣分類方法,以提高過采樣過程的有效性,并提高分類的準確性。
該算法可以自動學習和修改特征的權(quán)重,并生成新的樣本添加到原來的數(shù)據(jù)集中。特征權(quán)重根據(jù)分類錯誤率計算:
(5)
(6)
式中:NPos和NNeg是數(shù)據(jù)集中正數(shù)和負數(shù)樣本的數(shù)量。這些特征的權(quán)重將用于計算K近鄰并根據(jù)等式(1,2)合成新樣本。
我們將基于權(quán)重的過采樣方法與Bagging進程集成為新的自適應(yīng)過采樣分類算法:WSMOTE_Bagging。它需要進行T輪迭代。在第t輪中,通過使用提出的過采樣方法來修改樣本分布Dt。然后基本分類器fm在經(jīng)過處理的新數(shù)據(jù)集上進行訓練。每個特征的權(quán)重是基于分類器fm計算的。最后,所有基本分類器被組合成集合分類器Hm。算法步驟如下:
Step 1:參數(shù)初始化,t=0;
Step 2:隨機抽取N個訓練集子集;
Step 4:對所有過采樣處理的子集進行學習,得到基分類器序列{f1,f2,…,fN},根據(jù)式(3)獲得最終集成分類結(jié)果Ht。
Step 5:根據(jù)式(5)、式(6)計算特征權(quán)重Wi,并對現(xiàn)有的特征權(quán)值進行更新;
Step 6:t←t+1;
若t≥T,則退出循環(huán)至Step 7;
否則,轉(zhuǎn)至Step 2;
Step 7:輸出集成分類器HT。
WSMOTE_Boosting基于通常使用的boosting方法。與上面的算法最大的不同在于它的基分類器是串行生成的。在這個算法中,我們也對分類器訓練進行T輪迭代。在每一輪中,使用具有不同權(quán)值分布的樣本集來進行學習并構(gòu)建一個分類器。每次迭代結(jié)束都會更改樣本權(quán)重。將所有這些基分類器最終組合起來。在整個迭代的過程中,需要即時改變的有特征權(quán)值、樣本權(quán)值以及分類器權(quán)值。算法步驟如下:
Step 1:參數(shù)初始化,t=0;
Step 2:根據(jù)式(1)、式(2)和過采樣率R,合成新的樣本,構(gòu)建新的訓練集D′;
Step 3:對D′進行學習,得到基分類器ft;
Step 4:根據(jù)下式計算基分類器ft的權(quán)值:
(7)
(8)
Step 5:根據(jù)式(5)、式(6)計算特征權(quán)重,并對現(xiàn)有的特征權(quán)值進行更新;
Step 6:根據(jù)下式計算樣本權(quán)值并修改:
(9)
Step 7:t←t+1
若t≥T,則退出循環(huán)至Step 8;
否則,轉(zhuǎn)至Step 2;
Step 8:根據(jù)式(4)計算得出最終的分類器,并輸出結(jié)果。
該數(shù)據(jù)庫由維多利亞大學工程與科學學院提供[14]。他們從當?shù)氐乃幍旰痛髮W獲得191種常用藥材。所有這些材料都經(jīng)過良好的加工、儲存。使用電感耦合等離子體光譜法(ICP)來確定這103個樣品中24種元素成分總含量和生物可利用含量,包括了常量元素(K、Na、Ca和Mg),微量元素(Fe、Cu、Zn、Mn、Mo、Se、Cr和Co),痕量元素(Sn、Ni、V、Li和Bi)及有害元素(Pb、As、Cd、Hg、Al、Sb和Ba)。
收集整理了傳統(tǒng)藥材致肝損傷的相關(guān)文獻,并在上海中醫(yī)藥大學基礎(chǔ)醫(yī)學院的幫助下,對103種中藥進行了標記。其中有21種草藥被標記為具有肝毒性的藥物(正樣本)。
在本文中,我們使用F-score、G-mean和AUC作為績效評估指標。F-score和G-mean定義如下:
式中:acc+為真“正類”率,acc-為真“負類”率,Precision和Recall則分別代表查準率和查全率。F-score和G-mean是兩項綜合性的評價指標,在評價不平衡分類問題時更具有代表性。
AUC也是衡量不平衡問題的一個可靠性能指標。對于二元分類問題,ROC曲線(Receiver Operator Characteristic curve)是一個綜合評估指標,該曲線中的所有點都反映了相同的敏感度。它使用分類性能(fpr,tpr)對;其中fpr是假陽性率(FP/(FP+TN)),tpr是真陽性率(TP/(TP+FN))。AUC是指ROC曲線下方的面積。
本文設(shè)置了幾組對照實驗來評估提出方法的有效性,并對上述數(shù)據(jù)集進行了測試;通過10折交叉驗證來重復試驗。實驗首先對ROS、SMOTE和WSMOTE在不同過采樣率上的分類表現(xiàn)進行評價,然后對比了RF、Adaboost、SMOTEboost[15]、WSMOTE_Bagging、WSMOTE_Boosting幾種分類算法在3.2節(jié)提到的評價指標上的表現(xiàn)。
眾所周知,不同的過采樣比率可能會影響過采樣方法的魯棒性,并且最優(yōu)過采樣比率是不可知的。我們系統(tǒng)地分析不同比率的各種抽樣技術(shù),并通過F-score和G-mean評估有效性。過采樣率R在[50%,200%]的范圍內(nèi)變化。當R為200%時,此時訓練集中的正樣本與負樣本比例近似為1。從表1和表2可知,WSMOTE在多種過采樣比條件下均比其他方法獲得更好的分類效果。
表1 三種過采樣方法在不同采樣率下的G-mean對比值
表3列出了召回率、F值、G均值和AUC方面的結(jié)果。實驗結(jié)果顯示,相比于RF和Adaboost兩種分類算法,過采樣處理能夠提高不平衡分類問題的準確度。與其他方法相比,將WSMOTE與Boosting算法相結(jié)合可獲得最好的分類效果。這意味著使用自適應(yīng)特征權(quán)重計算可以通過關(guān)注少數(shù)類中錯誤分類的例子來提高分類器的性能。
表3 五種分類算法在過采樣率為200%時的分類結(jié)果比較
SMOTEBoost、WSMOTE_Bagging以及WSMOTE_Boosting這三種方法在不同過采樣率下的ROC曲線如圖1至圖3所示。
圖1 過采樣率為50%時三種算法的ROC曲線
圖2 過采樣率為100%時三種算法的ROC曲線
圖3 過采樣率為200%時三種算法的ROC曲線
綜合上述實驗結(jié)果,基于權(quán)值的過采樣分類算法可以很好地處理中藥肝損傷檢測中的非平衡分類問題,尤其是對少數(shù)類的樣本的鑒別能力。
中藥肝毒性的準確檢測是非常有價值的。本文以草藥中微量元素含量為特征進行分類分析,提出了一種新的基于權(quán)重的過采樣分類算法來解決不平衡問題。在實驗中,我們比較了我們的方法和傳統(tǒng)分類算法的性能。實驗表明,WSMOTE_Boosting算法比其他算法具有更好的分類性能。它可以有效地處理不平衡分類問題;為進一步研究草藥與藥源性肝損傷之間的關(guān)系提供指導。
在今后的工作中,我們計劃獲取更多的草藥微量元素數(shù)據(jù)作進一步研究,并改進我們的分類模型。還將研究相容的藥物和復雜的藥物制劑。