對靶向蛋白的藥物作用進行預測可以促進藥物新作用的發現。新近的研究更傾向于單獨將特定的矩陣填補算法應用在靶向蛋白和藥物的相互作用預測中。單模型的矩陣填補算法準確度較低,因此應用在藥物—靶向蛋白作用預測方面也難以獲得滿意的結果。AdaBoost 算法是一種由多分類器組合生成強分類器的算法框架,其在分類應用領域的實用性和有效性已被證明。靶向蛋白的藥物作用預測是一個矩陣填補問題,即是一種評分預測過程,因此本文在使用 AdaBoost 算法對藥物—靶向蛋白作用進行預測前,將藥物—靶向蛋白作用預測的矩陣填補問題轉化為分類問題,將 AdaBoost 算法應用在靶向蛋白的藥物作用預測評分上,充分利用 AdaBoost 算法框架對多個弱分類器進行融合從而提升性能,得以進行準確的藥物—靶向蛋白作用預測。基于公測數據集的實驗結果表明,本文提出的算法在預測準確度方面超過了大多數經典算法和新近算法,較好地克服了新近基于機器學習方法單算法的局限性,更好地挖掘隱含因素,有效提升了預測準確度。
引用本文: 古萬榮, 謝賢芬, 何亦琛, 張子燁. 基于AdaBoost算法的藥物—靶向蛋白作用預測算法. 生物醫學工程學雜志, 2018, 35(6): 935-942. doi: 10.7507/1001-5515.201802026 復制
引言
在藥物發現研究中,對藥物—靶向蛋白相互作用(drug-target interaction,DTIs)預測是一個重要的研究熱點。當前,一種新藥物的發現仍然是一個非常昂貴且低效的過程,大約每一個新分子實體(new molecular entity,NME)需要花費 18 億美元的研發成本[1]。此外,新藥從研發到市場銷售往往需要花費約 10 年時間。舉個例子,每年只有約 20 種新藥被美國食品和藥品監督管理局(food and drug administration,FDA)批準。近年來,成功獲批的新藥數量在逐年下降。在上述情況下,對舊藥物的新作用的挖掘成為一個新的研究方向。
隨著藥物—靶向蛋白作用研究的深入,相關的公測數據庫和研究在逐年增加。例如,DrugBank 數據庫具有豐富的生物和化學標注數據[2],且具有詳細的藥物數據資料,包括藥物類型、藥物簡介、化學結構、藥物成分、藥物靶點、藥物相互作用等,該數據庫由加拿大衛生研究院提供支持。此外,化學相互作用搜索工具(search tool for interactions of chemicals,STITCH)是一種預測化學—蛋白相互作用的公測數據集[3]。STITCH 數據庫的關聯數據主要來源于高通量實驗、基因組上下文預測、共同表達、自動化文本挖掘等,更詳細的信息參見本文實驗部分。新近的研究表明,經 FDA 批準的藥物中約 96% 標注有靶向作用蛋白。然而,仍然有許多靶向蛋白和其他藥物的作用關系是未知的。
過去數十年,有許多學者對藥物—靶向蛋白進行了系統研究,而傳統的藥物發現主要遵循“一個分子,一個目標,一種疾病”的范式,這種歷史范式確定了一些影響特定蛋白質的有效化學分子。然而,這種傳統的藥物發現范式的主要局限性在于,藥品的設計目標是針對疾病系統中的個體因素,但是復雜的疾病在本質上是多因素的,即疾病及癥狀是不同基因和途徑的突變和干預的逐漸積累,在這種多重因素中藥物發現的準確性很容易受到影響。傳統模式忽視了藥物與其靶向蛋白之間復雜的相互作用,而許多復雜疾病往往與多種目標蛋白有關,因此這種模式并沒有像預期的那樣加速藥物發現的速度[4-5]。大多數藥物靶點是細胞蛋白,其目的是通過與化合物有選擇性的相互作用來治療或診斷疾病。目前的研究表明,經典的治療性藥物靶標包含 130 個蛋白質家族,如酶、G 蛋白偶聯受體(G-protein-coupled receptors,GPCRs)、離子通道和轉運體、核激素受體等[6-7]。據估計,人類基因組中約有 6 000~8 000 個具有藥理學價值的靶點,但是到目前為止,這些目標中只有小部分驗證了與已批準的藥物之間的相互作用,大量假定的藥物靶點仍有待驗證[7-9]。由于藥物和蛋白的特征的高維性和復雜性,新近研究提出使用機器學習方法對藥物和蛋白的相互作用進行自動挖掘,借助于數值分析和挖掘的手段,將藥物和靶向蛋白作用問題轉化為協同過濾、矩陣分解或評分預測問題,提高了藥物和靶向蛋白作用預測的效率。雖然相對于傳統藥物發現,使用機器學習方法已經具備明顯優勢,且隨著人工智能和高性能計算的發展,借助于計算機手段進行該領域的研究和應用也將成為未來的發展方向,但就目前而言,該領域內的研究仍然存在至少以下兩個問題:
(1)在單個機器學習算法中,很難將復雜的參數和隱含的作用關聯挖掘出來[10];另外,在單個機器學習算法中,如果模型過于簡單,則會影響預測準確率,如果過于復雜,即參數過多,則會產生過擬合問題。
(2)藥物冷關聯問題仍然無法在基于矩陣填補思想的預測算法中得到很好的解決[11];冷關聯問題,是指在推薦算法或評分預測研究中,存在部分對象和其他對象關聯很少的現象,如果冷關聯太多,對預測算法具有較大影響。
為了解決以上問題,本文提出一種較高效的基于 AdaBoost 算法的提升方法,即將多個弱分類器組合在一起,形成一個強的分類器。同時,本文通過對 AdaBoost 算法進行改進,將評分預測問題轉化為分類問題,將算法框架應用到藥物—靶向蛋白相互作用預測的矩陣填補研究中。本文提出的方法利用機器學習算法進行藥物—靶向蛋白作用預測,相較于傳統方法,具有高效、低成本的優勢,同時也較好地克服了新近基于機器學習方法的單算法的局限性,能夠更好地挖掘隱含因素,有效提升預測準確度,在藥物冷關聯問題方面,也比新近方法更好。
1 相關研究介紹
新近的藥物—靶向蛋白作用預測可以大致分為 3 類:基于網絡模型的方法、基于機器學習的方法以及其他模型方法。
(1)基于網絡模型的方法
基于網絡模型的方法是新近比較常用的藥物—靶向蛋白作用預測方法。周福家等[12]提出了尋找多目標優化解決方法(multiple target optimal intervention,MTOI)來獲得最佳的疾病轉換流程,通過最佳的疾病轉換流程的挖掘來確定藥物—靶向蛋白作用。Campillos 等[11]提出了一種基于藥物邊緣效應相似度的方法來確定兩種藥物是否對于同一種靶向蛋白具有相似作用。Chen 等[4]提出基于網絡模型的隨機游走方法來挖掘藥物—靶向蛋白作用。
(2)基于機器學習的方法
最近,有研究將藥物—靶向蛋白的點對標注為“正”、“負”標簽樣本,然后進行有監督的學習預測。這種情況下,“負”標簽沒有作用關聯,因此不能確定“負”標簽的標注。另外一種常見的基于機器學習的模型是將藥物—靶向蛋白看作二分圖模型,然后基于二分圖進行挖掘,Yamanishi 等[13]提出了一種核回歸的方法來挖掘藥物—靶向蛋白的二分圖。
(3)其他模型方法
其他模型方法包括:Keiser 等[14]提出了使用化學相似度來預估藥物—靶向蛋白的相互作用關系;另外一種常用方法是使用基于概率矩陣分解的方法(probabilistic matrix factorization,PMF)來預測藥物—靶向蛋白關系[15]。
2 理論基礎原理
2.1 AdaBoost 算法
AdaBoost 算法是一個經典的自適應集成算法,其基本原理在于通過對弱可學習的算法進行集成,進而生成強可學習的模型。該算法需要有輸入數據集 D,若干個基礎分類模型集合 C。該算法首先通過對若干個訓練樣本的學習訓練獲得第一個弱分類器;然后,將錯誤分類的樣本和其他未訓練樣本一起構成新的訓練樣本集,通過再次訓練獲得第二個弱分類器;再然后,將以上兩次學習都分類錯誤的樣本加上未學習的樣本一起構成新的訓練樣本,進而得到第三個弱分類器;以此類推,通過若干次迭代后,該分類器得到性能加強和提升,逐漸變成強分類器[10]。現在,AdaBoost 算法已被 Schapire[16]證明弱可學習和強可學習是等價的。
2.2 矩陣分解模型
矩陣分解模型起源于代數中的奇異值分解,是挖掘具有二分圖結構的推薦問題的重要工具之一,它通過矩陣降維的方式將原本較稀疏的矩陣缺失數據進行補全。在挖掘二分圖結構關系中,可以將藥物—靶向蛋白的作用關系矩陣分解為兩個較低維度的矩陣的乘積,如式(1)所示:
![]() |
其中,
,
是兩個降維后的矩陣。P 矩陣包含了全部藥物及其隱含屬性,Q 矩陣包含了全部靶向蛋白及其隱含屬性。k 是隱含因子的維度,大小可根據經驗設定。其物理意義是:假設每個藥物都有 k 個隱含的屬性,這些屬性可以和靶向蛋白的 k 隱含屬性相對應,使之產生作用關聯。因此,藥物對靶向蛋白的作用可以用
表示,如式(2)所示:
![]() |
其中,pdk = P(d,k),qtk = Q(t,k)在現實場景中,可能會面臨更復雜的情況,因此應該對模型進行適當的修正,加入偏差系數等。
3 基于 AdaBoost 算法的藥物—靶向蛋白作用預測算法
在推薦系統的評分預測模型中,一般先將用戶集合和物品集合分別定義為:U = {u1,u2,
,u|U|},I = {i1,i2,
,i|I|}。并以此為基礎定義評分矩陣,即:D = {(u,i,rui)1,(u,i,rui)2,
,(u,i,rui)m},共計 m 個評分,一般而言,有效的評分數 m ? |U| × |I|。
然而,傳統的 AdaBoost 算法框架適用于分類問題,如前文的算法框架偽代碼。如要將其應用到藥物—靶向蛋白作用預測中,則需要將矩陣分解模型轉化為分類模型,因此需要對 AdaBoost 算法模型進行改進,分別需要解決以下問題:
(1)如何將評分預測問題轉化為分類問題,即將藥物—靶向蛋白作用預測的二值矩陣分解和填補問題轉化為 AdaBoost 算法框架可以應用的問題。
(2)模型錯誤率的評估和計算。
(3)訓練數據的分類權重分布如何與矩陣分解模型結合。
(4)如何將多個模型集成起來。
3.1 問題轉化
AdaBoost 算法對多弱分類模型集成的性能已經得到較多研究成果確認。因此,本文將藥物—靶向蛋白作用預測問題轉化為二值分類問題。首先,引入一個參數 ? 作為閾值,該閾值的作用是用于評判矩陣分解模型中的評分預測結果是好、還是壞。假設某藥物對某靶向蛋白的作用預測結果為 3,通過矩陣分解模型得出的分值如果在[3??,3 + ?]區間內,則認為該矩陣分解模型是比較準確的,反之則認為該模型不準確。通過這種映射,將矩陣分解的評分預測模型轉化為二值分類問題。
3.2 模型錯誤率評估
分類方法的模型錯誤率很容易通過錯誤分類樣本進行統計,評分預測問題的錯誤率評估往往通過預測結果
和真實結果 rdt 的差距來表示,比如以均方根誤差(root mean square error,RMSE)或平均絕對誤差(mean absolute error,MAE)等來表示。在本文提出的方法處理中,當預測結果
時,被認為是準確的,即不計算其錯誤率,否則使用以下計算,如式(3)所示:
![]() |
公式中,d 表示藥物集合,t 表示靶向蛋白集合。
3.3 權重更新
AdaBoost 算法的有效性很大程度上依賴于各種基礎模型的權重分布,即對錯誤的分類數據會加大權重,在下一輪迭代中會更加重視其訓練,反之則降低權重,不斷迭代后,分類器逐漸更具魯棒性。最后將所有模型集成起來以達到最優效果。因此,本文定義損失函數如式(4)所示:
![]() |
將損失函數加入到每個訓練數據中以增強訓練效果,如式(5)所示:
![]() |
本文使用隨機梯度下降法來實現藥物—靶向蛋白作用矩陣中的預測問題,即將權重賦值給如式(6)所示:
![]() |
其中,wdt 是藥物 d 對于靶向蛋白 t 的作用評分的權重。每個因子的遞推迭代公式如式(7)所示:
![]() |
根據前面的錯誤率,權重更新公式如式(8)所示:
![]() |
其中,參數 μ 是調整參數,用于自適應訓練數據的調整。
3.4 模型集成
通過 AdaBoost 算法展開訓練,可以集成 T 個基礎訓練模型的融合模型,并通過加權平均的方法來集成各個模型的藥物—靶向蛋白作用預測框架,每個模型有一個對應權重 αi ,最終的藥物—靶向蛋白作用預測結果如式(9)所示:
![]() |
3.5 算法設計與分析
基于前文討論,AdaBoost 算法框架的藥物—靶向蛋白作用預測算法具體如下:
輸入:數據集
;基礎評分預測模型 L,如奇異值分解方法(singular value decomposition,SVD)或概率矩陣分解(probabilistic matrix factorization,PMF)等;訓練輪數 T;更新權重的控制參數 μ;
輸出:
1:
;
2:for i = 1,
,T do
3:
;
4:for all
in Di,the set is Di- do
5:
;
6:end for
7:
;
8:
;
9:end for
上述算法有明確的輸入,即需要基本的算法模型,如 SVD 奇異值分解算法;其次,需要有訓練集 D、訓練輪數 T、判斷作用分準確與否的閾值 ? 以及更新權重的控制參數 μ。
4 實驗與結果分析
本文實驗基于兩個公測數據集:人工標注靶點和藥物在線資源(manually annotated targets and drugs online resource,MATADOR)和前文“引言”部分提及的 STITCH 數據集[3, 17],對比分析了方法中的參數及對預測結果的影響,并針對若干經典分類方法和新近方法進行仿真分析。
4.1 數據集與評測指標
本文的實驗數據集主要來自兩個公開數據集:① MATADOR(網址為:http://matador.embl.de/)[17],是一個公開的來源于人工整理和自動文本挖掘的在線治療數據庫,其中包含了許多藥物—靶向蛋白的相互作用關系數據。本文實驗選用了該數據庫中具有藥物—靶向蛋白直接或間接作用關系的數據。MATADOR 數據庫中包含了 784 種藥物,2 431 種靶向蛋白和 13 064 個藥物—靶向蛋白相互作用,其中共包含了 7 862 種直接和 5 202 種間接作用關系。② STITCH(網址為:http://stitch.embl.de/)[3],該數據庫提供了許多靶向蛋白及其化學成分的相互關系數據,這些標注關系來源于已知的實驗和文獻,具有較高的可信度。本文選用了 STITCH 數據庫中和 MATADOR 數據庫重合的藥物—靶向蛋白數據。STITCH 數據庫中包含了 598 種藥物,671 種靶向蛋白和 3 296 個有效的藥物—靶向蛋白作用對,在其中分別有 2 589、945 和 1 493 條相互作用關系,分別對應于綁定、激活和隱含關系。為了能在作用預測中評分更直觀,本文將數據集中的作用分數均勻映射到[0,5]之間。
本文實驗將上述數據集平均分為 5 份,然后使用 5 折交叉驗證方法進行實驗,其中 1 份作為測試集,剩余 4 份作為訓練集。由于藥物—靶向蛋白作用預測是一種評分預測問題,因此常使用 RMSE(以符號 RMSE 表示)方法作為評價指標[18],定義為預測值與真實值之間的差的平方均值,如式(10)所示:
![]() |
與 RMSE 評測標準同樣常用的是 MAE,區別在于 RMSE 對于錯誤作用預測的懲罰扣分會更多,即對錯誤結果更苛刻。
本文還使用了預測準確率(accuracy,Accu)和召回率(recall,Rec)兩個指標。這兩個指標的計算依賴于實際樣本數據和預測統計數據,如表 1 所示,真陽性(true positive,TP)(以符號 TP 表示),指具體的藥物—靶向蛋白具備相互作用且預測結果顯示也具備相互作用的統計結果總數。以此類推,假陰性(false negative,FN)(以符號 FN 表示),指藥物—靶向蛋白具備相互作用,但預測結果顯示無相互作用的統計結果總數;假陽性(false positive,FP)(以符號 FP 表示),指藥物—靶向蛋白不具備相互作用,但預測結果顯示有相互作用的統計結果總數;真陰性(true negative,TN)(以符號 TN 表示),指藥物—靶向蛋白不具備相互作用,預測結果也顯示無相互作用的統計結果總數。

通過以上的統計數據,Accu(以符號 Accu 表示)的計算結果如式(11)所示:
![]() |
Rec(以符號 Rec 表示)的計算結果如式(12)所示:
![]() |
4.2 實驗結果與分析
矩陣分解模型是評分預測模型中常用的方法,因此,本文的 AdaBoost 算法框架使用 SVD 方法和 PMF 模型作為藥物—靶向蛋白作用預測的基本預測模型。矩陣分解過程中的學習速率和懲罰系數是重要的預設參數,根據模型訓練經驗,本文在 SVD 方法中設定的學習速率為 0.01、懲罰系數為 0.01,對于 PMF 模型,設定學習速率為 0.005、懲罰系數為 0.02。
4.2.1 AdaBoost 算法框架對比分析
如表 2 所示,展示了本文提出的 AdaBoost 算法在藥物—靶向蛋白中的作用預測方法。從實驗結果可知,使用了 AdaBoost 算法相對于單個模型而言,效果有了較大的提升。

從實驗結果可知,在兩個不同的數據集和不同的基礎模型中,使用了 AdaBoost 算法的運算結果的誤差較小。其原因在于,使用 AdaBoost 算法將基礎方法進行融合提升,通過對分類錯誤進行二次迭代后不斷逼近,以此達到預測準確度提升的預期效果。
4.2.2 算法框架的相關參數分析
本文所提方法的參數主要有閾值 ?,訓練輪數 T,權重更新 μ,本實驗基于 STITCH 數據集,使用 SVD 方法進行實驗,實驗結果如圖 1 所示。

從以上實驗結果可知,閾值 ? 的選取對 RMSE 實驗結果的影響是先大再小,然后再變大,閾值 ? 在[0.1,1.0]取值的 10 個實驗數據中,當取 0.7 時,使得 RMSE 值最小。所以,如果想要得到最好的預測準確度,應當調整適當的閾值 ?,過大或過小都會對預測造成不良影響。
如圖 2 所示,隨著訓練輪數的增長,一開始精度提高較快,達到 7 次以上時,精度略有提高,但趨勢變緩。

如圖 3 所示,權重更新參數 μ 對藥物—靶向蛋白作用預測也具有明顯的影響,從實驗可知,μ = 0.4 時,準確度最高。

4.2.3 其他方法的準確度對比與分析
本實驗實現了一些經典的評分預測方法和新近方法作為基線方法進行對比,具體如下:
基于近鄰用戶的推薦算法(user-based)[19]:該算法應用到藥物—靶向蛋白預測中,將近鄰藥物看作是近鄰用戶。
基于近鄰物品的推薦算法(item-based)[20]:該算法應用到藥物—靶向蛋白預測中,將近鄰蛋白看作是近鄰物品。
樸素貝葉斯算法(Na?ve Bayes)[21]:是一種基于貝葉斯后驗概率的分類預測方法,常用于數據分類和評分預測。
支持向量機(support vector machine,SVM)方法[22]:這是一種性能比較優越的分類器模型,該算法使用超平面進行分類訓練,對非線性數據也可以采用核技術將其進行準確分類[23]。
MTOI(周福家等[12]提出):通過尋找多目標優化解決方法來獲得最優的疾病轉換狀態,通過最優的疾病轉換狀態的挖掘來確定藥物—靶向蛋白作用。
基于二分圖的核回歸方法(Yamanishi 等[13]提出):該方法通過將藥物—靶向蛋白關系映射為二分圖,然后通過核回歸方法挖掘二分圖的待預測節點。
基于化學相似度的方法(Keiser 等[14]提出):該方法通過蛋白質的化學相似度作為挖掘基礎,從而推斷藥物—靶向蛋白的作用關系。
以上方法的最終實驗結果如表 3 所示,“本文方法”是指本文使用 AdaBoost 算法的結果,基礎模型使用了 SVD 方法。

從表3實驗結果可知,本文算法獲得了較好結果,其原因在于,本文使用 AdaBoost 算法將基礎方法如 SVD 方法進行迭代融合,多輪迭代更逼近準確結果。從表 2 也可以看出,即便 SVD 方法不使用模型融合也獲得不差的結果,在使用了 AdaBoost 算法后,準確度明顯上升。
4.2.4 冷關聯問題的實驗
在藥物—靶向蛋白作用預測中,本文發現在訓練集中,有些藥物關聯的蛋白非常少,這就是評分預測研究中常見的“冷關聯問題”,冷關聯問題加劇了數據挖掘中的數據稀疏性的負面影響。本文對實驗選取的數據集進一步整理,形成關聯較少的數據集,以驗證本文方法對冷關聯數據集下的有效性。首先,對 MATADOR 數據集和 STITCH 數據集進行整理,挑選了藥物關聯數少于 3 的藥物、蛋白以及關聯信息。經過挑選后,MATADOR 數據庫中包含了 365 種藥物,958 種靶向蛋白和 5 211 個有效的藥物—靶向蛋白作用對,其中共包含了 3 851 種直接和 1 860 種間接作用關系。STITCH 數據庫中包含了 231 種藥物,158 種靶向蛋白和 1 213 個有效的藥物—靶向蛋白作用對,在其中分別有 512、254 和 447 條相互作用關系,分別對應于綁定、激活和隱含關系。為了便于區分,挑選后的數據庫分別稱為 MATADOR—冷關聯(cold)(以符號 MATADOR-C 表示)和 STITCH—冷關聯(cold)(以符號 STITCH-C 表示)。實驗結果如表 4 所示。

從實驗結果可知,冷關聯數據集中的實驗結果普遍都不好,不管是 Accu、Rec 還是 RMSE,各種方法都受到很大影響。本文方法除了在 STITCH-C 數據集上的 Rec 指標中,比 SVM 方法較差外,其余實驗結果均獲得較好結果,但該指標中的結果數據相差也較微小。
5 結語
本文提出使用融合學習模型的 AdaBoost 算法來提高藥物—靶向蛋白作用預測的效果,首次在該領域使用這種融合算法。實驗結果表明,本文方法具有較高的預測準確度。使用 AdaBoost 算法可以讓弱分類器融合組成較強分類方法,提升分類性能,使用本文方法還能將作用預測矩陣切換為分類算法框架。本文工作是對目前新近算法常使用單機器學習模型進行藥物—靶向蛋白作用預測的一種多模型融合嘗試。將來的研究工作中,可能還會面臨兩個方面的問題函待解決:① 隱含關聯特征如何進行有效提取及其如何確定其在相互作用挖掘中的權重。對于數據挖掘中進行特征工程研究,業界已經有了深度學習方法(deep learning,DL)及其相關的軟硬件平臺體系,并在人工智能等領域取得了良好的應用效果。如何將 DL 應用在藥物—靶向蛋白作用預測將是未來的一個重要研究方向。② 海量數據的快速處理。隨著藥物和病種亞型的增加,相互作用關聯關系迅速增長,如何處理海量的關聯關系也將是今后的重要研究方向。映射—降解(map-reduce,MR)處理框架是目前流行的海量數據批處理框架,在未來工作中,為更好地處理海量的藥物—靶向蛋白、蛋白—蛋白等作用預測,本研究還將持續研究本文算法在 MR 框架中的分布式集群處理方法,使其可快速獲得分析結果,并推進該研究的應用實踐。在特征挖掘的研究方面,本研究將使用 DL 方法,深入挖掘隱含特征集的關系,以提升藥物—靶向蛋白作用的預測準確度。
引言
在藥物發現研究中,對藥物—靶向蛋白相互作用(drug-target interaction,DTIs)預測是一個重要的研究熱點。當前,一種新藥物的發現仍然是一個非常昂貴且低效的過程,大約每一個新分子實體(new molecular entity,NME)需要花費 18 億美元的研發成本[1]。此外,新藥從研發到市場銷售往往需要花費約 10 年時間。舉個例子,每年只有約 20 種新藥被美國食品和藥品監督管理局(food and drug administration,FDA)批準。近年來,成功獲批的新藥數量在逐年下降。在上述情況下,對舊藥物的新作用的挖掘成為一個新的研究方向。
隨著藥物—靶向蛋白作用研究的深入,相關的公測數據庫和研究在逐年增加。例如,DrugBank 數據庫具有豐富的生物和化學標注數據[2],且具有詳細的藥物數據資料,包括藥物類型、藥物簡介、化學結構、藥物成分、藥物靶點、藥物相互作用等,該數據庫由加拿大衛生研究院提供支持。此外,化學相互作用搜索工具(search tool for interactions of chemicals,STITCH)是一種預測化學—蛋白相互作用的公測數據集[3]。STITCH 數據庫的關聯數據主要來源于高通量實驗、基因組上下文預測、共同表達、自動化文本挖掘等,更詳細的信息參見本文實驗部分。新近的研究表明,經 FDA 批準的藥物中約 96% 標注有靶向作用蛋白。然而,仍然有許多靶向蛋白和其他藥物的作用關系是未知的。
過去數十年,有許多學者對藥物—靶向蛋白進行了系統研究,而傳統的藥物發現主要遵循“一個分子,一個目標,一種疾病”的范式,這種歷史范式確定了一些影響特定蛋白質的有效化學分子。然而,這種傳統的藥物發現范式的主要局限性在于,藥品的設計目標是針對疾病系統中的個體因素,但是復雜的疾病在本質上是多因素的,即疾病及癥狀是不同基因和途徑的突變和干預的逐漸積累,在這種多重因素中藥物發現的準確性很容易受到影響。傳統模式忽視了藥物與其靶向蛋白之間復雜的相互作用,而許多復雜疾病往往與多種目標蛋白有關,因此這種模式并沒有像預期的那樣加速藥物發現的速度[4-5]。大多數藥物靶點是細胞蛋白,其目的是通過與化合物有選擇性的相互作用來治療或診斷疾病。目前的研究表明,經典的治療性藥物靶標包含 130 個蛋白質家族,如酶、G 蛋白偶聯受體(G-protein-coupled receptors,GPCRs)、離子通道和轉運體、核激素受體等[6-7]。據估計,人類基因組中約有 6 000~8 000 個具有藥理學價值的靶點,但是到目前為止,這些目標中只有小部分驗證了與已批準的藥物之間的相互作用,大量假定的藥物靶點仍有待驗證[7-9]。由于藥物和蛋白的特征的高維性和復雜性,新近研究提出使用機器學習方法對藥物和蛋白的相互作用進行自動挖掘,借助于數值分析和挖掘的手段,將藥物和靶向蛋白作用問題轉化為協同過濾、矩陣分解或評分預測問題,提高了藥物和靶向蛋白作用預測的效率。雖然相對于傳統藥物發現,使用機器學習方法已經具備明顯優勢,且隨著人工智能和高性能計算的發展,借助于計算機手段進行該領域的研究和應用也將成為未來的發展方向,但就目前而言,該領域內的研究仍然存在至少以下兩個問題:
(1)在單個機器學習算法中,很難將復雜的參數和隱含的作用關聯挖掘出來[10];另外,在單個機器學習算法中,如果模型過于簡單,則會影響預測準確率,如果過于復雜,即參數過多,則會產生過擬合問題。
(2)藥物冷關聯問題仍然無法在基于矩陣填補思想的預測算法中得到很好的解決[11];冷關聯問題,是指在推薦算法或評分預測研究中,存在部分對象和其他對象關聯很少的現象,如果冷關聯太多,對預測算法具有較大影響。
為了解決以上問題,本文提出一種較高效的基于 AdaBoost 算法的提升方法,即將多個弱分類器組合在一起,形成一個強的分類器。同時,本文通過對 AdaBoost 算法進行改進,將評分預測問題轉化為分類問題,將算法框架應用到藥物—靶向蛋白相互作用預測的矩陣填補研究中。本文提出的方法利用機器學習算法進行藥物—靶向蛋白作用預測,相較于傳統方法,具有高效、低成本的優勢,同時也較好地克服了新近基于機器學習方法的單算法的局限性,能夠更好地挖掘隱含因素,有效提升預測準確度,在藥物冷關聯問題方面,也比新近方法更好。
1 相關研究介紹
新近的藥物—靶向蛋白作用預測可以大致分為 3 類:基于網絡模型的方法、基于機器學習的方法以及其他模型方法。
(1)基于網絡模型的方法
基于網絡模型的方法是新近比較常用的藥物—靶向蛋白作用預測方法。周福家等[12]提出了尋找多目標優化解決方法(multiple target optimal intervention,MTOI)來獲得最佳的疾病轉換流程,通過最佳的疾病轉換流程的挖掘來確定藥物—靶向蛋白作用。Campillos 等[11]提出了一種基于藥物邊緣效應相似度的方法來確定兩種藥物是否對于同一種靶向蛋白具有相似作用。Chen 等[4]提出基于網絡模型的隨機游走方法來挖掘藥物—靶向蛋白作用。
(2)基于機器學習的方法
最近,有研究將藥物—靶向蛋白的點對標注為“正”、“負”標簽樣本,然后進行有監督的學習預測。這種情況下,“負”標簽沒有作用關聯,因此不能確定“負”標簽的標注。另外一種常見的基于機器學習的模型是將藥物—靶向蛋白看作二分圖模型,然后基于二分圖進行挖掘,Yamanishi 等[13]提出了一種核回歸的方法來挖掘藥物—靶向蛋白的二分圖。
(3)其他模型方法
其他模型方法包括:Keiser 等[14]提出了使用化學相似度來預估藥物—靶向蛋白的相互作用關系;另外一種常用方法是使用基于概率矩陣分解的方法(probabilistic matrix factorization,PMF)來預測藥物—靶向蛋白關系[15]。
2 理論基礎原理
2.1 AdaBoost 算法
AdaBoost 算法是一個經典的自適應集成算法,其基本原理在于通過對弱可學習的算法進行集成,進而生成強可學習的模型。該算法需要有輸入數據集 D,若干個基礎分類模型集合 C。該算法首先通過對若干個訓練樣本的學習訓練獲得第一個弱分類器;然后,將錯誤分類的樣本和其他未訓練樣本一起構成新的訓練樣本集,通過再次訓練獲得第二個弱分類器;再然后,將以上兩次學習都分類錯誤的樣本加上未學習的樣本一起構成新的訓練樣本,進而得到第三個弱分類器;以此類推,通過若干次迭代后,該分類器得到性能加強和提升,逐漸變成強分類器[10]。現在,AdaBoost 算法已被 Schapire[16]證明弱可學習和強可學習是等價的。
2.2 矩陣分解模型
矩陣分解模型起源于代數中的奇異值分解,是挖掘具有二分圖結構的推薦問題的重要工具之一,它通過矩陣降維的方式將原本較稀疏的矩陣缺失數據進行補全。在挖掘二分圖結構關系中,可以將藥物—靶向蛋白的作用關系矩陣分解為兩個較低維度的矩陣的乘積,如式(1)所示:
![]() |
其中,
,
是兩個降維后的矩陣。P 矩陣包含了全部藥物及其隱含屬性,Q 矩陣包含了全部靶向蛋白及其隱含屬性。k 是隱含因子的維度,大小可根據經驗設定。其物理意義是:假設每個藥物都有 k 個隱含的屬性,這些屬性可以和靶向蛋白的 k 隱含屬性相對應,使之產生作用關聯。因此,藥物對靶向蛋白的作用可以用
表示,如式(2)所示:
![]() |
其中,pdk = P(d,k),qtk = Q(t,k)在現實場景中,可能會面臨更復雜的情況,因此應該對模型進行適當的修正,加入偏差系數等。
3 基于 AdaBoost 算法的藥物—靶向蛋白作用預測算法
在推薦系統的評分預測模型中,一般先將用戶集合和物品集合分別定義為:U = {u1,u2,
,u|U|},I = {i1,i2,
,i|I|}。并以此為基礎定義評分矩陣,即:D = {(u,i,rui)1,(u,i,rui)2,
,(u,i,rui)m},共計 m 個評分,一般而言,有效的評分數 m ? |U| × |I|。
然而,傳統的 AdaBoost 算法框架適用于分類問題,如前文的算法框架偽代碼。如要將其應用到藥物—靶向蛋白作用預測中,則需要將矩陣分解模型轉化為分類模型,因此需要對 AdaBoost 算法模型進行改進,分別需要解決以下問題:
(1)如何將評分預測問題轉化為分類問題,即將藥物—靶向蛋白作用預測的二值矩陣分解和填補問題轉化為 AdaBoost 算法框架可以應用的問題。
(2)模型錯誤率的評估和計算。
(3)訓練數據的分類權重分布如何與矩陣分解模型結合。
(4)如何將多個模型集成起來。
3.1 問題轉化
AdaBoost 算法對多弱分類模型集成的性能已經得到較多研究成果確認。因此,本文將藥物—靶向蛋白作用預測問題轉化為二值分類問題。首先,引入一個參數 ? 作為閾值,該閾值的作用是用于評判矩陣分解模型中的評分預測結果是好、還是壞。假設某藥物對某靶向蛋白的作用預測結果為 3,通過矩陣分解模型得出的分值如果在[3??,3 + ?]區間內,則認為該矩陣分解模型是比較準確的,反之則認為該模型不準確。通過這種映射,將矩陣分解的評分預測模型轉化為二值分類問題。
3.2 模型錯誤率評估
分類方法的模型錯誤率很容易通過錯誤分類樣本進行統計,評分預測問題的錯誤率評估往往通過預測結果
和真實結果 rdt 的差距來表示,比如以均方根誤差(root mean square error,RMSE)或平均絕對誤差(mean absolute error,MAE)等來表示。在本文提出的方法處理中,當預測結果
時,被認為是準確的,即不計算其錯誤率,否則使用以下計算,如式(3)所示:
![]() |
公式中,d 表示藥物集合,t 表示靶向蛋白集合。
3.3 權重更新
AdaBoost 算法的有效性很大程度上依賴于各種基礎模型的權重分布,即對錯誤的分類數據會加大權重,在下一輪迭代中會更加重視其訓練,反之則降低權重,不斷迭代后,分類器逐漸更具魯棒性。最后將所有模型集成起來以達到最優效果。因此,本文定義損失函數如式(4)所示:
![]() |
將損失函數加入到每個訓練數據中以增強訓練效果,如式(5)所示:
![]() |
本文使用隨機梯度下降法來實現藥物—靶向蛋白作用矩陣中的預測問題,即將權重賦值給如式(6)所示:
![]() |
其中,wdt 是藥物 d 對于靶向蛋白 t 的作用評分的權重。每個因子的遞推迭代公式如式(7)所示:
![]() |
根據前面的錯誤率,權重更新公式如式(8)所示:
![]() |
其中,參數 μ 是調整參數,用于自適應訓練數據的調整。
3.4 模型集成
通過 AdaBoost 算法展開訓練,可以集成 T 個基礎訓練模型的融合模型,并通過加權平均的方法來集成各個模型的藥物—靶向蛋白作用預測框架,每個模型有一個對應權重 αi ,最終的藥物—靶向蛋白作用預測結果如式(9)所示:
![]() |
3.5 算法設計與分析
基于前文討論,AdaBoost 算法框架的藥物—靶向蛋白作用預測算法具體如下:
輸入:數據集
;基礎評分預測模型 L,如奇異值分解方法(singular value decomposition,SVD)或概率矩陣分解(probabilistic matrix factorization,PMF)等;訓練輪數 T;更新權重的控制參數 μ;
輸出:
1:
;
2:for i = 1,
,T do
3:
;
4:for all
in Di,the set is Di- do
5:
;
6:end for
7:
;
8:
;
9:end for
上述算法有明確的輸入,即需要基本的算法模型,如 SVD 奇異值分解算法;其次,需要有訓練集 D、訓練輪數 T、判斷作用分準確與否的閾值 ? 以及更新權重的控制參數 μ。
4 實驗與結果分析
本文實驗基于兩個公測數據集:人工標注靶點和藥物在線資源(manually annotated targets and drugs online resource,MATADOR)和前文“引言”部分提及的 STITCH 數據集[3, 17],對比分析了方法中的參數及對預測結果的影響,并針對若干經典分類方法和新近方法進行仿真分析。
4.1 數據集與評測指標
本文的實驗數據集主要來自兩個公開數據集:① MATADOR(網址為:http://matador.embl.de/)[17],是一個公開的來源于人工整理和自動文本挖掘的在線治療數據庫,其中包含了許多藥物—靶向蛋白的相互作用關系數據。本文實驗選用了該數據庫中具有藥物—靶向蛋白直接或間接作用關系的數據。MATADOR 數據庫中包含了 784 種藥物,2 431 種靶向蛋白和 13 064 個藥物—靶向蛋白相互作用,其中共包含了 7 862 種直接和 5 202 種間接作用關系。② STITCH(網址為:http://stitch.embl.de/)[3],該數據庫提供了許多靶向蛋白及其化學成分的相互關系數據,這些標注關系來源于已知的實驗和文獻,具有較高的可信度。本文選用了 STITCH 數據庫中和 MATADOR 數據庫重合的藥物—靶向蛋白數據。STITCH 數據庫中包含了 598 種藥物,671 種靶向蛋白和 3 296 個有效的藥物—靶向蛋白作用對,在其中分別有 2 589、945 和 1 493 條相互作用關系,分別對應于綁定、激活和隱含關系。為了能在作用預測中評分更直觀,本文將數據集中的作用分數均勻映射到[0,5]之間。
本文實驗將上述數據集平均分為 5 份,然后使用 5 折交叉驗證方法進行實驗,其中 1 份作為測試集,剩余 4 份作為訓練集。由于藥物—靶向蛋白作用預測是一種評分預測問題,因此常使用 RMSE(以符號 RMSE 表示)方法作為評價指標[18],定義為預測值與真實值之間的差的平方均值,如式(10)所示:
![]() |
與 RMSE 評測標準同樣常用的是 MAE,區別在于 RMSE 對于錯誤作用預測的懲罰扣分會更多,即對錯誤結果更苛刻。
本文還使用了預測準確率(accuracy,Accu)和召回率(recall,Rec)兩個指標。這兩個指標的計算依賴于實際樣本數據和預測統計數據,如表 1 所示,真陽性(true positive,TP)(以符號 TP 表示),指具體的藥物—靶向蛋白具備相互作用且預測結果顯示也具備相互作用的統計結果總數。以此類推,假陰性(false negative,FN)(以符號 FN 表示),指藥物—靶向蛋白具備相互作用,但預測結果顯示無相互作用的統計結果總數;假陽性(false positive,FP)(以符號 FP 表示),指藥物—靶向蛋白不具備相互作用,但預測結果顯示有相互作用的統計結果總數;真陰性(true negative,TN)(以符號 TN 表示),指藥物—靶向蛋白不具備相互作用,預測結果也顯示無相互作用的統計結果總數。

通過以上的統計數據,Accu(以符號 Accu 表示)的計算結果如式(11)所示:
![]() |
Rec(以符號 Rec 表示)的計算結果如式(12)所示:
![]() |
4.2 實驗結果與分析
矩陣分解模型是評分預測模型中常用的方法,因此,本文的 AdaBoost 算法框架使用 SVD 方法和 PMF 模型作為藥物—靶向蛋白作用預測的基本預測模型。矩陣分解過程中的學習速率和懲罰系數是重要的預設參數,根據模型訓練經驗,本文在 SVD 方法中設定的學習速率為 0.01、懲罰系數為 0.01,對于 PMF 模型,設定學習速率為 0.005、懲罰系數為 0.02。
4.2.1 AdaBoost 算法框架對比分析
如表 2 所示,展示了本文提出的 AdaBoost 算法在藥物—靶向蛋白中的作用預測方法。從實驗結果可知,使用了 AdaBoost 算法相對于單個模型而言,效果有了較大的提升。

從實驗結果可知,在兩個不同的數據集和不同的基礎模型中,使用了 AdaBoost 算法的運算結果的誤差較小。其原因在于,使用 AdaBoost 算法將基礎方法進行融合提升,通過對分類錯誤進行二次迭代后不斷逼近,以此達到預測準確度提升的預期效果。
4.2.2 算法框架的相關參數分析
本文所提方法的參數主要有閾值 ?,訓練輪數 T,權重更新 μ,本實驗基于 STITCH 數據集,使用 SVD 方法進行實驗,實驗結果如圖 1 所示。

從以上實驗結果可知,閾值 ? 的選取對 RMSE 實驗結果的影響是先大再小,然后再變大,閾值 ? 在[0.1,1.0]取值的 10 個實驗數據中,當取 0.7 時,使得 RMSE 值最小。所以,如果想要得到最好的預測準確度,應當調整適當的閾值 ?,過大或過小都會對預測造成不良影響。
如圖 2 所示,隨著訓練輪數的增長,一開始精度提高較快,達到 7 次以上時,精度略有提高,但趨勢變緩。

如圖 3 所示,權重更新參數 μ 對藥物—靶向蛋白作用預測也具有明顯的影響,從實驗可知,μ = 0.4 時,準確度最高。

4.2.3 其他方法的準確度對比與分析
本實驗實現了一些經典的評分預測方法和新近方法作為基線方法進行對比,具體如下:
基于近鄰用戶的推薦算法(user-based)[19]:該算法應用到藥物—靶向蛋白預測中,將近鄰藥物看作是近鄰用戶。
基于近鄰物品的推薦算法(item-based)[20]:該算法應用到藥物—靶向蛋白預測中,將近鄰蛋白看作是近鄰物品。
樸素貝葉斯算法(Na?ve Bayes)[21]:是一種基于貝葉斯后驗概率的分類預測方法,常用于數據分類和評分預測。
支持向量機(support vector machine,SVM)方法[22]:這是一種性能比較優越的分類器模型,該算法使用超平面進行分類訓練,對非線性數據也可以采用核技術將其進行準確分類[23]。
MTOI(周福家等[12]提出):通過尋找多目標優化解決方法來獲得最優的疾病轉換狀態,通過最優的疾病轉換狀態的挖掘來確定藥物—靶向蛋白作用。
基于二分圖的核回歸方法(Yamanishi 等[13]提出):該方法通過將藥物—靶向蛋白關系映射為二分圖,然后通過核回歸方法挖掘二分圖的待預測節點。
基于化學相似度的方法(Keiser 等[14]提出):該方法通過蛋白質的化學相似度作為挖掘基礎,從而推斷藥物—靶向蛋白的作用關系。
以上方法的最終實驗結果如表 3 所示,“本文方法”是指本文使用 AdaBoost 算法的結果,基礎模型使用了 SVD 方法。

從表3實驗結果可知,本文算法獲得了較好結果,其原因在于,本文使用 AdaBoost 算法將基礎方法如 SVD 方法進行迭代融合,多輪迭代更逼近準確結果。從表 2 也可以看出,即便 SVD 方法不使用模型融合也獲得不差的結果,在使用了 AdaBoost 算法后,準確度明顯上升。
4.2.4 冷關聯問題的實驗
在藥物—靶向蛋白作用預測中,本文發現在訓練集中,有些藥物關聯的蛋白非常少,這就是評分預測研究中常見的“冷關聯問題”,冷關聯問題加劇了數據挖掘中的數據稀疏性的負面影響。本文對實驗選取的數據集進一步整理,形成關聯較少的數據集,以驗證本文方法對冷關聯數據集下的有效性。首先,對 MATADOR 數據集和 STITCH 數據集進行整理,挑選了藥物關聯數少于 3 的藥物、蛋白以及關聯信息。經過挑選后,MATADOR 數據庫中包含了 365 種藥物,958 種靶向蛋白和 5 211 個有效的藥物—靶向蛋白作用對,其中共包含了 3 851 種直接和 1 860 種間接作用關系。STITCH 數據庫中包含了 231 種藥物,158 種靶向蛋白和 1 213 個有效的藥物—靶向蛋白作用對,在其中分別有 512、254 和 447 條相互作用關系,分別對應于綁定、激活和隱含關系。為了便于區分,挑選后的數據庫分別稱為 MATADOR—冷關聯(cold)(以符號 MATADOR-C 表示)和 STITCH—冷關聯(cold)(以符號 STITCH-C 表示)。實驗結果如表 4 所示。

從實驗結果可知,冷關聯數據集中的實驗結果普遍都不好,不管是 Accu、Rec 還是 RMSE,各種方法都受到很大影響。本文方法除了在 STITCH-C 數據集上的 Rec 指標中,比 SVM 方法較差外,其余實驗結果均獲得較好結果,但該指標中的結果數據相差也較微小。
5 結語
本文提出使用融合學習模型的 AdaBoost 算法來提高藥物—靶向蛋白作用預測的效果,首次在該領域使用這種融合算法。實驗結果表明,本文方法具有較高的預測準確度。使用 AdaBoost 算法可以讓弱分類器融合組成較強分類方法,提升分類性能,使用本文方法還能將作用預測矩陣切換為分類算法框架。本文工作是對目前新近算法常使用單機器學習模型進行藥物—靶向蛋白作用預測的一種多模型融合嘗試。將來的研究工作中,可能還會面臨兩個方面的問題函待解決:① 隱含關聯特征如何進行有效提取及其如何確定其在相互作用挖掘中的權重。對于數據挖掘中進行特征工程研究,業界已經有了深度學習方法(deep learning,DL)及其相關的軟硬件平臺體系,并在人工智能等領域取得了良好的應用效果。如何將 DL 應用在藥物—靶向蛋白作用預測將是未來的一個重要研究方向。② 海量數據的快速處理。隨著藥物和病種亞型的增加,相互作用關聯關系迅速增長,如何處理海量的關聯關系也將是今后的重要研究方向。映射—降解(map-reduce,MR)處理框架是目前流行的海量數據批處理框架,在未來工作中,為更好地處理海量的藥物—靶向蛋白、蛋白—蛋白等作用預測,本研究還將持續研究本文算法在 MR 框架中的分布式集群處理方法,使其可快速獲得分析結果,并推進該研究的應用實踐。在特征挖掘的研究方面,本研究將使用 DL 方法,深入挖掘隱含特征集的關系,以提升藥物—靶向蛋白作用的預測準確度。