喬善平 閆寶強(qiáng)
摘要:針對(duì)多標(biāo)記學(xué)習(xí)和集成學(xué)習(xí)在解決蛋白質(zhì)多亞細(xì)胞定位預(yù)測(cè)問題上應(yīng)用還不成熟的狀況,研究基于集成多標(biāo)記學(xué)習(xí)的蛋白質(zhì)多亞細(xì)胞定位預(yù)測(cè)方法。首先,從多標(biāo)記學(xué)習(xí)和集成學(xué)習(xí)相結(jié)合的角度提出了一種三層的集成多標(biāo)記學(xué)習(xí)系統(tǒng)框架結(jié)構(gòu),該框架將學(xué)習(xí)算法和分類器進(jìn)行了層次性分類,并把二分類學(xué)習(xí)、多分類學(xué)習(xí)、多標(biāo)記學(xué)習(xí)和集成學(xué)習(xí)進(jìn)行有效整合,形成一個(gè)通用型的三層集成多標(biāo)記學(xué)習(xí)模型;其次,基于面向?qū)ο蠹夹g(shù)和統(tǒng)一建模語(yǔ)言(UML)對(duì)系統(tǒng)模型進(jìn)行了設(shè)計(jì),使系統(tǒng)具備良好的可擴(kuò)展性,通過擴(kuò)展手段增強(qiáng)系統(tǒng)的功能和提高系統(tǒng)的性能;最后,使用Java編程技術(shù)對(duì)模型進(jìn)行擴(kuò)展,實(shí)現(xiàn)了一個(gè)學(xué)習(xí)系統(tǒng)軟件,并成功應(yīng)用于蛋白質(zhì)多亞細(xì)胞定位預(yù)測(cè)問題上。通過在革蘭氏陽(yáng)性細(xì)菌數(shù)據(jù)集上進(jìn)行測(cè)試,驗(yàn)證了系統(tǒng)功能的可操作性和較好的預(yù)測(cè)性能,該系統(tǒng)可以作為解決蛋白質(zhì)多亞細(xì)胞定位預(yù)測(cè)問題的一個(gè)有效工具。
關(guān)鍵詞:蛋白質(zhì)多亞細(xì)胞定位預(yù)測(cè);多標(biāo)記學(xué)習(xí);集成學(xué)習(xí);面向?qū)ο蠹夹g(shù);Java
中圖分類號(hào):TP391
文獻(xiàn)標(biāo)志碼:A
0引言
蛋白質(zhì)亞細(xì)胞定位對(duì)于確定蛋白質(zhì)功能、闡明蛋白質(zhì)相互作用機(jī)制和新藥物開發(fā)等都具有重要意義。蛋白質(zhì)亞細(xì)胞定位的傳統(tǒng)方法是通過生物化學(xué)實(shí)驗(yàn)進(jìn)行測(cè)定,如熒光檢測(cè)法[1]和譜分析法[2]等。雖然實(shí)驗(yàn)方法準(zhǔn)確度高,但費(fèi)時(shí)耗力、代價(jià)昂貴,實(shí)驗(yàn)中還會(huì)出現(xiàn)偶然因素的干擾,致使測(cè)定工作冗長(zhǎng)且不穩(wěn)定。DBMLoc數(shù)據(jù)庫(kù)[3]的統(tǒng)計(jì)結(jié)果表明,具有多個(gè)亞細(xì)胞位置的蛋白質(zhì)數(shù)量不斷增長(zhǎng)且功能特殊,如何對(duì)這類蛋白質(zhì)進(jìn)行亞細(xì)胞定位是一個(gè)非常值得研究的問題。然而,相對(duì)于單亞細(xì)胞定位而言,不論是采用實(shí)驗(yàn)方法,還是基于計(jì)算技術(shù)的預(yù)測(cè)方法,蛋白質(zhì)多亞細(xì)胞定位問題都具有更大的挑戰(zhàn)性[4]。在過去的20多年中,針對(duì)蛋白質(zhì)的單亞細(xì)胞定位預(yù)測(cè),利用統(tǒng)計(jì)學(xué)習(xí)和監(jiān)督學(xué)習(xí)已取得了較大的成功[5-6]。但對(duì)于蛋白質(zhì)的多亞細(xì)胞定位預(yù)測(cè),自2005年Chou等[7]和Gardy等[8]分別開始研究以來,目前還遠(yuǎn)未達(dá)到人們所期待的水平,需要進(jìn)行更深入的探索[9]。
從機(jī)器學(xué)習(xí)的角度來看,蛋白質(zhì)多亞細(xì)胞定位預(yù)測(cè)問題屬于多標(biāo)記學(xué)習(xí)的范疇。在多標(biāo)記學(xué)習(xí)框架中,每個(gè)對(duì)象由一個(gè)示例描述,該示例具有多個(gè)而不再是唯一的類別標(biāo)記,學(xué)習(xí)的目標(biāo)是將所有合適的類別標(biāo)記(即標(biāo)記集)賦予待測(cè)示例。近年來,雖然多標(biāo)記學(xué)習(xí)技術(shù)得到了較快的發(fā)展[10],但在解決蛋白質(zhì)多亞細(xì)胞定位預(yù)測(cè)問題上的應(yīng)用卻不太成熟,特別是能夠?qū)⒓蓪W(xué)習(xí)與多標(biāo)記學(xué)習(xí)相結(jié)合的研究還很少,尚有很多內(nèi)容需要研究:第一,針對(duì)蛋白質(zhì)數(shù)據(jù)的海量、關(guān)聯(lián)性和不完整等復(fù)雜特征,需要設(shè)計(jì)更加適合于解決蛋白質(zhì)多亞細(xì)胞定位問題的學(xué)習(xí)算法,或者引入更多現(xiàn)有的多標(biāo)記學(xué)習(xí)方法,以擴(kuò)展多標(biāo)記學(xué)習(xí)技術(shù)在該領(lǐng)域的應(yīng)用;第二,需要將多標(biāo)記學(xué)習(xí)和集成學(xué)習(xí)更好地結(jié)合來構(gòu)建學(xué)習(xí)系統(tǒng),以充分發(fā)揮集成學(xué)習(xí)的優(yōu)勢(shì);第三,需要設(shè)計(jì)擴(kuò)展性好、易于使用且具有一定通用性的學(xué)習(xí)系統(tǒng)平臺(tái),為相關(guān)研究人員提供良好的技術(shù)和服務(wù)支持。
基于上述思路,本文提出了一種三層集成多標(biāo)記學(xué)習(xí)框架,通過將學(xué)習(xí)算法和分類器進(jìn)行層次性分類,并把多種學(xué)習(xí)模型合理地綜合在一起,形成了一種通用型的集成多標(biāo)記學(xué)習(xí)模型;在該模型基礎(chǔ)上,使用面向?qū)ο蠹夹g(shù)并結(jié)合統(tǒng)一建模語(yǔ)言(Unified Modeling Language, UML)設(shè)計(jì)了一個(gè)可擴(kuò)展的多層集成多標(biāo)記學(xué)習(xí)系統(tǒng);最后構(gòu)建了一套基于Java技術(shù)的集成多標(biāo)記學(xué)習(xí)軟件,為基于機(jī)器學(xué)習(xí)的蛋白質(zhì)多亞細(xì)胞定位預(yù)測(cè)提供了一條有效途徑。
1學(xué)習(xí)系統(tǒng)的框架結(jié)構(gòu)
為了能更清晰地對(duì)系統(tǒng)進(jìn)行描述和便于理解,這里將“學(xué)習(xí)算法”和“分類器”這兩個(gè)概念進(jìn)行了必要的區(qū)分:學(xué)習(xí)算法是指解決某個(gè)一般性學(xué)習(xí)問題的一種方法,如K最近鄰(K Nearest Neighbor, KNN)和支持向量機(jī)(Support Vector Machine, SVM)等;而分類器則是一個(gè)學(xué)習(xí)算法針對(duì)某個(gè)特定的分類問題(如癌癥分類、蛋白質(zhì)亞細(xì)胞定位等)在給定的基準(zhǔn)訓(xùn)練數(shù)據(jù)集(如基因表達(dá)數(shù)據(jù)集、蛋白質(zhì)序列數(shù)據(jù)集等)上的一個(gè)具體實(shí)現(xiàn),是解決某個(gè)一般性分類問題的實(shí)例,它通常是由某個(gè)學(xué)習(xí)算法通過優(yōu)化算法結(jié)構(gòu)或優(yōu)化其中的某些參數(shù)而產(chǎn)生出來的。
在集成多標(biāo)記學(xué)習(xí)框架下,本文把學(xué)習(xí)算法分為二分類學(xué)習(xí)算法、面向標(biāo)記集的學(xué)習(xí)算法和集成多標(biāo)記學(xué)習(xí)算法三大類;相應(yīng)地,分類器分為二分類器、多標(biāo)記分類器和集成分類器三大類。圖1所示是本文所建立的集成多標(biāo)記學(xué)習(xí)系統(tǒng)的框架體系結(jié)構(gòu)以及各部分之間的依賴關(guān)系。該結(jié)構(gòu)共包括三層:二分類學(xué)習(xí)層、多標(biāo)記學(xué)習(xí)層和集成學(xué)習(xí)層。二分類學(xué)習(xí)層針對(duì)二分類學(xué)習(xí)算法和二分類器,多標(biāo)記學(xué)習(xí)層針對(duì)面向標(biāo)記集的學(xué)習(xí)算法和多標(biāo)記分類器,集成學(xué)習(xí)層針對(duì)集成多標(biāo)記學(xué)習(xí)算法、集成策略和集成分類器。值得注意的是,屬于同一層的分類器可以由位于同層但不同種類的學(xué)習(xí)算法產(chǎn)生出來,例如:對(duì)于一個(gè)二類分類器,既可以使用KNN算法生成,也可以通過SVM算法獲得。
1.1二分類學(xué)習(xí)層
二分類學(xué)習(xí)層是三層中最為簡(jiǎn)單的一層,任何能夠解決二分類問題的算法(如KNN和SVM等)都可以歸到這一層。一個(gè)二分類算法用來在給定的二類訓(xùn)練數(shù)據(jù)集上產(chǎn)生一個(gè)二分類器。一個(gè)二分類器被成功構(gòu)建出來后便可用于二分類問題的求解。對(duì)于給定的待測(cè)示例,一個(gè)二分類器能夠返回兩個(gè)可能標(biāo)記(一般使用正例和負(fù)例表示)中的一個(gè)。為了具有更一般的表達(dá)形式,假設(shè)一個(gè)二分類器總是可以為待測(cè)示例計(jì)算出一個(gè)位于區(qū)間[-1,+1]的實(shí)數(shù),該實(shí)數(shù)用來度量所預(yù)測(cè)出的標(biāo)記(若為正數(shù)則表示正例標(biāo)記,否則為負(fù)例標(biāo)記)隸屬于待測(cè)示例的程度,在后期的處理中可再將這個(gè)實(shí)數(shù)值轉(zhuǎn)換為相應(yīng)的類別標(biāo)記。
二分類學(xué)習(xí)層中的二分類算法通常會(huì)由其上層即多標(biāo)記學(xué)習(xí)層中的某些學(xué)習(xí)算法在訓(xùn)練階段所利用,這類算法需要使用若干二分類算法來輔助完成它們自己的學(xué)習(xí)任務(wù)。不同的二分類算法可以同時(shí)被多標(biāo)記學(xué)習(xí)層中的某個(gè)算法所雇用,即可以是異構(gòu)的。然而,一般來說,由于從不同類型的二分類算法產(chǎn)生出來的二分類器所采用的計(jì)算準(zhǔn)則可能并不一樣,造成它們返回的度量值有著不同的含義,盡管它們的取值區(qū)間相同。例如:對(duì)于分別從KNN和SVM產(chǎn)生出來的兩個(gè)二分類器,即使它們返回的度量值都是0.5,但正例標(biāo)記隸屬于待測(cè)示例的程度可能不同,這與它們所產(chǎn)生的實(shí)際度量區(qū)間有較大的關(guān)系,這是多標(biāo)記學(xué)習(xí)層中的某些算法在進(jìn)行集成時(shí)所面臨的一個(gè)問題。因此,在二分類器異構(gòu)情況下,一個(gè)重要問題是建立一種統(tǒng)一的度量標(biāo)準(zhǔn),使得這些度量值具有較好的可比性,本文尚未對(duì)這種度量標(biāo)準(zhǔn)進(jìn)行深入的研究。
1.2多標(biāo)記學(xué)習(xí)層
多標(biāo)記學(xué)習(xí)層用來在面向標(biāo)記集的學(xué)習(xí)算法基礎(chǔ)上生成多標(biāo)記分類器。面向標(biāo)記集的學(xué)習(xí)算法劃分為四種類型:多分類學(xué)習(xí)算法、0型基于標(biāo)記的多標(biāo)記學(xué)習(xí)算法、n型基于標(biāo)記的多標(biāo)記學(xué)習(xí)算法和基于標(biāo)記集的多標(biāo)記學(xué)習(xí)算法。之所以把這些算法歸到這一層,是因?yàn)樗鼈兌伎梢灾苯踊蚪?jīng)過某些修改后用來解決多標(biāo)記學(xué)習(xí)問題,并且都可以為待測(cè)示例預(yù)測(cè)出一個(gè)標(biāo)記集。因此,它們統(tǒng)稱為“面向標(biāo)記集的學(xué)習(xí)算法”。類似地,本層為其上層即集成學(xué)習(xí)層提供支持。
1.2.1多分類學(xué)習(xí)算法
多分類學(xué)習(xí)算法是用來對(duì)含有兩個(gè)以上類別標(biāo)記的分類問題進(jìn)行學(xué)習(xí)的一種算法,如KNN、神經(jīng)網(wǎng)絡(luò)、決策樹等都可以歸為這一類。經(jīng)過一定的變換,一個(gè)多標(biāo)記學(xué)習(xí)問題可以轉(zhuǎn)換為一個(gè)多分類問題,由此就可以使用這樣的多分類學(xué)習(xí)算法來解決多標(biāo)記學(xué)習(xí)問題,所以在這種意義上本文將多分類學(xué)習(xí)算法作為一種面向標(biāo)記集的學(xué)習(xí)算法看待。
1.2.2基于標(biāo)記的多標(biāo)記學(xué)習(xí)算法
基于標(biāo)記的多標(biāo)記學(xué)習(xí)算法分別考慮單個(gè)標(biāo)記來執(zhí)行學(xué)習(xí)任務(wù),然而為了提高學(xué)習(xí)系統(tǒng)的泛化能力,標(biāo)記之間的關(guān)聯(lián)性是需要給予考慮的一個(gè)重要方面。形式上,令X=Rd表示d維示例空間,L={l1,l2,…,lq}表示含有q個(gè)標(biāo)記的標(biāo)記空間,則基于標(biāo)記的多標(biāo)記學(xué)習(xí)算法的學(xué)習(xí)任務(wù)可以通過兩個(gè)實(shí)值函數(shù)來輔助完成。第一個(gè)函數(shù)是f(x,lj),用來表示示例x擁有標(biāo)記lj的可信度;第二個(gè)函數(shù)是一個(gè)閾值函數(shù)t(x),用來度量第一個(gè)函數(shù)的返回值,由此來確定與示例x相關(guān)聯(lián)的標(biāo)記集。由此,預(yù)測(cè)待測(cè)示例x的標(biāo)記集可以用函數(shù)h(x)={lj|f(x,lj)>t(x),x∈X,lj∈L,1≤j≤q}實(shí)現(xiàn)。
依據(jù)學(xué)習(xí)算法是否需要利用二分類學(xué)習(xí)層中的二分類學(xué)習(xí)算法來輔助完成其學(xué)習(xí)任務(wù),可以進(jìn)一步把這類算法分為兩個(gè)子類型,即0型基于標(biāo)記的多標(biāo)記學(xué)習(xí)算法和n型基于標(biāo)記的多標(biāo)記學(xué)習(xí)算法。0型算法可以獨(dú)立地執(zhí)行學(xué)習(xí)任務(wù)而不需要利用二分類學(xué)習(xí)層中的任何二分類算法。相反地,n型算法在學(xué)習(xí)過程中則需要使用若干二分類學(xué)習(xí)算法來支持學(xué)習(xí)任務(wù)的執(zhí)行,最后再按照某種策略將每個(gè)二分類器的分類結(jié)果進(jìn)行綜合來產(chǎn)生一個(gè)標(biāo)記集作為最終的分類結(jié)果。至于需要多少個(gè)二分類器(即n的取值)的支持,這取決于所設(shè)計(jì)的策略。例如,在最為簡(jiǎn)單的一對(duì)其余策略中,如果數(shù)據(jù)集中含有q個(gè)標(biāo)記,則需要q個(gè)二分類器;而在一對(duì)一策略中,需要的分類器數(shù)量則是q(q-1)/2。
1.2.3基于標(biāo)記集的多標(biāo)記學(xué)習(xí)算法
基于標(biāo)記集的多標(biāo)記學(xué)習(xí)算法是從訓(xùn)練數(shù)據(jù)集中學(xué)得一個(gè)函數(shù),使用該函數(shù)可以為待測(cè)示例直接預(yù)測(cè)一個(gè)與之相關(guān)聯(lián)的標(biāo)記集。由于標(biāo)記集的數(shù)目會(huì)隨著標(biāo)記數(shù)目的增長(zhǎng)而呈指數(shù)增長(zhǎng),所以問題的復(fù)雜度也會(huì)快速增長(zhǎng)。一般情況下,限于樣本搜集的繁瑣性和數(shù)據(jù)整理的困難性,在所構(gòu)建的訓(xùn)練數(shù)據(jù)集中,標(biāo)記集的數(shù)量往往并不是很多,通常只包括所有可能標(biāo)記集的一部分,這實(shí)際上可以在一定程度上降低問題的復(fù)雜度。然而,這種學(xué)習(xí)方式中一個(gè)明顯的缺點(diǎn)就是對(duì)于那些未出現(xiàn)在訓(xùn)練集中的標(biāo)記集很難預(yù)測(cè)出來。
多分類算法和0型基于標(biāo)記的多標(biāo)記學(xué)習(xí)算法都可以獨(dú)立地執(zhí)行學(xué)習(xí)任務(wù)而不需要任何二分類算法的支持。二者的區(qū)別在于前者可以直接產(chǎn)生一個(gè)標(biāo)記集作為預(yù)測(cè)結(jié)果,而后者則需要先在每個(gè)標(biāo)記上進(jìn)行預(yù)測(cè),最后再組合成一個(gè)標(biāo)記集,其優(yōu)勢(shì)在于可以產(chǎn)生包含在訓(xùn)練集以外的標(biāo)記集。相反地,對(duì)于n型基于標(biāo)記的多標(biāo)記學(xué)習(xí)算法和基于標(biāo)記集的多標(biāo)記學(xué)習(xí)算法,它們都必須利用若干二分類算法來輔助完成學(xué)習(xí)任務(wù)。二者的區(qū)別在于前者是在單個(gè)標(biāo)記上進(jìn)行學(xué)習(xí),而后者則是在標(biāo)記集上進(jìn)行學(xué)習(xí)。
1.3集成學(xué)習(xí)層
集成學(xué)習(xí)層通過解決兩個(gè)緊密相關(guān)的問題來產(chǎn)生最終的集成分類器:一是如何控制來自下層(包括多標(biāo)記學(xué)習(xí)層和二分類學(xué)習(xí)層)的各學(xué)習(xí)算法的執(zhí)行過程以產(chǎn)生個(gè)體分類器;二是如何利用個(gè)體分類器所提供的結(jié)果來確定在集成中所包含的標(biāo)記信息,為此需要進(jìn)行集成策略和集成算法的設(shè)計(jì)。
1.3.1集成策略
當(dāng)所有的個(gè)體分類器完成學(xué)習(xí)任務(wù)后,還需要利用集成策略來決定集成結(jié)果中需包含的標(biāo)記信息,以及如何生成最終的集成分類器。一個(gè)集成策略的主要任務(wù)是從所有的個(gè)體分類器中選出一組同時(shí)具有一定準(zhǔn)確性和多樣性的個(gè)體分類器,根據(jù)每個(gè)分類器的性能和類型為它們分別設(shè)定一個(gè)合適的權(quán)值,然后為每個(gè)待測(cè)示例產(chǎn)生一個(gè)最終的標(biāo)記集。最常見的集成方式是在個(gè)體分類器的輸出結(jié)果上進(jìn)行,集成策略決定如何利用個(gè)體分類器中包含的結(jié)果信息來構(gòu)造標(biāo)記集,如采用投票、集合運(yùn)算、計(jì)算概率等策略。另外,集成也可以在使用不同特征的分類器上進(jìn)行。對(duì)于多義性對(duì)象而言,將不同的特征向量與不同的算法相關(guān)聯(lián),以反映不同的語(yǔ)義表示,這樣得到的分類結(jié)果往往比一個(gè)算法使用所有的特征融合所產(chǎn)生的分類結(jié)果要好。然而,自動(dòng)特征選擇,特別是在多標(biāo)記學(xué)習(xí)中依然具有很大的挑戰(zhàn)性。
1.3.2集成算法
一個(gè)集成算法的主要任務(wù)是引導(dǎo)所有來自二分類學(xué)習(xí)層和多標(biāo)記學(xué)習(xí)層的學(xué)習(xí)算法在給定的數(shù)據(jù)集上完成訓(xùn)練和測(cè)試過程,以便生成個(gè)體分類器并度量它們的性能,由此建立一個(gè)集成模型供集成策略使用。要完成集成多標(biāo)記學(xué)習(xí)的過程并生成一個(gè)最終的集成分類器,需要以下基本步驟:
1)提交:選擇特征表示法、學(xué)習(xí)算法、數(shù)據(jù)集、度量指標(biāo)、訓(xùn)練階段的驗(yàn)證方法及其參數(shù)、測(cè)試階段的驗(yàn)證方法及其參數(shù),進(jìn)行提交以生成個(gè)體分類器和集成模型。
2)集成:選擇需要集成的個(gè)體分類器、使用的集成策略、集成方式,進(jìn)行集成以生成集成分類器。
3)提升:通過對(duì)集成分類器執(zhí)行優(yōu)化和過濾等操作進(jìn)一步提升集成分類器的性能。
在上面三個(gè)步驟中,前兩步是必需的,這兩步執(zhí)行完畢后即可生成一個(gè)集成分類器。第三步是為了進(jìn)一步提升集成分類器的性能而提供的基于智能計(jì)算技術(shù)的包括優(yōu)化和過濾等手段在內(nèi)的一個(gè)可選步驟。在這個(gè)步驟中,目前尚存在很多待解決的關(guān)鍵問題,如優(yōu)化算法的選擇和執(zhí)行效率、對(duì)標(biāo)記進(jìn)行過濾的標(biāo)準(zhǔn)設(shè)定等。
另外,為了使學(xué)習(xí)過程可視化和便于操作,集成算法的執(zhí)行過程應(yīng)與用戶界面相結(jié)合,將學(xué)習(xí)過程直觀地在界面上實(shí)時(shí)展示出來。整個(gè)學(xué)習(xí)過程有時(shí)需要經(jīng)過若干次的迭代,通過設(shè)定不同的參數(shù)和多次優(yōu)化操作,一個(gè)性能良好的集成多標(biāo)記學(xué)習(xí)分類器才能被成功產(chǎn)生出來。
2學(xué)習(xí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
可擴(kuò)展性對(duì)一個(gè)學(xué)習(xí)系統(tǒng)來說非常重要,其原因有:首先,現(xiàn)實(shí)中存在很多的特征表示法、學(xué)習(xí)算法和集成策略,理論上它們都可以被引入到系統(tǒng)中,但在一個(gè)系統(tǒng)中卻很難把它們都實(shí)現(xiàn)出來。更為重要的是,很多新的特征提取方法、算法和集成策略也會(huì)不斷地被提出來,這些都關(guān)系到系統(tǒng)的擴(kuò)展。所以,如果系統(tǒng)具有良好的可擴(kuò)展性,就使得引入這些算法和策略成為可能。再者,可擴(kuò)展性同時(shí)也帶來了靈活性,使得用戶可以按照自己的特定需求對(duì)系統(tǒng)進(jìn)行定制。
2.1學(xué)習(xí)系統(tǒng)的類體系結(jié)構(gòu)設(shè)計(jì)
本文通過對(duì)特征、算法及其數(shù)據(jù)模型、集成策略等實(shí)體進(jìn)行分析和設(shè)計(jì),使用面向?qū)ο蠹夹g(shù)和UML建模工具對(duì)系統(tǒng)進(jìn)行了詳細(xì)設(shè)計(jì),為系統(tǒng)擴(kuò)展建立了良好的接口。形成了以Algorithm和Classifier兩個(gè)抽象類為擴(kuò)展學(xué)習(xí)算法和分類器的基礎(chǔ),以LabelApplicable和LabelsetApplicable兩個(gè)接口為定義基于標(biāo)記和基于標(biāo)記集學(xué)習(xí)算法的標(biāo)志,以EnsembleAlgorithm類控制從數(shù)據(jù)提交到實(shí)現(xiàn)集成、優(yōu)化和過濾的整個(gè)過程。以此為基礎(chǔ),在實(shí)現(xiàn)新的學(xué)習(xí)算法、集成策略和特征表示法方面,建立了以下幾個(gè)擴(kuò)展點(diǎn):
1)BinaryClassAlgorithm:用于擴(kuò)展二分類學(xué)習(xí)算法。
2)MultiClassAlgorithm:用于擴(kuò)展多分類學(xué)習(xí)算法。
3)LabelBasedAlgorithm0:用于擴(kuò)展0型基于標(biāo)記的多標(biāo)記學(xué)習(xí)算法。
4)LabelBasedAlgorithmN:用于擴(kuò)展n型基于標(biāo)記的多標(biāo)記學(xué)習(xí)算法。
5)LabelsetBasedAlgorithm:用于擴(kuò)展基于標(biāo)記集的多標(biāo)記學(xué)習(xí)算法。
6)Model:用于擴(kuò)展與學(xué)習(xí)算法相對(duì)應(yīng)的數(shù)據(jù)模型。
7)EnsembleStrategy:用于擴(kuò)展新的集成策略。
8)Feature:用于擴(kuò)展新的特征提取和表示方法。
在上述這些類和接口的基礎(chǔ)上,構(gòu)建一個(gè)集成多標(biāo)記學(xué)習(xí)系統(tǒng)的主要任務(wù)就是從上述擴(kuò)展點(diǎn)進(jìn)行擴(kuò)展,為系統(tǒng)添加新的學(xué)習(xí)算法及其數(shù)據(jù)模型、集成策略和特征提取方法等相關(guān)內(nèi)容,并結(jié)合系統(tǒng)配置文件靈活地將這些擴(kuò)展部分添加到系統(tǒng)中,從而增強(qiáng)系統(tǒng)的功能和提高系統(tǒng)的性能。因此,本文中所設(shè)計(jì)的集成多標(biāo)記學(xué)習(xí)系統(tǒng)具有良好的可擴(kuò)展性和開放性。從廣義上說,它是一個(gè)通用型的學(xué)習(xí)系統(tǒng),不僅可以用于蛋白質(zhì)亞細(xì)胞定位問題的研究,還能夠適應(yīng)于更多分類問題的求解。
2.2學(xué)習(xí)系統(tǒng)的擴(kuò)展實(shí)現(xiàn)
針對(duì)蛋白質(zhì)多亞細(xì)胞定位預(yù)測(cè)問題,本文使用支持面向?qū)ο蠹夹g(shù)的Java語(yǔ)言,在特征表示、學(xué)習(xí)算法和集成策略等方面進(jìn)行了擴(kuò)展和實(shí)現(xiàn)。
1) 特征表示:實(shí)現(xiàn)了氨基酸組成(Amino Acid Composition, AAC)[11]、偽氨基酸組成(Pseudo Amino Acid Composition, PseAAC)[12]、兩性偽氨基酸組成(Amphiphilic Pseudo Amino Acid Composition, AmPseAAC)[13]、類模式頻率(Class Pattern Frequency, CPF)和蛋白質(zhì)相似性度量(Protein Similarity Measure, PSM)[14]等蛋白質(zhì)特征提取和表示方法。
2) 學(xué)習(xí)算法和集成策略:本文實(shí)現(xiàn)的學(xué)習(xí)算法和集成策略如表1所示。
3學(xué)習(xí)系統(tǒng)的應(yīng)用與結(jié)果分析
3.1數(shù)據(jù)集
本文采用由Shen等[20]于2009年構(gòu)建的革蘭氏陽(yáng)性細(xì)菌蛋白質(zhì)數(shù)據(jù)集,該數(shù)據(jù)集共包含519條蛋白質(zhì)序列數(shù)據(jù),并且任意兩條蛋白質(zhì)之間的序列同源性都不超過25%,有效避免了序列同源性對(duì)預(yù)測(cè)結(jié)果的影響。數(shù)據(jù)集中共涉及到4種不同的亞細(xì)胞位置和7種不同的亞細(xì)胞位置集合。在這519條蛋白質(zhì)序列中,長(zhǎng)度最長(zhǎng)的含有2334個(gè)氨基酸,最短的含有55個(gè)氨基酸,平均氨基酸個(gè)數(shù)約為424。
在PseAAC和AmPseAAC中都有兩個(gè)待優(yōu)化的參數(shù)w和λ,本文使用網(wǎng)格法對(duì)兩種特征提取方法分別在選擇的訓(xùn)練數(shù)據(jù)集上進(jìn)行搜索以尋找最優(yōu)值。設(shè)定w的取值區(qū)間為[0,1],步長(zhǎng)為0.01;λ的取值區(qū)間為[1,10],步長(zhǎng)為1。通過搜索,對(duì)于PseAAC,得到了兩個(gè)參數(shù)的取值分別為w=0.01和λ=7,而AmPseAAC對(duì)應(yīng)的兩個(gè)參數(shù)的取值分別為w=0.2和λ=6。由此,使用這兩種特征表示法時(shí)每條蛋白質(zhì)序列分別表示為長(zhǎng)度為27和32的兩個(gè)實(shí)向量。
3.3學(xué)習(xí)過程
本文以表1中標(biāo)注為*的KNN作為二分類學(xué)習(xí)層中的學(xué)習(xí)算法,以標(biāo)注為1~10的10種算法作為多標(biāo)記學(xué)習(xí)層的學(xué)習(xí)算法,使用標(biāo)注為#的集成算法和標(biāo)注為a~f的6種集成策略進(jìn)行實(shí)驗(yàn)。在訓(xùn)練階段,對(duì)于KNN和ML-KNN算法設(shè)定K的搜索區(qū)間為[1,50],對(duì)于ClassifierChians和RandomKLabelset算法則采用隨機(jī)的方式,然后使用10次交叉驗(yàn)證來訓(xùn)練各個(gè)個(gè)體分類器;在測(cè)試階段,采用Jackknife測(cè)試對(duì)個(gè)體分類器的性能進(jìn)行度量,并生成一個(gè)包含20個(gè)個(gè)體分類器信息的集成模型。最后,使用粒子群優(yōu)化(Particle Swarm Optimization, PSO)算法[21]優(yōu)化算法在20個(gè)分類器上進(jìn)行選擇,產(chǎn)生出一組分類器組合,通過在這組分類器上分別應(yīng)用6種不同的集成策略后,得到最終的集成分類器。
3.4性能度量指標(biāo)
對(duì)于一個(gè)樣本空間大小為m、標(biāo)記空間大小為q的測(cè)試數(shù)據(jù)集,令Yi和Y*i分別表示測(cè)試集中第i個(gè)樣本的真實(shí)標(biāo)記集和預(yù)測(cè)標(biāo)記集,則有式(10)所示的5個(gè)常用的度量指標(biāo):
在上述指標(biāo)中,Absolute-True是最為嚴(yán)格的一個(gè)指標(biāo),在多標(biāo)記學(xué)習(xí)框架下,它用來度量被完全正確預(yù)測(cè)的樣本數(shù)量占測(cè)試集樣本總數(shù)量的比例,其值越大越好。在訓(xùn)練階段即采用該指標(biāo)作為目標(biāo)值進(jìn)行參數(shù)的優(yōu)化。Hamming-Loss(又稱為Absolute-False)則是用來度量被錯(cuò)誤預(yù)測(cè)的標(biāo)記情況,其值越小越好。Recall、Precision和Accuracy分別表示正確預(yù)測(cè)出的標(biāo)記占真實(shí)標(biāo)記、預(yù)測(cè)標(biāo)記和整體標(biāo)記(包括真實(shí)標(biāo)記和預(yù)測(cè)標(biāo)記)的比例,它們的值都是越大越好。
3.5結(jié)果分析
訓(xùn)練后生成的20個(gè)個(gè)體分類器的性能指標(biāo)如表3所示,其中指標(biāo)1~5分別表示Absolute-True、Hamming_Loss、Recall、Precision和Accuracy;A1~A10分別表示10種學(xué)習(xí)算法;F1和F2分別表示PseAAC和AmPseAAC兩種特征表示法;下劃線表示使用PSO算法選擇出的分類器組合(后續(xù)表格中采用相同的表示方法,不再重復(fù)說明)。
從表3可以看出,在20個(gè)個(gè)體分類器中,Absolute-True的最大值為0.7611,最小值為0.6840,并可以計(jì)算出平均值為0.7330。得到的分類器組合中共包含了3個(gè)個(gè)體分類器,分別是ML-KNN+PseAAC、ML-KNN+AmPseAAC和Labelset1VSX+AmPseAAC,它們對(duì)應(yīng)的Absolute-True的值分別為0.7148、0.7572和0.7476。直觀地看,這組分類器具有合適的規(guī)模、較高的準(zhǔn)確性和較好的多樣性,為進(jìn)行集成操作提供了有利條件。通過應(yīng)用不同的集成策略,最后得到使用Probability_Maximum_Label集成策略的結(jié)果最好,如表4所示。
從表3和表4可以看出,集成分類器的Absolute-True指標(biāo)值為0.7765,高于3個(gè)分類器中的任何一個(gè),而Hamming-Loss指標(biāo)值為0.1113,低于3個(gè)分類器中的任何一個(gè),這些結(jié)果從不同方面都驗(yàn)證了集成方法的有效性。
為了進(jìn)一步驗(yàn)證本文所設(shè)計(jì)方法的性能,將有關(guān)結(jié)果與文獻(xiàn)[22]進(jìn)行了比較。文獻(xiàn)[22]使用了N端信號(hào)肽、PseAAC、氨基酸指數(shù)分布(Amino Acid Index Distribution,AAID)、理化特性模型和立體化學(xué)屬性共5種特征表示方法,并將它們以不同的方式進(jìn)行融合,使用ML-KNN算法,在與本文所使用的相同訓(xùn)練數(shù)據(jù)集上完成了分類器的訓(xùn)練,得到了一個(gè)最好的分類器,其性能指標(biāo)也列于表4中。該分類器的Absolute-True指標(biāo)值和Hamming-Loss指標(biāo)值分別為0.6673和0.1440。顯然,本文的結(jié)果在這兩個(gè)指標(biāo)上都更好,其中Absolute-True指標(biāo)值高出近11個(gè)百分點(diǎn),而Hamming-Loss指標(biāo)值則低3個(gè)多百分點(diǎn)。
為了驗(yàn)證多特征集成方法與多特征融合方法的優(yōu)劣,首先將PseAAC和AmPseAAC兩種特征進(jìn)行了融合,產(chǎn)生出長(zhǎng)度為27+32=57的特征向量(用F1+F2表示),然后分別對(duì)10種學(xué)習(xí)算法在相同的數(shù)據(jù)集上進(jìn)行訓(xùn)練,得到10個(gè)個(gè)體分類器,它們的性能指標(biāo)如表5所示。
接下來,對(duì)每種學(xué)習(xí)算法在PseAAC和AmPseAAC特征上產(chǎn)生的兩個(gè)分類器進(jìn)行集成(用F1^F2表示特征),同樣得到10個(gè)個(gè)體分類器,它們的性能指標(biāo)如表6所示。
最后,以Absolute-True為主要度量指標(biāo),將10種學(xué)習(xí)算法分別在特征F1、F2、F1+F2、F1^F2上所產(chǎn)生的個(gè)體分類器進(jìn)行了性能比較,結(jié)果如表7所示。
分析表7中的數(shù)據(jù)可以看出,采用特征集成所產(chǎn)生的分類器性能總是不次于采用特征融合產(chǎn)生的分類器,這說明在多個(gè)特征上進(jìn)行集成的方法要好于特征融合所產(chǎn)生的效果。分析原因,初步認(rèn)為在集成過程中個(gè)體分類器之間具有一定的互補(bǔ)性,提高了集成分類器的性能。
4結(jié)語(yǔ)
本文結(jié)合多標(biāo)記學(xué)習(xí)和集成學(xué)習(xí)兩方面的內(nèi)容設(shè)計(jì)了一種多層的集成多標(biāo)記學(xué)習(xí)系統(tǒng),并在蛋白質(zhì)多亞細(xì)胞定位預(yù)測(cè)問題上進(jìn)行了應(yīng)用。測(cè)試表明,系統(tǒng)能夠正常運(yùn)行,驗(yàn)證了系統(tǒng)的可執(zhí)行性;系統(tǒng)提供了對(duì)數(shù)據(jù)集、特征、算法和集成策略等方面的配置方式,體現(xiàn)了系統(tǒng)的靈活性;更重要的是,利用面向?qū)ο蠹夹g(shù)設(shè)計(jì)了良好的接口基礎(chǔ),形成一個(gè)通用型的集成多標(biāo)記學(xué)習(xí)系統(tǒng)框架,反映了系統(tǒng)的可擴(kuò)展性,可以通過進(jìn)行二次開發(fā)來增強(qiáng)系統(tǒng)功能和提高系統(tǒng)性能,使系統(tǒng)不僅可用于蛋白質(zhì)亞細(xì)胞定位預(yù)測(cè)問題的求解,還可以用于其他一些多標(biāo)記學(xué)習(xí)問題,具有較高的適用性;在給定數(shù)據(jù)集上得到了較好的實(shí)驗(yàn)結(jié)果,證明了系統(tǒng)的有效性。在解決諸如蛋白質(zhì)多亞細(xì)胞定位預(yù)測(cè)等多標(biāo)記學(xué)習(xí)問題上,該系統(tǒng)有望成為一個(gè)有用的工具并提供一定的參考價(jià)值。但系統(tǒng)中還存在著很多需要進(jìn)一步深入研究的內(nèi)容,如數(shù)據(jù)集中樣本不平衡問題、蛋白質(zhì)各亞細(xì)胞之間的關(guān)聯(lián)網(wǎng)絡(luò)和集成策略的設(shè)計(jì)等。限于未找到在相同數(shù)據(jù)集上使用其他集成方法的相關(guān)文獻(xiàn),目前尚不能把本文的集成方法與其他集成方法進(jìn)行比較。下一步的主要工作是在更多的特征和數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),與其他集成方法進(jìn)行比較,進(jìn)一步驗(yàn)證本文方法的有效性;同時(shí)改進(jìn)現(xiàn)有的學(xué)習(xí)算法和集成策略,并設(shè)計(jì)新的學(xué)習(xí)算法和集成策略,以擴(kuò)大系統(tǒng)的應(yīng)用范圍。
參考文獻(xiàn):
[1]HANSON M R, KHLER R H. GFP imaging: methodology and application to investigate cellular compartmentation in plants [J]. Journal of Experimental Botany, 2001, 52(356): 529-539.
[2]DREGER M. Proteome analysis at the level of subcellular structures [J]. European Journal of Biochemistry, 2003, 270(4): 589-599.
[3]ZHANG S, XIA X, SHEN J, et al. DBMLoc: a database of proteins with multiple subcellular localizations [J]. BMC Bioinformatics, 2008, 9(1): 127.
[4]CHOU K-C. Some remarks on predicting multi-label attributes in molecular biosystems [J]. Molecular BioSystems, 2013, 9(6): 1092-1100.
[5]CHOU K-C, SHEN H-B. Recent progress in protein subcellular location prediction [J]. Analytical Biochemistry, 2007, 370(1): 1-16.
[6]DU P, LI T, WANG X. Recent progress in predicting protein sub-subcellular locations [J]. Expert Review of Proteomics, 2011, 8(3): 391-404.
[7]CHOU K-C, CAI Y-D. Predicting protein localization in budding yeast [J]. Bioinformatics, 2005, 21(7): 944-950.
[8]GARDY J L, LAIRD M R, CHEN F, et al. PSORTb v.2.0: expanded prediction of bacterial protein subcellular localization and insights gained from comparative proteome analysis [J]. Bioinformatics, 2005, 21(5): 617-623.
[9]DU P, XU C. Predicting multisite protein subcellular locations: progress and challenges [J]. Expert Review of Proteomics, 2013, 10(3): 227-237.
[10]ZHANG M-L, ZHOU Z-H. A review on multi-label learning algorithms [J]. IEEE Transactions on Knowledge and Data Engineering, 2014, 26(8): 1819-1837.
[11]NAKASHIMA H, NISHIKAWA K, OOI T. The folding type of a protein is relevant to the amino acid composition [J]. Journal of Biochemistry, 1986, 99(1): 153-162.
[12]CHOU K-C. Prediction of protein cellular attributes using pseudo-amino acid composition [J]. Proteins, 2001, 43(3): 246-255.
[13]CHOU K-C. Using amphiphilic pseudo amino acid composition to predict enzyme subfamily classes [J]. Bioinformatics, 2005, 21(1): 10-19.
[14]SARAVANAN V, LAKSHMI P T V. APSLAP: an adaptive boosting technique for predicting subcellular localization of apoptosis protein [J]. Acta Biotheoretica, 2013, 61(4): 481-497.
[15]ZHANG M-L, ZHOU Z-H. ML-KNN: a lazy learning approach to multi-label learning [J]. Pattern Recognition, 2007, 40(7): 2038-2048.
[16]BOUTELL M R, LUO J, SHEN X, et al. Learning multi-label scene classification [J]. Pattern Recognition, 2004, 37(9): 1757-1771.
[17]FRNKRANZ J, HLLERMEIER E, LOZA MENCA E, et al. Multilabel classification via calibrated label ranking [J]. Machine Learning, 2008, 73(2): 133-153.
[18]READ J, PFAHRINGER B, HOLMES G, et al. Classifier chains for multi-label classification [J]. Machine Learning, 2011, 85(3): 333-359.
[19]TSOUMAKAS G, KATAKIS I, VLAHAVAS I. Random k-labelsets for multilabel classification [J]. IEEE Transactions on Knowledge and Data Engineering, 2011, 23(7): 1079-1089.
[20]SHEN H-B, CHOU K-C. Gpos-mPLoc: a top-down approach to improve the quality of predicting subcellular localization of gram-positive bacterial proteins [J]. Protein & Peptide Letters, 2009, 16(12): 1478-1484.
[21]KENNEDY J, EBERHART R C. A discrete binary version of the particle swarm optimization [C]// Proceedings of the 1997 IEEE International Conference on Computational Cybernetics and Simulation. Piscataway, NJ: IEEE, 1997, 5: 4104-4108.
[22]QU X, WANG D, CHEN Y, et al. Predicting the subcellular localization of proteins with multiple sites based on multiple features fusion [J]. IEEE/ACM Transactions on Computational Biology and Bioinformatics, 2016, 13(1): 36-42.