王江翔, 肖清泉
(貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院, 貴陽 550025)
國內(nèi)人口的乳腺癌發(fā)病率不容小覷,平均每年有大約30 萬的女性乳腺癌患者和少數(shù)男性患者[1]。乳腺癌是乳腺上皮細(xì)胞在多種因素作用下,發(fā)生增殖失控的現(xiàn)象。 患者早期的癥狀為乳房腫塊、乳頭溢液、腋窩淋巴結(jié)腫大等癥狀,晚期可能發(fā)生癌細(xì)胞擴(kuò)散轉(zhuǎn)移,感染其他器官,直接威脅患者的生命。 隨著醫(yī)療新興技術(shù)的出現(xiàn)與發(fā)展,全球乳腺癌的發(fā)病率得到了初步的控制,但是乳腺癌發(fā)病機(jī)制和抗乳腺癌藥物的關(guān)系依然是近年來研究的重點(diǎn)和難題。目前,在藥物研發(fā)中,為了節(jié)約時(shí)間和成本,通常采用建立化合物活性預(yù)測模型的方法來篩選潛在活性化合物。
本文針對傳統(tǒng)的回歸預(yù)測模型對化合物活性預(yù)測的效果較差的問題,采用粒子群算法分別對4 種傳統(tǒng)預(yù)測模型進(jìn)行優(yōu)化。 通過對比分析模型優(yōu)化前后的均方誤差、平均絕對誤差等指標(biāo),驗(yàn)證了粒子群算法帶來的模型預(yù)測性能的提升,可為回歸預(yù)測模型的優(yōu)化提供思路。
本文采用粒子群算法分別改進(jìn)了SVR 算法、Random Forest 算法、XGBoost 算法和LightGBM 模型,用于構(gòu)建生物活性的定量預(yù)測模型。 同時(shí),以驗(yàn)證集MSE、MAE、擬合度作為評價(jià)指標(biāo),對比分析各個(gè)模型的預(yù)測效果,以驗(yàn)證所改進(jìn)模型的性能。 具體流程如圖1 所示。
圖1 整體設(shè)計(jì)流程圖Fig. 1 Overall design flow chart
粒子群算法[2]來自對鳥群捕食行為的研究,通過群體中個(gè)體之間的協(xié)作和信息共享來尋找最優(yōu)解,該方法簡單、且易于實(shí)現(xiàn)。 粒子群算法中每個(gè)粒子都關(guān)注2 個(gè)點(diǎn)—位置和速度,在尋找到自己的最優(yōu)位置和速度時(shí),將其與種群中的其它粒子進(jìn)行信息共享,其它粒子共享到信息后會(huì)以此調(diào)整自身的最優(yōu)位置與速度。 這樣隨著越來越多的位置與速度信息的出現(xiàn),就能通過計(jì)算得到一個(gè)全局最優(yōu)解。
其中,相較于位置屬性,粒子對速度屬性更加依賴,粒子根據(jù)自身前一時(shí)刻的速度來思考自身能夠到達(dá)的位置,c1就是調(diào)節(jié)此次位移的步長,c2調(diào)節(jié)粒子靠近群體的位置的步長。
支持向量回歸(SVR)模型[3]是以支持向量機(jī)(SVM)為基礎(chǔ)的,兩者間的區(qū)別在于SVR 是使得最遠(yuǎn)距離的樣本點(diǎn)盡量靠近擬合線,SVM 是使得最近距離的樣本點(diǎn)盡量疏遠(yuǎn)擬合線。 SVR 和SVM 對比示意如圖2 所示。
圖2 SVR 與SVM 對比示意圖Fig. 2 Schematic diagram of the comparison between SVR and SVM
SVR 模型將變量的輸入映射到特征空間,使得非線性的數(shù)據(jù)可以通過回歸進(jìn)行線性擬合,以此得到的構(gòu)造決策函數(shù)如下:
SVR 在SVM 的中心線性函數(shù)設(shè)置了一個(gè)寬度為ε的容忍偏差,落到這個(gè)寬度內(nèi)的樣本不做損失計(jì)算。ε的損失函數(shù)計(jì)算公式如下:
此外,引入松弛變量ε、?以適應(yīng)數(shù)據(jù)在容忍偏差之外的松弛程度不同的需求,公式如下:
其中,C表示懲罰因子。 引入拉格朗日函數(shù),將一般問題轉(zhuǎn)化為對偶問題,公式如下:
對于非線性回歸問題需要對映射空間進(jìn)行一個(gè)轉(zhuǎn)換,轉(zhuǎn)化為一個(gè)可以進(jìn)行線性回歸的更高維度的特征空間,這個(gè)過程主要依賴于核函數(shù),其高斯核函數(shù)公式如下:
映射到高維度的空間以后就能使用回歸函數(shù)進(jìn)行回歸,回歸函數(shù)如下:
粒子群算法的引入主要是為了對SVR 模型中懲罰參數(shù)C和高斯核函數(shù)的寬度系數(shù)g進(jìn)行優(yōu)化,尋找C、g的最優(yōu)解。 SVR 對樣本數(shù)據(jù)采用懲罰機(jī)制,懲罰力度的大小就由參數(shù)C控制,在容忍偏差之外的懲罰力度要適當(dāng),因?yàn)閼土P力度過大,會(huì)使得模型泛化能力較弱,而懲罰力度過小,會(huì)使得模型誤差大,精度不高。高斯核函數(shù)的寬度系數(shù)g的大小表示樣本之間的相關(guān)程度,g的值越大、樣本的相關(guān)性就越大,g的值越小、樣本的相關(guān)性就越小。g的值如果太大、模型精度會(huì)被影響,g的值如果太小、模型泛化性能力就不足。
因此,優(yōu)化后的SVR 模型通過使用粒子群算法對懲罰參數(shù)C和高斯核函數(shù)的寬度系數(shù)g進(jìn)行算法尋優(yōu),找到最優(yōu)解,以此大幅度增加模型的精度以及泛化能力。
Random Forest 算法[4]是為了整合多種決策樹算法而提出來的一種集成學(xué)習(xí)算法,其中的每棵決策樹都是使用bootstrap 技術(shù)隨機(jī)抽取樣本構(gòu)建的,每棵決策樹的分裂點(diǎn)是從隨機(jī)特征子空間中隨機(jī)選擇而來。 這樣,每棵決策樹都是隨機(jī)生成,涵蓋多種可能性,Random Forest 算法在其中通過投票的方式選擇最好的預(yù)測結(jié)果。
決策樹是一種分類器,通過模仿樹木枝干分枝,從樹的根部進(jìn)行分裂,選取適當(dāng)?shù)姆至褱?zhǔn)則,在滿足條件時(shí)進(jìn)行分裂,直至生成一顆完整的樹狀,多個(gè)分枝就代表了多個(gè)路徑規(guī)則,在預(yù)測數(shù)據(jù)時(shí),依靠這些規(guī)則對數(shù)據(jù)進(jìn)行分類和預(yù)測。 決策樹的生成算法常見的有ID3、C4.5、CART,其中ID3、C4.5 基于香農(nóng)熵進(jìn)行分裂,CART 是基于基尼系數(shù)分裂。 香農(nóng)熵的公式表達(dá)式如下:
香農(nóng)熵可以用來計(jì)算信息增益的大小,ID3 算法就是通過選擇信息增益最大的屬性進(jìn)行決策樹生成的。 信息增益的計(jì)算公式如下:
但是,ID3 算法對于連續(xù)變量的選擇性很差,C4.5 算法針對這一算法缺陷引入分裂信息比率因子,數(shù)學(xué)公式如下:
引入分裂信息比率因子后的分裂準(zhǔn)則公式如下:
這一準(zhǔn)則計(jì)算方法將連續(xù)變量進(jìn)行離散化處理,使得決策樹對連續(xù)變量的選擇性變好。 而CART 采用一種全新的方法,把基尼系數(shù)衡量的信息純度作為分裂準(zhǔn)則,基尼系數(shù)公式如下:
決策樹在建樹時(shí)根據(jù)基尼系數(shù)最小進(jìn)行分裂。
XGBoost 算法[5]是通過串聯(lián)不同的知識點(diǎn),合理高效地解決回歸、排序等復(fù)雜問題,是近年來機(jī)器學(xué)習(xí)領(lǐng)域應(yīng)用最廣泛的算法之一。 boosting 是數(shù)學(xué)建模中運(yùn)用最廣泛的方法,就是通過集成不同的模型來得到一個(gè)高精度的模型,但是boosting 每次計(jì)算需要迭代幾千上萬次,因此效率低下。 XGBoost是在boosting 的基礎(chǔ)上進(jìn)行改進(jìn),XGBoost 是一種向前特征的算法,其模型公式為:
其中,k為樹的棵樹;f表示回歸樹,并且f(x)=wq(x),q:Rm→T,w∈RT;q為每一顆樹的結(jié)構(gòu);T表示樹中的葉子樹;一個(gè)q對應(yīng)一個(gè)葉子權(quán)重w;τ表示全部回歸樹組成的函數(shù)空間。 在實(shí)際計(jì)算當(dāng)中,將規(guī)則安排到葉子里,然后由w進(jìn)行求和, 得到最終的預(yù)測值。XGBoost的整個(gè)建模過程如下:
設(shè)定要預(yù)測模型:
設(shè)置目標(biāo)函數(shù)為:
每個(gè)樣本落在葉子節(jié)點(diǎn)上:
其中,T為t棵樹葉子節(jié)點(diǎn)的的總數(shù),mj是j個(gè)葉子的權(quán)重。
進(jìn)一步,得到新的目標(biāo)函數(shù):
令:
對函數(shù)進(jìn)行優(yōu)化:
增加的切分點(diǎn)的增益:
LightGBM[6]是以GBTD 為基礎(chǔ)的一種算法,而GBTD(Gradient Boosting Decision Tree)是一種通過迭代構(gòu)建模型的算法,GBDT 具有梯度提升和決策樹的特點(diǎn),具有精度高、速度快、不容易過擬合的優(yōu)點(diǎn)。 LightGBM 彌補(bǔ)了GBDT 處理海量數(shù)據(jù)時(shí)速度較慢的問題。 LightGBM 是一種以直方圖決策樹為基礎(chǔ)的算法,其基本過程是:將特征劃分成s個(gè)整數(shù),然后生成一個(gè)寬度為s的直方圖,在輸入數(shù)據(jù)時(shí),離散值被累積起來作為直方圖的索引,在遍歷一次數(shù)據(jù)后,所有累計(jì)的量全被直方圖統(tǒng)計(jì)起來,然后根據(jù)生成的索引值進(jìn)行遍歷找到最佳的切分點(diǎn)。 這個(gè)算法的優(yōu)點(diǎn)在于減小了存儲(chǔ)量,使得運(yùn)算速度加快,并且降低了運(yùn)算成本,XGBoost 需要計(jì)算一次效益后,再遍歷每一個(gè)特征,然而采用直方圖算法的LightGBM只需要計(jì)算s次。 直方圖算法如圖3 所示。
圖3 直方圖算法Fig. 3 Histogram algorithm
迄今為止,LightGBM 已經(jīng)普遍用于機(jī)器學(xué)習(xí)領(lǐng)域。 大量的數(shù)據(jù)表明,LightGBM 已比目前應(yīng)用的Boosting 工具擁有更高的準(zhǔn)確率和計(jì)算效率,LightGBM 比XGBoost 的計(jì)算速度更快,效率和精度也更高,LightGBM 采用直方圖算法可以有效地解決XGBoost 算法把所有特征加入內(nèi)存進(jìn)行排序所造成的內(nèi)存消耗。
本文數(shù)據(jù)主要源于第十八屆華為杯數(shù)學(xué)建模D題,數(shù)據(jù)包括1 974 個(gè)化合物對ERα 的生物活性數(shù)據(jù),以及729 個(gè)分子描述符信息(變量)。 由于數(shù)據(jù)中存在部分對生物活性影響不大的變量,本文通過相關(guān)性分析篩選出20 個(gè)對生物活性最具有顯著影響的變量。 20 個(gè)變量之間相關(guān)度分布圖如圖4(a)所示。 由圖4(a)可見,20 個(gè)主要變量的相關(guān)系數(shù)矩陣中,有部分變量的相關(guān)性過高,對模型的預(yù)測效果具有一定的影響。 因此,為了使得模型預(yù)測性能更佳,本文進(jìn)一步研究了變量之間是否具有高度的線性關(guān)系或者非線性關(guān)系,去除了部分相關(guān)系數(shù)較大的變量,最后得到14 個(gè)變量,如圖4(b)所示。 這14 個(gè)變量之間的整體獨(dú)立性更高,對模型預(yù)測更加有利,故將這14 個(gè)變量的值作為建立生物活性定量預(yù)測模型。
圖4 變量間的相關(guān)度分布圖Fig. 4 Correlation distribution between variables
3.2.1 均方誤差
均方誤差(MSE) 是觀測值與真值偏差的平方和觀測次數(shù)n比值的平方根,當(dāng)對某一變量進(jìn)行多次的測量時(shí),取這一測量結(jié)果誤差的均方誤差,稱均方誤差,公式如下:
3.2.2 平均絕對誤差
平均絕對誤差(MAE),又叫平均絕對離差,是所有單個(gè)觀測值與算術(shù)平均值的偏差的絕對值的平均。 平均絕對誤差可以避免誤差相互抵消的問題,因而可以準(zhǔn)確反映實(shí)際預(yù)測誤差的大小。 絕對誤差的平均值公式如下:
3.2.3 擬合優(yōu)度
擬合優(yōu)度(R2) 是指回歸線對預(yù)測值的擬合程度。 度量擬合優(yōu)度的統(tǒng)計(jì)量是可決系數(shù)(亦稱確定系數(shù))R2。R2最大值為1。R2的值越接近1,說明回歸直線對觀測值的擬合程度越好。 反之越差。
本文首先對1 974 個(gè)化合物進(jìn)行樣本劃分,為了在保證精度的同時(shí)讓模型具有更好的泛化能力,采用隨機(jī)抽取樣本的方法對數(shù)據(jù)進(jìn)行劃分,其中以90%的化合物為訓(xùn)練集,10%的化合物為驗(yàn)證集。構(gòu)建了4 種算法模型,分別是SVR 算法、Random Forest 算法、XGBoost 算法、LightGBM 算法[6]。 對這4 種算法模型采用粒子群算法進(jìn)行優(yōu)化,對比分析各模型的最終實(shí)驗(yàn)結(jié)果,選擇預(yù)測性能最好的模型作為本文的最終預(yù)測模型進(jìn)行測試集的預(yù)測。
3.3.1 模型預(yù)測值對比分析
將劃分好的訓(xùn)練集樣本數(shù)據(jù)送入優(yōu)化模型進(jìn)行訓(xùn)練回歸,得到訓(xùn)練好參數(shù)的優(yōu)化模型,使用驗(yàn)證集對模型進(jìn)行驗(yàn)證。 為了驗(yàn)證粒子群算法給各個(gè)原始模型帶來的性能提升效果,本文對原始模型進(jìn)行相同的訓(xùn)練與驗(yàn)證,將得到的預(yù)測值與樣本真實(shí)值做對比,如圖5 所示。
圖5 4 個(gè)模型優(yōu)化前后的預(yù)測結(jié)果與真實(shí)值對比Fig. 5 Comparison of the prediction results with the actual value before and after optimization of the four models
從圖5(a)中可以看到,原始SVR 模型的預(yù)測結(jié)果擬合準(zhǔn)確度并不高,預(yù)測值與真實(shí)值的誤差較大。 這在很大程度上是由于懲罰參數(shù)C和高斯核函數(shù)的寬度系數(shù)g的優(yōu)化程度不高所導(dǎo)致。 而用粒子群算法改進(jìn)后的SVR 模型,C和g數(shù)值經(jīng)過優(yōu)化后,將明顯提升模型預(yù)測準(zhǔn)確率。 優(yōu)化后SVR 模型的預(yù)測值與樣本真實(shí)值對比如圖5(b)所示。 由圖5(b)可看出,粒子群算法優(yōu)化后的SVR 模型的預(yù)測結(jié)果與真實(shí)值擬合程度更高,這也表明優(yōu)化后的SVR 模型性能更好,誤差更小。 同時(shí),圖5(c)至圖5(h)也表明了經(jīng)過粒子群算法優(yōu)化后的模型預(yù)測效果更好,整體性能更佳。
3.3.2 擬合度對比分析
本文對模型擬合度進(jìn)行了可視化分析,如圖6所示。 從圖6 中可以看出,優(yōu)化后SVR 模型的預(yù)測擬合度在迭代回歸5 次以后基本收斂,預(yù)測值與真實(shí)值的擬合度維持在79.52%。 而優(yōu)化后的Random Forest 模型的誤差較小,預(yù)測值擬合度穩(wěn)定在81.29%。同時(shí),優(yōu)化后XGBoost 模型在訓(xùn)練過程中出現(xiàn)“局部最優(yōu)”現(xiàn)象,擬合度維持在了77.20%,通過粒子群算法對參數(shù)進(jìn)行尋優(yōu),使其訓(xùn)練能夠自主跳出局部最優(yōu),擬合度最終達(dá)到84.52%。
圖6 各個(gè)模型優(yōu)化后的擬合度Fig. 6 Fitting degree of each model after optimization
相比之下,優(yōu)化后的LightGBM 模型擬合誤差更小,不斷通過參數(shù)優(yōu)化參數(shù),跳出局部最優(yōu),擬合度最終穩(wěn)定在84.68%。
3.3.3 預(yù)測誤差對比分析
為了進(jìn)一步驗(yàn)證粒子群算法給預(yù)測模型帶來的影響,本文分別繪制了4 個(gè)優(yōu)化后的模型的預(yù)測值與真實(shí)值的誤差曲線圖,如圖7 所示。 由圖7 可見,優(yōu)化后的模型預(yù)測誤差大多數(shù)都低于改進(jìn)前的模型,預(yù)測效果得到了較好的改善。 其中,SVR 模型和XGBoost 模型的性能提升較大,整體誤差基本都有所降低。 而相比之下,LightGBM 模型的整體預(yù)測誤差更低,預(yù)測效果更好。
圖7 各個(gè)模型的預(yù)測值與真實(shí)值的誤差曲線Fig. 7 The error curve between the predicted value and the true value of each model
3.3.4 評價(jià)指標(biāo)對比分析
本文給出了4 個(gè)模型評價(jià)指標(biāo)MSE(均方誤差)、MAE(平均絕對誤差)、R2(擬合度),見表1。 由表1 可看到,優(yōu)化后LightGBM 模型的MSE和MAE值分別為0.283 3和0.334 9,均低于其它3 個(gè)模型。 同時(shí),優(yōu)化后LightGBM 模型的R2值達(dá)到了最高的84.68%。
表1 優(yōu)化后的模型的評價(jià)指標(biāo)Tab. 1 Evaluation indicators of the optimized model
本文針對傳統(tǒng)回歸預(yù)測模型對化合物活性預(yù)測的效果較差的問題,分別采用粒子群算法優(yōu)化了SVR 模型、Random Forest 模型、XGBoost 模型和LightGBM 模型。 對比分析各個(gè)模型的擬合度、MSE、MAE等評價(jià)指標(biāo)的結(jié)果表明,優(yōu)化后的LightGBM 模型對化合物活性的預(yù)測效果更好。 同時(shí),通過可視化優(yōu)化前后模型的預(yù)測結(jié)果和預(yù)測誤差,直觀地展示了粒子群算法優(yōu)化帶來的模型效果的提升,可為回歸預(yù)測模型的優(yōu)化方法提供思路。