吳建盛,唐詩迪,梅德進,朱燕翔,刁業(yè)敏
(1. 南京郵電大學 地理與生物信息學院, 江蘇 南京 210023; 2. 南京郵電大學 通信與信息工程學院, 江蘇 南京 210003;3. 南京仁面集成電路技術有限公司, 江蘇 南京 210088; 4. 南京叁角加文化發(fā)展中心, 江蘇 南京 210005)
在經(jīng)典監(jiān)督學習中,一個對象僅由一個示例來表示,且僅有一個對應標記。實際上,一個對象可由多個示例來表示,并屬于多個類別標記[1],其對應的學習框架叫作多示例多標記學習(multi-instance multi-label learning, MIML)。
過去十幾年來,研究者們提出了許多基于MIML的算法,例如MIMLBoost[2]將MIML問題分解為多個單標記多示例子問題單獨求解,而MIMLSVM[3]將其分解為多個單示例多標記問題;Yang等提出了一種基于全連接卷積網(wǎng)絡的多示例多標記學習方法MIML-FCN+[4];Nguyen等提出了基于深度神經(jīng)網(wǎng)絡的DeepMIML模型[5],為MIML生成表示示例的同時,自動識別與標記相關聯(lián)的關鍵示例;Zhu等后來又提出了DMNL[6],用一種高效的增強型拉格朗日優(yōu)化方法預測隱藏的新穎標記;Hu等提出了一種利用標記相關性的度量多示例多標記學習算法MI(ML)2kNN[7]。
近年來,多示例多標記學習被應用于眾多場景中,例如Song等提出了MMCNN-MIML[8],將卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)模型引入MIML的圖片分類問題中;Xu等將MIML應用于預測肝癌細胞的基因突變問題[9];Li等提出基于卷積神經(jīng)網(wǎng)絡的層次性多示例多標記學習方法HMIML來對果蠅胚胎發(fā)育圖像進行分類[10];Li等提出的AC-MIMLLN[11]模型將MIML應用于情感分析任務;Mercan等基于MIML方法來對乳腺組織病理圖像進行多分類研究[12];Zhang等利用MIML學習并基于時空預修剪技術來對原始視頻中的動作進行識別與定位[13];Li等開發(fā)了多示例多標記學習網(wǎng)絡并應用于情感類別預測[14];Pan等將MIML應用于雷達信號的識別中[15]。
在MIML學習問題里,標記之間往往是相互關聯(lián)的,其中有向無環(huán)圖(directed acyclic graph, DAG)是一種常見的層次關聯(lián)結構,它從任意一個頂點出發(fā)均不能經(jīng)過若干條邊回到該頂點。蛋白質(zhì)常包含多個結構域,也同時擁有多種生物學功能。蛋白質(zhì)中每個結構域可以獨立或與周邊結構域相互協(xié)作完成其生物學功能。蛋白質(zhì)生物學功能預測也可表示為多示例多標記學習問題,其中每個蛋白質(zhì)表示為多MIML學習中的一個樣本對象,而每個結構域表示為一個示例,每個生物學功能表示為一個標記[16]。蛋白質(zhì)的生物學功能有多種描述方式,其中基因本體學(gene ontology,GO)使用最為廣泛[17],其中的基因功能本體就是一個DAG結構的典型例子。目前也有不少研究利用GO結構輔助進行生物學功能學習。Li等使用層次聚類的方法,針對GO的結構,在經(jīng)典的層次聚類模型中加入了新的聚類條件對GO生物學功能進行了預測[18];Zhang等使用了深度神經(jīng)網(wǎng)絡,結合蛋白質(zhì)序列以及蛋白質(zhì)-蛋白質(zhì)結合(protein-protein interaction, PPI)網(wǎng)絡,對蛋白質(zhì)的GO生物學功能進行預測[19];Zhao等引入基于轉換器的雙向編碼表征(bidirectional encoder representation from transformers,BERT)模型從蛋白質(zhì)的GO標記及其序列中提取特征,對配體-受體結合親和力(drug-target binding affinity, DTA)進行預測[20]。
目前還沒有有效的算法可針對基于DAG結構的MIML問題進行學習。因此,本文提出新的基于有向無環(huán)圖結構的多示例多標記學習(MIML based on directed acyclic graph, MIMLDAG)算法,通過訓練標記共享低維子空間,降低模型排序損失,并融入標記間DAG間層次結構關系對樣本預測標記進行優(yōu)化,提升了算法的學習性能。
提出面向標記之間有向無環(huán)圖結構的多示例多標記學習算法。算法分三層構建模型,其中前兩層充分借鑒了MIMLfast算法[21]的思想。首先,算法從原始數(shù)據(jù)集的特征空間訓練出一個被所有標記共享的低維子空間;然后,訓練標記線性模型并通過隨機梯度下降方法來優(yōu)化排序損失;最后,在層次性結構中找到一個子圖[22],通過合并子節(jié)點來構建與有向無環(huán)圖結構層次一致的多標記信息,融入標記間的有向無環(huán)圖結構,得到未見示例樣本的層次性標記集合。MIMLDAG算法的整體框架如圖1所示,算法偽代碼見算法1。
圖1 MIMLDAG算法框架Fig.1 Framework of the MIMLDAG algorithm
算法1 MIMLDAG算法偽代碼
1.1.1 共享低維子空間
1.1.2 優(yōu)化排序損失
在第二層中,利用上一層的共享矩陣W0可以將任意樣本包Xi的示例x在第l個標記上的分類器定義為:
(1)
式中,wl是第l個標記的m維權重向量。
(2)
式中,
(3)
(4)
(5)
(6)
有向無環(huán)圖結構層次性約束有兩種情況[24]:情況A是如果某一節(jié)點的標記為正,那么它的所有父節(jié)點的標記也為正;情況B是如果某一節(jié)點的標記為正,那么它所有父節(jié)點中至少有一個節(jié)點的標記為正。其中情況A較為常用。對于給定測試樣本包XT的預測結果YT={y1,y2,…,yT}∈{0,1},將每個預測標記看作一個節(jié)點,已知樣本包對應L個標記,那么情況A優(yōu)化問題表示為:
(7)
其中,若集合YT呈現(xiàn)情況A的層次結構,則稱Ψ={Ψ1,Ψ2,…,ΨT}為情況A的nonincreasing集合。
使用了三組蛋白質(zhì)生物學功能預測數(shù)據(jù)集來對MIMLDAG算法進行實驗仿真分析,其分別為G蛋白偶聯(lián)受體數(shù)據(jù)集、硫土桿菌(Geobacter sulfurreducens,GS)的蛋白質(zhì)數(shù)據(jù)集和古細菌死海鹽盒菌(Haloarcula marismortui, HM)的蛋白質(zhì)數(shù)據(jù)集 (見表1)。
表1 數(shù)據(jù)集的描述
2.1.1 G蛋白偶聯(lián)受體數(shù)據(jù)集
G蛋白偶聯(lián)受體數(shù)據(jù)集是從UniProt數(shù)據(jù)庫[25]中下載得到共3 052個G蛋白偶聯(lián)受體(G protein-coupled receptor,GPCR),再通過UniProt ID號從UniProt數(shù)據(jù)庫中得到所有GPCR的FASTA格式序列。接著,將其輸入NCBI的blastclust可執(zhí)行程序,對GPCR序列進行去冗余處理,將得到的非冗余GPCR樣本數(shù)據(jù)集提交到NCBI的Batch CD-Search服務器,得到GPCR的保守結構域。對于每一個結構域,從以下7個方面構建其特征:
1)三聯(lián)氨基酸組成(conjoint triad)信息:把20種氨基酸依據(jù)其側鏈體積與偶極矩分為6類。針對每個結構域,根據(jù)其氨基酸序列計算三聯(lián)體出現(xiàn)頻率,其特征維數(shù)為216[26]。
2)氨基酸關聯(lián)(amino acid correlation, AAC)信息:依據(jù)上面的6類氨基酸信息來計算每個結構域中兩兩氨基酸間的AAC信息,對每個結構域,其ACC特征的維數(shù)為144[27]。
3)二級結構關聯(lián)(secondary structure element correlation, SSC)信息:通過PSIPRED (http://bioinf.cs.ucl.ac.uk/psipred/ psiform.html)所提供的在線分析工具完成蛋白質(zhì)二級結構的預測,然后計算3類二級結構類型在結構域中的關聯(lián)信息SSC(κ),κ∈{2,4,8,16}。對每個結構域,其二級結構關聯(lián)信息特征的維數(shù)為72。
4)進化信息:通過psiblast程序[28]產(chǎn)生位置特異性得分矩陣以表示結構域的進化信息。對于氨基酸長度為n的結構域,其位置特異性得分矩陣的維數(shù)為42n。考慮因氨基酸長度不同導致矩陣大小不同的問題,把每個蛋白質(zhì)的結構域當作一個示例,然后由算法miFV[29]統(tǒng)一為單一向量,對應到單個GPCR結構域的位置特異性得分矩陣特征維數(shù)為84。
5)信號肽特征信息(SignalP):通過一種基于神經(jīng)網(wǎng)絡的SignalP 4.0方法[30]從GPCR序列中提取信號肽特征信息。在SignalP 4.0中使用了兩種類型的網(wǎng)絡,首先使用跨膜數(shù)據(jù)序列作為負數(shù)據(jù)來訓練得到SignalP-TM網(wǎng)絡;然后在缺失這些負數(shù)據(jù)的情況下訓練得到SignalP-noTM網(wǎng)絡;最后使用簡單的決策方案來選擇使用哪個網(wǎng)絡:如果SignalP-TM網(wǎng)絡預測4個或者更多位置為跨膜位置,則SignalP-TM被用于最終的預測,否則使用SignalP-noTM網(wǎng)絡預測。對于每個結構域,SignalP特征維數(shù)為84。
6)無序區(qū)域特征信息(Disorder):通過DISOPRED 2.43程序[31]預測得到蛋白質(zhì)的無序區(qū)域特征信息。DISOPRED服務器允許用戶提交一個蛋白質(zhì)序列,然后返回每個無序區(qū)的無序概率估計值作為無序區(qū)域特征信息。對于每個結構域,Disorder特征維數(shù)為84。
7)SDK(scientific database maker)軟件預測出的特征信息:通過SDK[17]預測蛋白質(zhì)特征。它從Swiss-Port[32]數(shù)據(jù)庫中提取蛋白質(zhì)數(shù)據(jù),同時對蛋白質(zhì)進行數(shù)據(jù)分析,包括物理化學分布計算、同源序列搜索、多序列比對等,得到105維的數(shù)據(jù)特征。將非數(shù)據(jù)部分特征去掉,歸一化后得到59維的蛋白質(zhì)數(shù)據(jù)特征。
最后,對于樣本空間中的每個結構域,共有特征維數(shù)743。
依據(jù)生物學過程與分子功能兩個方面來描述蛋白質(zhì)生物學功能。首先,根據(jù)GPCR蛋白質(zhì)數(shù)據(jù)集的UniProt ID號從UniProt-GOA ftp站點(ftp://ftp.ebi.ac.uk/pub/databases/GO/goa/)下載得到其對應基因本體學術語(GO terms)ID號及其對應的GO術語;然后,從基因本體學網(wǎng)站(http://geneontology.org/page/download-ontology)下載go.obo文件,分別得到BP與MF的GO術語對應的父節(jié)點;最后,基于樣本中含有的GO terms及其所有父節(jié)點GO terms,構建標記的DAG層次性結構。對于BP,得到非冗余GPCRs樣本1 331個,GO術語162個,GO術語的層次性結構深度為9;對于MF,得到非冗余GPCRs樣本1 674個,GO術語208個,GO術語的層次性結構深度為12 (見表1)。
2.1.2 GS和HM蛋白質(zhì)數(shù)據(jù)集
GS的蛋白質(zhì)數(shù)據(jù)集和HM的蛋白質(zhì)數(shù)據(jù)集來自http://www.lamda.nju.edu.cn/data_MIMLprotein.ashx[16],此處不再贅述。
與多種經(jīng)典的多示例多標記學習算法進行比較。這些算法分別為:基于徑向基核函數(shù)神經(jīng)網(wǎng)絡的MIMLRBF[33]、基于集成學習的EnMIMLNN[16]、基于K鄰近算法的MIMLKNN[34]、基于支持向量機的MIMLSVM[3]和快速多示例多標記學習MIMLfast[21]。
對于上述對比算法,本文選用了對應參考文獻中的默認參數(shù)。其中, MIMLRBF算法的縮放因子為0.08,分數(shù)參數(shù)為0.1;EnMIMLNN算法中學習率設為0.4;MIMLKNN算法中聚類簇占據(jù)樣本包的比例為40%;MIMLSVM算法中,高斯核半徑r設置為0.2;對MIMLDAG算法,低維共享空間的維度m設置為50;對MIMLfast算法,共享空間維度設為100。
此外,本文采用十倍交叉驗證對MIML模型三種常用的評價指標HL(hamming loss)[33]、MaF1(Macro-F1)[35]、MiF1(Micro-F1)[35]進行評估。HL表示樣本的預測標記與真實標記之間的錯誤率。 MaF1先計算在每個標記上的F1值,然后求在所有標記上的平均值,MaF1容易受到樣本量少的標記的預測結果影響;MaF1越大,表示模型性能越好。MiF1計算在所有示例包和類別標記上預測結果的F1值;MiF1越大,表示模型性能越好。
2.2.1 性能分析
表2展示了不同數(shù)據(jù)集下幾種算法在不同指標上的性能變化,其中↑表明指標越大模型性能越好,↓反之。由表2可知,對于GPCRs的分子功能MF,相比于其他五種方法,MIMLDAG在HL、MaF1、MiF1上都獲得了最好的性能。同樣,對于GPCRs的生物學過程,MIMLDAG在HL、MaF1、MiF1方面均取得了最好的性能。對于GS的分子功能,MIMLDAG在MaF1獲得了最優(yōu)的性能。對于HM的分子功能,MIMLDAG在HL上性能較弱,不如EnMIMLNN,也略低于MIMLRBF和MIMLSVM,在其他上都取得了最好的性能。由此可見,MIMLDAG方法比其他多示例多標記學習方法取得了更好的性能。
2.2.2 時間效率分析
表3給出了所有算法在4種數(shù)據(jù)集上的時間開銷。在算法訓練及測試時間開銷上,對于所有的數(shù)據(jù)集,MIMLDAG方法的速度與最快的MIMLfast方法基本上接近,明顯優(yōu)于其他4種多示例多標記學習方法。
表2 不同數(shù)據(jù)集上與多示例多標記學習方法的性能比較
表3 不同數(shù)據(jù)集上與各多示例多標記學習方法的時間開銷比較
(a) 訓練時間(a) Training time
(b) 測試時間(b) Testing time圖2 6種MIML算法在不同數(shù)量示例和標記上的訓練和測試時間開銷Fig.2 Runtime of training and testing on six MIML methods with various sizes of instances and labels
圖2展示了各個算法在不同數(shù)據(jù)規(guī)模下的時間增長模式。由圖可知,對于訓練時間,EnMIMLNN的增長速度最快,而MIMLfast和MIMLDAG增長速度較為緩慢;對于測試時間,MIMLKNN算法的增長速度最快,當lg(示例×標記)>6.0時,MIMLDAG的增長速度最為緩慢。因此,MIMLDAG算法隨數(shù)據(jù)集的增長速率很低,基本與MIMLfast方法持平。MIMLDAG算法共分三層:第一層,從原始數(shù)據(jù)集的特征空間訓練出一個被所有標記共享的低維子空間;第二層,訓練標記線性模型并通過隨機梯度下降方法來優(yōu)化排序損失;第三層,從層次性結構中找到一個子圖,通過合并子節(jié)點來構建與有向無環(huán)圖結構層次一致的多標記信息,得到未見示例樣本的層次性標記集合。由式(1)~(6)可以推導出MIMLDAG算法前兩層的時間復雜度為Ο[t×L×(d×L)×m],其中t為迭代輪數(shù),L為標記空間中的標記個數(shù),d為示例的特征維度,m為共享低維子空間的維度(m?d)。算法第三層(算法1步驟7~17)的時間復雜度為Ο[L×log(L)],其中L為標記空間中的標記個數(shù),也就是DAG中的節(jié)點數(shù)。因為前兩層與第三層之間是串行連接,所以算法總的時間復雜度為Ο[t×L×(d×L)×m+L×log(L)]。 可以看出,MIMLDAG算法與樣本的數(shù)量無關,同時算法將樣本原始特征空間映射到低維共享空間,減少了內(nèi)存消耗并降低了計算復雜度。
本文提出面向蛋白質(zhì)功能預測和有向無環(huán)圖標記結構的多示例多標記學習算法。首先,算法訓練一個共享矩陣將高維示例映射到低維子空間;然后,利用SGD優(yōu)化排序方法初步訓練出分類模型;最后,算法考慮了標記間的DAG結果,通過合并多個子節(jié)點為超節(jié)點,實現(xiàn)對標記的最終預測。本文運用MIMLDAG 算法對多個蛋白質(zhì)生物學功能預測數(shù)據(jù)集進行了學習。實驗表明,相比于其他類似算法, MIMLDAG擁有更好的預測性能與時間效率。在后續(xù)的研究中,擬考慮更多的數(shù)據(jù)集,進一步擴大算法的應用場景。