如何改善中樞神經系統(CNS)藥物的血腦屏障(BBB)透過率,是CNS藥物研發中面臨的重要挑戰。相較于傳統的藥代動力學性質測試,機器學習技術已被證實可以有效、低成本地預測CNS藥物的BBB透過率。本文提出一種基于均衡化堆疊學習(SL)的BBB透過率預測模型(BSL-B3PP),首先分別從藥物化學背景角度以及機器學習角度,篩選出對BBB透過率有關鍵影響的特征集,并總結可穿透BBB(BBB+)量化區間;然后融合重采樣方法與堆疊學習算法,進行CNS藥物BBB透過率預測。BSL-B3PP模型基于較大規模的BBB數據集(B3DB)構建,經實驗驗證,曲線下面積(AUC)達97.8%,馬修斯相關系數(MCC)為85.5%。研究結果說明,本模型具有較好的BBB透過率預測能力,尤其對于不能穿透BBB的藥物也能保持較高的預測準確度,有助于降低CNS藥物研發成本,加快CNS藥物研發進程。
引用本文: 蘇慶, 肖淦耀, 周渭, 杜志云. 融合重采樣與堆疊學習的化合物血腦屏障透過率預測. 生物醫學工程學雜志, 2023, 40(4): 753-761. doi: 10.7507/1001-5515.202210067 復制
0 引言
血腦屏障(blood-brain barrier,BBB)是一種選擇性半透膜屏障,會將中樞神經系統(central nervous system,CNS)與循環血液隔離,阻礙大部分CNS藥物透過BBB發揮作用[1]。如何測定并提高BBB透過率是優化CNS藥物藥代動力學性質的核心問題。為降低藥物研發風險成本,研究計算機輔助預測CNS藥物BBB透過率的方法具有重要意義。
近年來,已經有多種機器學習方法用于構建 BBB 透過率預測模型。然而,這些方法存在各種不足之處,包括:① 部分模型使用的數據集在數據類別上存在不平衡,通常表現為可穿透BBB(BBB positive,BBB+)的化合物樣本數遠遠多于不可穿透BBB(BBB negative,BBB-)的化合物樣本數[2],導致模型在預測BBB-化合物時表現不佳。解決數據類別不平衡問題的典型方法之一是進行數據重采樣。② 另有部分模型的特征篩選算法存在缺陷,遺漏了與BBB透過率高度相關的特征。例如,文獻[3]中的支持向量機(support vector machine,SVM)模型采用了45個特征,但會遺漏部分明顯影響BBB透過率的特征,如氫鍵供體[4],因而降低了模型的預測精度。基于上述不足,有必要針對藥物化學背景,篩選出與BBB透過率高度相關的特征。
在提升模型性能方面,集成學習是一種常用方法[5]。基于不同的機器學習方法所設計的學習器結構各異,優點也不盡相同,如果將它們進行集成運用,會有助于提升預測性能。然而,傳統的集成學習方法依賴于同質基學習器的組合,并且通常基于簡單的基學習器串行或者并行組合來進行預測,忽略了基學習器之間的相關性,導致傳統集成學習模型的性能受限。
為克服上述缺陷,Wolpert[6]提出了一種新的集成學習算法——堆疊學習(stacking learning,SL)。SL算法引入一個元學習器,用于通過學習基學習器的預測結果與真實標簽之間的關系,然后生成最終的預測結果。通過這種方式,SL算法能夠充分利用基學習器之間的相關性,并有效減少同質學習器組合帶來的局限性[7]。目前,SL算法已經在醫學圖像分類[8]、藥物分子活性預測[9]等生物醫學工程領域獲得廣泛應用,因此雖然暫時未見SL算法在CNS藥物BBB透過率預測的應用報道,但已具備可借鑒的應用基礎。
基于上述不足,本文以SL算法為基礎,提出一種具備均衡預測能力的BBB透過率預測機器學習模型——基于均衡化SL的BBB透過率預測(balanced-SL based BBB permeability predictor,BSL-B3PP)模型,并應用較大規模的BBB數據集(BBB data base,B3DB),分別從藥物化學背景及機器學習兩種角度篩選出與BBB透過率相關的特征,并融合多種重采樣算法與SL算法構建模型,以預測未知藥物的BBB透過率。
1 B3DB數據集
本文采用的數據集來自加拿大麥克馬斯特大學(McMaster University)的B3DB[10]。該數據集中包括了7 807個化合物(4 956個BBB+化合物數據和2 851個BBB-化合物數據)的分類數據,以及1 058個化合物的回歸數據,是目前已知最大的與BBB透過率相關的數據集。B3DB數據集已在代碼托管平臺Github免費公開,任何用戶只要遵守知識共享許可協議(Creative Commons license),即可在科學研究中使用該數據。本文將基于B3DB數據集中的簡化分子線性輸入規范(simplified molecular input line entry system,SMILES)字符串和分類標簽用來構建化合物特征數據集,然后進行特征篩選。
2 化合物特征集構建策略
分子描述符用于定性或定量描述化合物的性質。由于化合物的BBB透過率受其自身多種性質的影響,因此可以使用分子描述符對化合物的性質進行特征描述,用于訓練BBB透過率預測模型。
本文使用分子描述符生成工具包Mordred(大阪大學,日本)[11]和軟件處理包Pybel(聯合利華分子科學信息學中心,英國)[12]對B3DB數據集中的每一種化合物都生成1 613種和24種分子描述符特征。這兩種工具的生成結果具有一定的互補性,由此可得到更全面的原始B3DB化合物特征數據集。但由于并非所有特征都與BBB通透性相關,因此需要進行特征篩選。
本文的特征篩選策略主要包括以下兩方面:① 基于藥物化學背景,借助現有的藥物化學特征研究經驗與結果進行特征篩選,獲得與BBB透過率高度相關的關鍵特征;② 基于機器學習算法中的特征篩選算法進行篩選,獲得高相關性的化合物特征子集。
2.1 基于藥物化學背景的特征篩選
研究人員借助藥物化學研究理論與臨床試驗等方法,統計出部分對BBB透過率高度相關的特征,并根據這些特征在BBB+與BBB-化合物中的數值分布情況,總結出BBB+化合物特征量化區間(以下簡稱BBB+量化區間)。該區間是由若干個離散的BBB+化合物特征取值范圍組成,當某一特征的取值落在對應的BBB+量化區間內時,表示該特征更有可能促使化合物穿透BBB。因此,通過判斷多種特征是否落在對應的BBB+量化區間,會有助于推斷未知化合物的BBB透過率。
Lipinski等[13-14]提出了判斷分子成藥性的類藥五原則(rules of five,RO5),并首次給出了具體的BBB+量化區間。在RO5的基礎上,Pajouhesh等[15]指出拓撲極性表面積(topological polar surface area,TPSA)也是預測化合物BBB透過率的重要特征。其后,Xiong等[16]指出分子量(molecular weight,MW)、油水分配系數(oil water partition coefficient,Pow)的對數值(logP)、氫鍵供體(hydrogen bond donors,HBD)對BBB透過率也有較大的影響。
Mahar Doan等[17]和Plisson等[4]發現,CNS藥物往往擁有較少的氫鍵載體、較低的極性、較強的親脂性和剛性,因此除了HBD、TPSA和logP外,氫鍵受體(hydrogen bond acceptors,HBA)和可旋轉鍵數(number of rotatable bonds,nRB)也被認為對BBB透過率有較大的影響。Gupta等[18]在構建BBB評分系統時指出,芳香環數(number of aromatic rings,nAR)和重原子數(number of heavy atoms,nHA)也同樣會對BBB透過率產生重要影響,并提出了一種與其他描述符協同探測藥物完整化學空間的描述符,即MW與氫鍵載體數量(hydrogen bond number,HBN)的比值(MWHBN)。
2.1.1 選擇藥物化學背景特征
基于藥物化學背景調研,本文總結出以下9個與BBB密切相關的特征,如表1所示。在建立B3DB化合物特征數據集的過程中,這些特征將被優先選擇。

2.1.2 藥物化學特征BBB+量化區間
在B3DB數據集中,通過統計上述9個特征在不同取值區間中的化合物數量分布,可以發現大多數區間中都同時存在BBB+和BBB-化合物樣本。
為確定這9個特征的BBB+量化區間,對于每個特征,應首先根據BBB+和BBB-化合物樣本的數量分布,選擇含BBB+化合物相對集中的連續區域作為初始區間,將特征值落在該區間內的化合物分類為BBB+,其余化合物分類為BBB-;然后將分類結果與數據集中的實際分類標簽作對比,計算曲線下面積(area under curve,AUC)與準確度(accuracy,ACC);接著重復上述步驟以便修正區間,直至獲得AUC最高(若AUC同樣高則選擇ACC最高)的區間作為該特征的最佳BBB+量化區間。
上述9種特征的AUC和ACC值變化趨勢如圖1所示。其中特征MW、nHA、TPSA、HBD、HBA、nAR、nRB和MWHBN的最小值均為0,且BBB+化合物均集中在0值右側,因此只需確定各自的區間上限;對于logP,則給出了從[2, 6)開始,逐漸逼近最佳區間的上限和下限的過程。可以發現,每個特征的AUC曲線都是峰值曲線,因此應選擇AUC最高點所對應的區間作為最佳BBB+量化區間。根據上述實驗結果,總結出這9種藥物化學特征的BBB+量化區間,結果如表1所示。

2.2 基于機器學習的特征篩選
由于原始B3DB化合物特征數據集中的特征數量龐大,而且大多數與藥物化學背景沒有直接關聯,因此適合于從機器學習的角度,利用計算機算法篩選出對BBB透過率有重要影響的特征。
本文使用以下4種特征篩選算法[19]:方差閾值(variance threshold,VT)、單變量特征選擇(univariate feature selection,UFS)、基于樹的特征選擇(tree-based feature selection,TFS)、遞歸特征消除(recursive feature elimination,RFE)。其中VT算法的閾值參數設置為0.02,UFS算法的百分比參數設置為80%,TFS算法中的估算器選用額外樹(extra tree)模型,RFE算法中的估算器選用隨機森林(random forest,RF)模型,篩選得到的特征數量參數設置為21。
對已移除被選中的9個藥物化學背景特征的原始B3DB化合物特征數據集,運用VT、UFS、TFS、RFE算法進行篩選,最終得到21個機器學習篩選特征。
3 BSL-B3PP模型
本文提出BSL-B3PP模型,其模型架構如圖2所示。在該模型中,首先運用重采樣方法解決B3DB數據集中的數據類別不平衡問題,然后采用SL算法,融合K近鄰算法(k-near neighbors,KNN)、極致梯度提升(extreme gradient boosting,XGBoost)、輕型梯度提升機(light gradient boosting machine,LightGBM)等基學習器,增強BSL-B3PP模型的預測性能。另外,本文設計了一種基學習器綜合度量(base learner synthesis metrics,BLSM)方法,用于評估基學習器組合對提升SL算法性能的貢獻度,并從中篩選出最佳的基學習器組合。

3.1 數據重采樣
B3DB數據集中BBB+和BBB-化合物樣本數量不平衡,兩者比例為1.74:1。為此,本文對B3DB化合物特征數據集采用8種數據重采樣算法[20],包括:隨機下采樣(random under-sampling,RUS)、隨機過采樣(random over-sampling,ROS)、合成少數過采樣技術(synthetic minority over-sampling technique,SMOTE)、自適應合成采樣(adaptive synthetic sampling approach,ADASYN)、SMOTE+編輯最近鄰(SMOTE+edited nearest neighbors,SMOTENN)、邊界SMOTE(borderline SMOTE,BDLSMOTE)、SVM+SMOTE(SVMSMOTE)和KNN+SMOTE(KSMOTE),由此得到8個重采樣后的數據集,再加上未作任何處理的原始數據集,一共得到9個數據集。
在上述算法中,RUS是一種欠采樣算法,會將多數類樣本數量減少至與少數類樣本數量持平,導致樣本數量降低,進而影響模型的預測性能,即發生欠擬合。除了RUS和SMOTENN之外,其他重采樣策略都是過采樣算法,會將少數類樣本數量提高到與多數類樣本數量持平。其中ROS算法會隨機復制少數類樣本來增加樣本量,但由此產生的大量重復數據會使得模型出現過擬合;而SMOTE、ADASYN以及基于SMOTE改進的其他算法(包括KSMOTE、SVMSMOTE等)都是在新數據生成環節作改進,以盡可能避免過擬合。與上述算法都不同的是,SMOTENN是一種結合了欠采樣與過采樣的算法,即在降低多數類樣本量的同時,也提升少數類樣本量,但也并不能完全解決欠擬合和過擬合問題。
采用不同算法生成的重采樣數據集,對模型的具體影響也各有差異,應當進行實驗驗證比對。本文將上述9種數據集分別應用于基學習器以及BSL-B3PP模型的訓練,然后比較訓練結果,以此篩選出最適合的重采樣策略。
3.2 BLSM度量方法
為選出性能好且差異大的基學習器組合用于BSL-B3PP模型中的SL算法,本文提出一種BLSM度量方法,用于評估不同基學習器組合對提升SL算法性能的貢獻度,并從中篩選出最佳的基學習器組合。該方法可分為以下幾步:
步驟1:獲取基學習器訓練結果與運行時長
使用B3DB化合物特征數據集來訓練不同的基學習器,訓練結果的評價指標包括AUC評分、馬修斯相關系數(Matthews correlation coefficient,MCC)評分以及在訓練過程中所耗費的運行時長T。
步驟2:評估基學習器的綜合分類能力
為了更方便地評估基學習器的分類性能,可采用基學習器的AUC和MCC指標的乘積來量化基學習器的分類能力,如式(1)所示:
![]() |
其中,和
分別表示基學習器m的AUC指標和MCC指標,
是兩者的乘積。AUC和MCC是評估基學習器分類性能的主要指標,這兩個指標的值越大,則表示基學習器的分類性能越好,因此二者相乘的結果可以更直觀地反映基學習器的分類能力。
步驟3:計算基學習器的差異度
本文使用成對卡巴(Kappa)度量法[21]來衡量基學習器i與j之間的差異度,以表示,如式(2)所示:
![]() |
其中,和
代表基于基學習器i和j預測正確或錯誤的樣本數量進行計算的中間結果,如式(3)和式(4)所示:
![]() |
![]() |
其中,為兩個基學習器i和j都預測正確的樣本數量,
為i預測正確而j預測錯誤的樣本數量,
為i預測錯誤而j預測正確的樣本數量,
為i和j都預測錯誤的樣本數量。
代表基學習器i與j的相對差異程度,其值與i和j的差異度呈正相關。由SL算法原理可知,差異度越大的基學習器越有利于該算法性能的提升,因此
的值應盡量大。
步驟4:計算基學習器組合的BLSM值
優秀的基學習器組合應擁有較強的分類能力C、較短的運行時長T和和較大的差異度K。因此應該充分考慮將上述因素用于計算基學習器組合對于提升SL算法性能的貢獻度,如式(5)所示:
![]() |
其中,和
為不同的基學習器;
表示基學習器組合
對SL算法性能的貢獻度。BLSM值越大,則說明該基學習器組合對提升SL算法性能的作用越大。
3.3 模型構建過程
BSL-B3PP模型的構建流程如下:
(1)將在3.1節中的9種重采樣數據集,按9:1的比例分劃成訓練集與測試集。使用訓練集進行模型訓練時,采用五折交叉驗證法進行模型驗證,然后使用測試集進行模型測試。
(2)應用多種機器學習算法,包括邏輯回歸(logistic regression,LR)、SVM、RF、KNN、XGBoost、LightGBM和類別提升算法(category boosting,CatBoost)等,對于每種算法輸入9種重采樣數據集然后訓練得到9種基學習器。通過對比訓練結果,篩選出每種機器學習算法所對應的最佳基學習器和重采樣策略。
(3)運用BLSM度量方法,計算不同基學習器組合對提升SL算法性能的貢獻度,由此篩選出具有較高貢獻度的基學習器組合用于SL算法。
(4)分別應用單一的基學習器作為SL算法的元學習器,對比得出效果最好的元學習器。
(5)對于應用了最佳基學習器組合及元學習器的SL算法,依次輸入所有的重采樣數據集進行BSL-B3PP模型構建與調優,同時得到與該模型最匹配的重采樣策略。
4 實驗驗證
為驗證BSL-B3PP模型結構的合理性以及評價其性能,本文設計了4個實驗:首先通過訓練若干個基學習器,從中遴選出最適合SL算法的基學習器;然后,對比驗證各種重采樣策略對BSL-B3PP模型的影響,并選出最佳的重采樣策略;接著,對BSL-B3PP模型應用不同的特征集進行對比實驗,驗證了融合運用藥物化學背景特征和機器學特征的必要性;最后,將BSL-B3PP模型與經典模型進行預測能力上的橫向對比。
4.1 SL算法基學習器遴選實驗
SL算法的性能表現取決于其基學習器自身的算法特點以及與之搭配的重采樣策略。因此,在本實驗中將首先通過訓練得出若干個基學習器及其最佳的重采樣策略,然后再運用BLSM方法篩選出最佳的基學習器組合。
4.1.1 基學習器訓練結果分析
本實驗選用7種基學習器LR、SVM、RF、KNN、XGBoost、LightGBM和CatBoost進行訓練:首先,將9個B3DB重采樣數據集分別作為上述基學習器的輸入;然后進行調參優化,獲取每個基學習器對應于上述數據集的訓練結果;然后,選出每個基學習器的最佳訓練結果及相應的最佳重采樣策略。
實驗結果如表2所示,訓練結果指標包括AUC、MCC、敏感性(sensitivity,SE)、特異性(specificity,SP)和ACC指標(Ex_ACC)。其中,Ex_ACC表示基學習器的擬合能力,通過使用Wang等[3]研究中提及的外部驗證集計算而得。標注“*”表示,該學習器與重采樣策略組合時采用了權重損失方法(weight loss function,WLF)[3],即試圖通過調整不同樣本類別的權重來獲得更好的效果。

4.1.2 基學習器組合的遴選
基學習器組合的遴選是指應用BLSM方法,從表2中篩選出最合適的基學習器進行組合,作為SL算法的基學習器。由于XGBoost、LightGBM和CatBoost都屬于梯度提升決策樹算法類,因此只需選擇最佳的XGBoost作為候選基學習器;其他候選基學習器則包括RF、KNN和SVM。根據各基學習器的分類能力C、運行時長T以及它們的差異度K,可計算出各基學習器之間的BLSM值,如表3所示。

從表3可以發現,SVM與其他基學習器組合的BLSM值較低,說明其對于提升SL算法性能的貢獻有限;而其他基學習器組合的BLSM值較大,表明它們能更有效地提升SL算法性能。因此排除SVM后,可得到最佳的基學習器組合為RF+XGBoost+KNN。
4.2 重采樣策略對比實驗
BSL-B3PP模型使用最佳基學習器組合RF+XGBoost+KNN,然后通過對比多種基學習器作為元學習器的表現,最終選定LR為最合適于SL算法的元學習器,進而對比不同重采樣策略的效果。
對BSL-B3PP模型應用不同重采樣策略,進行100次五折交叉驗證后的訓練結果如表4所示。通過對比AUC、MCC以及Ex_ACC可知,結合了ADASYN的BSL-B3PP模型具有最佳的分類和擬合能力。這是因為ADASYN是一種自適應合成算法,可根據樣本分布自動決定每個少數類樣本所需要合成的樣本數量,相當于為每個少數類樣本自動添加權重,提升了模型在分類邊緣區域的分類ACC。而B3DB數據集中少數類邊緣樣本較多,所以應用了ADASYN重采樣策略的分類器更適合該數據集。

值得注意的是,應用SMOTENN重采樣策略得到的Ex_ACC結果較差,但其他指標卻非常高,說明產生了過擬合。因此,SMOTENN的實驗結果不具備參考價值,應當被忽略。
4.3 運用不同特征集的對比實驗
為檢驗從藥物化學背景和機器學習角度構建化合物特征數據集的必要性,本實驗在相同條件下,分別對僅使用9個藥物化學背景特征(簡稱為9特征模型)、僅使用21個機器學習篩選特征(簡稱為21特征模型),以及使用全部30個特征(簡稱為30特征模型)的三種情況進行訓練,結果如圖3所示。

由圖3可知,30特征模型的性能均優于其余兩者。而且值得注意的是,21特征模型的Ex_ACC低于9特征模型,但前者的其他指標均高于后者或持平,說明前者出現了過擬合。整體而言,30特征模型既具備了其他兩種情形的優點,也避免了過擬合,證明了同時從藥物化學背景和機器學習角度來篩選特征是合理和必要的。
4.4 BSL-B3PP與經典模型的對比實驗
為驗證BSL-B3PP模型的整體性能,本文將其與多種經典機器學習模型進行預測能力上的對比。為保證可比性,所有經典模型都使用與BSL-B3PP模型相同的數據集和ADASYN重采樣策略。實驗結果如表5所示,在所有指標對比中,BSL-B3PP模型都更具優勢。

5 討論
本文提出了一種融合重采樣技術與SL算法的BBB透過率預測模型BSL-B3PP,該模型基于B3DB數據集,分別從藥物化學背景與機器學習的角度構建B3DB化合物特征數據集,并總結了各種特征的BBB+量化區間。在BSL-B3PP模型中,運用了重采樣技術解決數據集中的數據類別不平衡問題,并利用SL算法提升模型預測未知化合物BBB透過率的ACC。此外,本文還提出了一種BLSM方法,用于評估基學習器組合對提升SL算法性能的貢獻度,以便篩選出最佳的基學習器組合。實驗結果表明,BSL-B3PP模型能較準確地預測BBB+和BBB-化合物樣本的BBB透過率,可有助于降低CNS藥物研發成本,加快CNS藥物研發進程。
在下一步工作中,本課題組將繼續優化SL算法的學習策略和提升基學習器性能,以進一步提高預測藥物BBB透過率的準確性。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:蘇慶設計論文主題及框架,對論文進行修改統稿,審核同意發表稿件;肖淦耀負責實驗與論文初稿撰寫,承擔模型代碼編寫及數據分析;周渭負責論文修訂,并提出建設性修改意見;杜志云對論文構思及實驗設計提供指導。
0 引言
血腦屏障(blood-brain barrier,BBB)是一種選擇性半透膜屏障,會將中樞神經系統(central nervous system,CNS)與循環血液隔離,阻礙大部分CNS藥物透過BBB發揮作用[1]。如何測定并提高BBB透過率是優化CNS藥物藥代動力學性質的核心問題。為降低藥物研發風險成本,研究計算機輔助預測CNS藥物BBB透過率的方法具有重要意義。
近年來,已經有多種機器學習方法用于構建 BBB 透過率預測模型。然而,這些方法存在各種不足之處,包括:① 部分模型使用的數據集在數據類別上存在不平衡,通常表現為可穿透BBB(BBB positive,BBB+)的化合物樣本數遠遠多于不可穿透BBB(BBB negative,BBB-)的化合物樣本數[2],導致模型在預測BBB-化合物時表現不佳。解決數據類別不平衡問題的典型方法之一是進行數據重采樣。② 另有部分模型的特征篩選算法存在缺陷,遺漏了與BBB透過率高度相關的特征。例如,文獻[3]中的支持向量機(support vector machine,SVM)模型采用了45個特征,但會遺漏部分明顯影響BBB透過率的特征,如氫鍵供體[4],因而降低了模型的預測精度。基于上述不足,有必要針對藥物化學背景,篩選出與BBB透過率高度相關的特征。
在提升模型性能方面,集成學習是一種常用方法[5]。基于不同的機器學習方法所設計的學習器結構各異,優點也不盡相同,如果將它們進行集成運用,會有助于提升預測性能。然而,傳統的集成學習方法依賴于同質基學習器的組合,并且通常基于簡單的基學習器串行或者并行組合來進行預測,忽略了基學習器之間的相關性,導致傳統集成學習模型的性能受限。
為克服上述缺陷,Wolpert[6]提出了一種新的集成學習算法——堆疊學習(stacking learning,SL)。SL算法引入一個元學習器,用于通過學習基學習器的預測結果與真實標簽之間的關系,然后生成最終的預測結果。通過這種方式,SL算法能夠充分利用基學習器之間的相關性,并有效減少同質學習器組合帶來的局限性[7]。目前,SL算法已經在醫學圖像分類[8]、藥物分子活性預測[9]等生物醫學工程領域獲得廣泛應用,因此雖然暫時未見SL算法在CNS藥物BBB透過率預測的應用報道,但已具備可借鑒的應用基礎。
基于上述不足,本文以SL算法為基礎,提出一種具備均衡預測能力的BBB透過率預測機器學習模型——基于均衡化SL的BBB透過率預測(balanced-SL based BBB permeability predictor,BSL-B3PP)模型,并應用較大規模的BBB數據集(BBB data base,B3DB),分別從藥物化學背景及機器學習兩種角度篩選出與BBB透過率相關的特征,并融合多種重采樣算法與SL算法構建模型,以預測未知藥物的BBB透過率。
1 B3DB數據集
本文采用的數據集來自加拿大麥克馬斯特大學(McMaster University)的B3DB[10]。該數據集中包括了7 807個化合物(4 956個BBB+化合物數據和2 851個BBB-化合物數據)的分類數據,以及1 058個化合物的回歸數據,是目前已知最大的與BBB透過率相關的數據集。B3DB數據集已在代碼托管平臺Github免費公開,任何用戶只要遵守知識共享許可協議(Creative Commons license),即可在科學研究中使用該數據。本文將基于B3DB數據集中的簡化分子線性輸入規范(simplified molecular input line entry system,SMILES)字符串和分類標簽用來構建化合物特征數據集,然后進行特征篩選。
2 化合物特征集構建策略
分子描述符用于定性或定量描述化合物的性質。由于化合物的BBB透過率受其自身多種性質的影響,因此可以使用分子描述符對化合物的性質進行特征描述,用于訓練BBB透過率預測模型。
本文使用分子描述符生成工具包Mordred(大阪大學,日本)[11]和軟件處理包Pybel(聯合利華分子科學信息學中心,英國)[12]對B3DB數據集中的每一種化合物都生成1 613種和24種分子描述符特征。這兩種工具的生成結果具有一定的互補性,由此可得到更全面的原始B3DB化合物特征數據集。但由于并非所有特征都與BBB通透性相關,因此需要進行特征篩選。
本文的特征篩選策略主要包括以下兩方面:① 基于藥物化學背景,借助現有的藥物化學特征研究經驗與結果進行特征篩選,獲得與BBB透過率高度相關的關鍵特征;② 基于機器學習算法中的特征篩選算法進行篩選,獲得高相關性的化合物特征子集。
2.1 基于藥物化學背景的特征篩選
研究人員借助藥物化學研究理論與臨床試驗等方法,統計出部分對BBB透過率高度相關的特征,并根據這些特征在BBB+與BBB-化合物中的數值分布情況,總結出BBB+化合物特征量化區間(以下簡稱BBB+量化區間)。該區間是由若干個離散的BBB+化合物特征取值范圍組成,當某一特征的取值落在對應的BBB+量化區間內時,表示該特征更有可能促使化合物穿透BBB。因此,通過判斷多種特征是否落在對應的BBB+量化區間,會有助于推斷未知化合物的BBB透過率。
Lipinski等[13-14]提出了判斷分子成藥性的類藥五原則(rules of five,RO5),并首次給出了具體的BBB+量化區間。在RO5的基礎上,Pajouhesh等[15]指出拓撲極性表面積(topological polar surface area,TPSA)也是預測化合物BBB透過率的重要特征。其后,Xiong等[16]指出分子量(molecular weight,MW)、油水分配系數(oil water partition coefficient,Pow)的對數值(logP)、氫鍵供體(hydrogen bond donors,HBD)對BBB透過率也有較大的影響。
Mahar Doan等[17]和Plisson等[4]發現,CNS藥物往往擁有較少的氫鍵載體、較低的極性、較強的親脂性和剛性,因此除了HBD、TPSA和logP外,氫鍵受體(hydrogen bond acceptors,HBA)和可旋轉鍵數(number of rotatable bonds,nRB)也被認為對BBB透過率有較大的影響。Gupta等[18]在構建BBB評分系統時指出,芳香環數(number of aromatic rings,nAR)和重原子數(number of heavy atoms,nHA)也同樣會對BBB透過率產生重要影響,并提出了一種與其他描述符協同探測藥物完整化學空間的描述符,即MW與氫鍵載體數量(hydrogen bond number,HBN)的比值(MWHBN)。
2.1.1 選擇藥物化學背景特征
基于藥物化學背景調研,本文總結出以下9個與BBB密切相關的特征,如表1所示。在建立B3DB化合物特征數據集的過程中,這些特征將被優先選擇。

2.1.2 藥物化學特征BBB+量化區間
在B3DB數據集中,通過統計上述9個特征在不同取值區間中的化合物數量分布,可以發現大多數區間中都同時存在BBB+和BBB-化合物樣本。
為確定這9個特征的BBB+量化區間,對于每個特征,應首先根據BBB+和BBB-化合物樣本的數量分布,選擇含BBB+化合物相對集中的連續區域作為初始區間,將特征值落在該區間內的化合物分類為BBB+,其余化合物分類為BBB-;然后將分類結果與數據集中的實際分類標簽作對比,計算曲線下面積(area under curve,AUC)與準確度(accuracy,ACC);接著重復上述步驟以便修正區間,直至獲得AUC最高(若AUC同樣高則選擇ACC最高)的區間作為該特征的最佳BBB+量化區間。
上述9種特征的AUC和ACC值變化趨勢如圖1所示。其中特征MW、nHA、TPSA、HBD、HBA、nAR、nRB和MWHBN的最小值均為0,且BBB+化合物均集中在0值右側,因此只需確定各自的區間上限;對于logP,則給出了從[2, 6)開始,逐漸逼近最佳區間的上限和下限的過程。可以發現,每個特征的AUC曲線都是峰值曲線,因此應選擇AUC最高點所對應的區間作為最佳BBB+量化區間。根據上述實驗結果,總結出這9種藥物化學特征的BBB+量化區間,結果如表1所示。

2.2 基于機器學習的特征篩選
由于原始B3DB化合物特征數據集中的特征數量龐大,而且大多數與藥物化學背景沒有直接關聯,因此適合于從機器學習的角度,利用計算機算法篩選出對BBB透過率有重要影響的特征。
本文使用以下4種特征篩選算法[19]:方差閾值(variance threshold,VT)、單變量特征選擇(univariate feature selection,UFS)、基于樹的特征選擇(tree-based feature selection,TFS)、遞歸特征消除(recursive feature elimination,RFE)。其中VT算法的閾值參數設置為0.02,UFS算法的百分比參數設置為80%,TFS算法中的估算器選用額外樹(extra tree)模型,RFE算法中的估算器選用隨機森林(random forest,RF)模型,篩選得到的特征數量參數設置為21。
對已移除被選中的9個藥物化學背景特征的原始B3DB化合物特征數據集,運用VT、UFS、TFS、RFE算法進行篩選,最終得到21個機器學習篩選特征。
3 BSL-B3PP模型
本文提出BSL-B3PP模型,其模型架構如圖2所示。在該模型中,首先運用重采樣方法解決B3DB數據集中的數據類別不平衡問題,然后采用SL算法,融合K近鄰算法(k-near neighbors,KNN)、極致梯度提升(extreme gradient boosting,XGBoost)、輕型梯度提升機(light gradient boosting machine,LightGBM)等基學習器,增強BSL-B3PP模型的預測性能。另外,本文設計了一種基學習器綜合度量(base learner synthesis metrics,BLSM)方法,用于評估基學習器組合對提升SL算法性能的貢獻度,并從中篩選出最佳的基學習器組合。

3.1 數據重采樣
B3DB數據集中BBB+和BBB-化合物樣本數量不平衡,兩者比例為1.74:1。為此,本文對B3DB化合物特征數據集采用8種數據重采樣算法[20],包括:隨機下采樣(random under-sampling,RUS)、隨機過采樣(random over-sampling,ROS)、合成少數過采樣技術(synthetic minority over-sampling technique,SMOTE)、自適應合成采樣(adaptive synthetic sampling approach,ADASYN)、SMOTE+編輯最近鄰(SMOTE+edited nearest neighbors,SMOTENN)、邊界SMOTE(borderline SMOTE,BDLSMOTE)、SVM+SMOTE(SVMSMOTE)和KNN+SMOTE(KSMOTE),由此得到8個重采樣后的數據集,再加上未作任何處理的原始數據集,一共得到9個數據集。
在上述算法中,RUS是一種欠采樣算法,會將多數類樣本數量減少至與少數類樣本數量持平,導致樣本數量降低,進而影響模型的預測性能,即發生欠擬合。除了RUS和SMOTENN之外,其他重采樣策略都是過采樣算法,會將少數類樣本數量提高到與多數類樣本數量持平。其中ROS算法會隨機復制少數類樣本來增加樣本量,但由此產生的大量重復數據會使得模型出現過擬合;而SMOTE、ADASYN以及基于SMOTE改進的其他算法(包括KSMOTE、SVMSMOTE等)都是在新數據生成環節作改進,以盡可能避免過擬合。與上述算法都不同的是,SMOTENN是一種結合了欠采樣與過采樣的算法,即在降低多數類樣本量的同時,也提升少數類樣本量,但也并不能完全解決欠擬合和過擬合問題。
采用不同算法生成的重采樣數據集,對模型的具體影響也各有差異,應當進行實驗驗證比對。本文將上述9種數據集分別應用于基學習器以及BSL-B3PP模型的訓練,然后比較訓練結果,以此篩選出最適合的重采樣策略。
3.2 BLSM度量方法
為選出性能好且差異大的基學習器組合用于BSL-B3PP模型中的SL算法,本文提出一種BLSM度量方法,用于評估不同基學習器組合對提升SL算法性能的貢獻度,并從中篩選出最佳的基學習器組合。該方法可分為以下幾步:
步驟1:獲取基學習器訓練結果與運行時長
使用B3DB化合物特征數據集來訓練不同的基學習器,訓練結果的評價指標包括AUC評分、馬修斯相關系數(Matthews correlation coefficient,MCC)評分以及在訓練過程中所耗費的運行時長T。
步驟2:評估基學習器的綜合分類能力
為了更方便地評估基學習器的分類性能,可采用基學習器的AUC和MCC指標的乘積來量化基學習器的分類能力,如式(1)所示:
![]() |
其中,和
分別表示基學習器m的AUC指標和MCC指標,
是兩者的乘積。AUC和MCC是評估基學習器分類性能的主要指標,這兩個指標的值越大,則表示基學習器的分類性能越好,因此二者相乘的結果可以更直觀地反映基學習器的分類能力。
步驟3:計算基學習器的差異度
本文使用成對卡巴(Kappa)度量法[21]來衡量基學習器i與j之間的差異度,以表示,如式(2)所示:
![]() |
其中,和
代表基于基學習器i和j預測正確或錯誤的樣本數量進行計算的中間結果,如式(3)和式(4)所示:
![]() |
![]() |
其中,為兩個基學習器i和j都預測正確的樣本數量,
為i預測正確而j預測錯誤的樣本數量,
為i預測錯誤而j預測正確的樣本數量,
為i和j都預測錯誤的樣本數量。
代表基學習器i與j的相對差異程度,其值與i和j的差異度呈正相關。由SL算法原理可知,差異度越大的基學習器越有利于該算法性能的提升,因此
的值應盡量大。
步驟4:計算基學習器組合的BLSM值
優秀的基學習器組合應擁有較強的分類能力C、較短的運行時長T和和較大的差異度K。因此應該充分考慮將上述因素用于計算基學習器組合對于提升SL算法性能的貢獻度,如式(5)所示:
![]() |
其中,和
為不同的基學習器;
表示基學習器組合
對SL算法性能的貢獻度。BLSM值越大,則說明該基學習器組合對提升SL算法性能的作用越大。
3.3 模型構建過程
BSL-B3PP模型的構建流程如下:
(1)將在3.1節中的9種重采樣數據集,按9:1的比例分劃成訓練集與測試集。使用訓練集進行模型訓練時,采用五折交叉驗證法進行模型驗證,然后使用測試集進行模型測試。
(2)應用多種機器學習算法,包括邏輯回歸(logistic regression,LR)、SVM、RF、KNN、XGBoost、LightGBM和類別提升算法(category boosting,CatBoost)等,對于每種算法輸入9種重采樣數據集然后訓練得到9種基學習器。通過對比訓練結果,篩選出每種機器學習算法所對應的最佳基學習器和重采樣策略。
(3)運用BLSM度量方法,計算不同基學習器組合對提升SL算法性能的貢獻度,由此篩選出具有較高貢獻度的基學習器組合用于SL算法。
(4)分別應用單一的基學習器作為SL算法的元學習器,對比得出效果最好的元學習器。
(5)對于應用了最佳基學習器組合及元學習器的SL算法,依次輸入所有的重采樣數據集進行BSL-B3PP模型構建與調優,同時得到與該模型最匹配的重采樣策略。
4 實驗驗證
為驗證BSL-B3PP模型結構的合理性以及評價其性能,本文設計了4個實驗:首先通過訓練若干個基學習器,從中遴選出最適合SL算法的基學習器;然后,對比驗證各種重采樣策略對BSL-B3PP模型的影響,并選出最佳的重采樣策略;接著,對BSL-B3PP模型應用不同的特征集進行對比實驗,驗證了融合運用藥物化學背景特征和機器學特征的必要性;最后,將BSL-B3PP模型與經典模型進行預測能力上的橫向對比。
4.1 SL算法基學習器遴選實驗
SL算法的性能表現取決于其基學習器自身的算法特點以及與之搭配的重采樣策略。因此,在本實驗中將首先通過訓練得出若干個基學習器及其最佳的重采樣策略,然后再運用BLSM方法篩選出最佳的基學習器組合。
4.1.1 基學習器訓練結果分析
本實驗選用7種基學習器LR、SVM、RF、KNN、XGBoost、LightGBM和CatBoost進行訓練:首先,將9個B3DB重采樣數據集分別作為上述基學習器的輸入;然后進行調參優化,獲取每個基學習器對應于上述數據集的訓練結果;然后,選出每個基學習器的最佳訓練結果及相應的最佳重采樣策略。
實驗結果如表2所示,訓練結果指標包括AUC、MCC、敏感性(sensitivity,SE)、特異性(specificity,SP)和ACC指標(Ex_ACC)。其中,Ex_ACC表示基學習器的擬合能力,通過使用Wang等[3]研究中提及的外部驗證集計算而得。標注“*”表示,該學習器與重采樣策略組合時采用了權重損失方法(weight loss function,WLF)[3],即試圖通過調整不同樣本類別的權重來獲得更好的效果。

4.1.2 基學習器組合的遴選
基學習器組合的遴選是指應用BLSM方法,從表2中篩選出最合適的基學習器進行組合,作為SL算法的基學習器。由于XGBoost、LightGBM和CatBoost都屬于梯度提升決策樹算法類,因此只需選擇最佳的XGBoost作為候選基學習器;其他候選基學習器則包括RF、KNN和SVM。根據各基學習器的分類能力C、運行時長T以及它們的差異度K,可計算出各基學習器之間的BLSM值,如表3所示。

從表3可以發現,SVM與其他基學習器組合的BLSM值較低,說明其對于提升SL算法性能的貢獻有限;而其他基學習器組合的BLSM值較大,表明它們能更有效地提升SL算法性能。因此排除SVM后,可得到最佳的基學習器組合為RF+XGBoost+KNN。
4.2 重采樣策略對比實驗
BSL-B3PP模型使用最佳基學習器組合RF+XGBoost+KNN,然后通過對比多種基學習器作為元學習器的表現,最終選定LR為最合適于SL算法的元學習器,進而對比不同重采樣策略的效果。
對BSL-B3PP模型應用不同重采樣策略,進行100次五折交叉驗證后的訓練結果如表4所示。通過對比AUC、MCC以及Ex_ACC可知,結合了ADASYN的BSL-B3PP模型具有最佳的分類和擬合能力。這是因為ADASYN是一種自適應合成算法,可根據樣本分布自動決定每個少數類樣本所需要合成的樣本數量,相當于為每個少數類樣本自動添加權重,提升了模型在分類邊緣區域的分類ACC。而B3DB數據集中少數類邊緣樣本較多,所以應用了ADASYN重采樣策略的分類器更適合該數據集。

值得注意的是,應用SMOTENN重采樣策略得到的Ex_ACC結果較差,但其他指標卻非常高,說明產生了過擬合。因此,SMOTENN的實驗結果不具備參考價值,應當被忽略。
4.3 運用不同特征集的對比實驗
為檢驗從藥物化學背景和機器學習角度構建化合物特征數據集的必要性,本實驗在相同條件下,分別對僅使用9個藥物化學背景特征(簡稱為9特征模型)、僅使用21個機器學習篩選特征(簡稱為21特征模型),以及使用全部30個特征(簡稱為30特征模型)的三種情況進行訓練,結果如圖3所示。

由圖3可知,30特征模型的性能均優于其余兩者。而且值得注意的是,21特征模型的Ex_ACC低于9特征模型,但前者的其他指標均高于后者或持平,說明前者出現了過擬合。整體而言,30特征模型既具備了其他兩種情形的優點,也避免了過擬合,證明了同時從藥物化學背景和機器學習角度來篩選特征是合理和必要的。
4.4 BSL-B3PP與經典模型的對比實驗
為驗證BSL-B3PP模型的整體性能,本文將其與多種經典機器學習模型進行預測能力上的對比。為保證可比性,所有經典模型都使用與BSL-B3PP模型相同的數據集和ADASYN重采樣策略。實驗結果如表5所示,在所有指標對比中,BSL-B3PP模型都更具優勢。

5 討論
本文提出了一種融合重采樣技術與SL算法的BBB透過率預測模型BSL-B3PP,該模型基于B3DB數據集,分別從藥物化學背景與機器學習的角度構建B3DB化合物特征數據集,并總結了各種特征的BBB+量化區間。在BSL-B3PP模型中,運用了重采樣技術解決數據集中的數據類別不平衡問題,并利用SL算法提升模型預測未知化合物BBB透過率的ACC。此外,本文還提出了一種BLSM方法,用于評估基學習器組合對提升SL算法性能的貢獻度,以便篩選出最佳的基學習器組合。實驗結果表明,BSL-B3PP模型能較準確地預測BBB+和BBB-化合物樣本的BBB透過率,可有助于降低CNS藥物研發成本,加快CNS藥物研發進程。
在下一步工作中,本課題組將繼續優化SL算法的學習策略和提升基學習器性能,以進一步提高預測藥物BBB透過率的準確性。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:蘇慶設計論文主題及框架,對論文進行修改統稿,審核同意發表稿件;肖淦耀負責實驗與論文初稿撰寫,承擔模型代碼編寫及數據分析;周渭負責論文修訂,并提出建設性修改意見;杜志云對論文構思及實驗設計提供指導。