李俊玲,李咸璞
(1 中國石油大學(xué)(華東)理學(xué)院,山東 青島 266580;2 北京林大學(xué)生命科學(xué)與技術(shù)學(xué)院,北京 100083)
廣義的算法(Algorithm)是指解題方案的準(zhǔn)確而完整的描述,是解決一系列問題的分步指令?,F(xiàn)代算法代表著用系統(tǒng)的方法描述解決問題的策略機(jī)制。工業(yè)的發(fā)展催生了現(xiàn)代算法,現(xiàn)代算法被廣泛運(yùn)用于各種控制系統(tǒng),代替人工進(jìn)行批量、分步的工作;也可用于大批量、程序化的復(fù)雜數(shù)據(jù)處理。
化學(xué)工序就是廣義上的算法,從古人制作肥皂到現(xiàn)代藥物合成,化學(xué)工業(yè)作為最古老的工業(yè)概念處處離不開算法?,F(xiàn)代化工在化工設(shè)計、機(jī)器控制、檢測工序、工藝開發(fā)等方面都有算法的應(yīng)用。在實際生產(chǎn)過程中,為確定最佳工藝參數(shù),需要做大量工作,反復(fù)實驗,耗費(fèi)大量人力物力。通過機(jī)器學(xué)習(xí)可以根據(jù)工藝過程中內(nèi)部機(jī)制構(gòu)建虛擬模型,優(yōu)化實驗?zāi)J?,有效設(shè)計及優(yōu)化系統(tǒng)和工藝過程,提高生產(chǎn)效率,提高經(jīng)濟(jì)效益。隨著計算機(jī)技術(shù)的進(jìn)步,基于編程的高級算法有了長足的發(fā)展。機(jī)器學(xué)習(xí)作為一種高級算法為化學(xué)化工研究提供了一種高效手段。
機(jī)器學(xué)習(xí)算法(程序)即使用計算機(jī)模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,組織已有的數(shù)據(jù)以獲取新規(guī)律的一大類算法(程序)。目前由于電腦可以處理的數(shù)據(jù)量遠(yuǎn)超人類,所以機(jī)器學(xué)習(xí)算法可以取代人工完成以前不可想像的宏大數(shù)據(jù)處理任務(wù)。但是,目前機(jī)器學(xué)習(xí)算法的自我學(xué)習(xí)性、創(chuàng)新創(chuàng)造性還遠(yuǎn)不如人腦。
機(jī)器學(xué)習(xí)應(yīng)用于化工研究的優(yōu)勢在于其高效性。機(jī)器學(xué)習(xí)算法減少了建立復(fù)雜的數(shù)據(jù)模型帶來的困難,能夠處理非結(jié)構(gòu)化數(shù)據(jù),能夠處理大數(shù)據(jù)量,還可以有效利用歷史數(shù)據(jù)。適合分析過程復(fù)雜問題以及一些不易數(shù)學(xué)建模的抽象問題。
邏輯回歸、向量機(jī)、最大熵等淺層機(jī)器學(xué)習(xí)算法在20世紀(jì)90年代就已出現(xiàn),但是局限于當(dāng)時匱乏的樣本和贏弱的計算能力,使計算機(jī)尋找關(guān)聯(lián)數(shù)據(jù)間復(fù)雜函數(shù)的能力有限。于是,基于機(jī)器學(xué)習(xí)的人工智能在當(dāng)時并沒有得到大規(guī)模的應(yīng)用。
進(jìn)入21世紀(jì)后,隨著計算機(jī)存儲大量數(shù)據(jù)的成本下降、高性能運(yùn)算能力的提升,以及算法的持續(xù)優(yōu)化,基于機(jī)器學(xué)習(xí)的應(yīng)用最終產(chǎn)生了革命性的突破。在合理時間內(nèi)訓(xùn)練有效的神經(jīng)網(wǎng)絡(luò)模型的可行性證明了這種方法在電子商務(wù)、游戲、醫(yī)學(xué)、圖像分析、人臉識別和自動駕駛等領(lǐng)域的應(yīng)用潛力[1]。如Tesla公司使用基于機(jī)器學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)算法開發(fā)了自動駕駛程序,該程序通過實時處理攝像頭的畫面識別道路、車輛和行人,從而配合其他硬件實現(xiàn)自動駕駛功能。2020年第四季度,Tesla公司憑借自動駕駛新能源汽車,市值超過通用、豐田等傳統(tǒng)車企,達(dá)到一萬億美元,成為全球市值最高的汽車公司。
機(jī)器學(xué)習(xí)通過對大批量數(shù)據(jù)的反復(fù)分析,不斷優(yōu)化自身處理數(shù)據(jù)的模型,從而在大批量的數(shù)據(jù)中尋找客觀事物的相互聯(lián)系,形成高效分類、預(yù)測或者決策的新算法。
化學(xué)研究經(jīng)常要面對十分復(fù)雜的物質(zhì)體系和實驗過程,實驗過程中需要處理大批量的實驗數(shù)據(jù),從而很難通過化學(xué)物理原理進(jìn)行精準(zhǔn)的分析和判斷。
基于機(jī)器學(xué)習(xí)的人工智能算法可以替代人類進(jìn)行重復(fù)冗雜的簡單工作,挖掘化學(xué)實驗中產(chǎn)生的海量實驗數(shù)據(jù)的相關(guān)性,幫助化學(xué)家做出合理分析預(yù)測,加速化學(xué)研發(fā)過程甚至挖掘創(chuàng)新點(diǎn)。
R語言和Python是兩種機(jī)器學(xué)習(xí)最常用的工具。每一個工具都有其優(yōu)缺點(diǎn),但Python最近在各個方面都略有勝出。Scikit-Learn庫包含有完善的文檔和豐富的機(jī)器學(xué)習(xí)算法。本文重點(diǎn)介紹基于Scikit-Learn庫的Python語言機(jī)器學(xué)習(xí)方法。
(1)選擇數(shù)據(jù)分析模型
根據(jù)實際需要明確分析數(shù)據(jù)的模型,為選擇具體算法作準(zhǔn)備?,F(xiàn)有模型大致分為三類。
監(jiān)督學(xué)習(xí):從成對已經(jīng)標(biāo)記好輸入和輸出的經(jīng)驗數(shù)據(jù)中進(jìn)行學(xué)習(xí),用來預(yù)測輸出結(jié)果,是從有正確答案的例子中學(xué)習(xí)。常用于分類、回歸。如:k值近鄰回歸算法(k-Nearest Neighbor Algorithm for Regression)、局部加權(quán)回歸算法(Local Weighted Regression)、線性回歸算法(Linear Regression)等。
無監(jiān)督學(xué)習(xí):無經(jīng)驗判據(jù),給出在數(shù)據(jù)中發(fā)現(xiàn)一些規(guī)律。常用于聚類、降維。如:基于密度的聚類方法(DBSCAN)、用高斯混合模型(GMM)的最大期望(EM)聚類算法等。
半監(jiān)督學(xué)習(xí):又叫增強(qiáng)學(xué)習(xí),介于監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí)之間,問題可以通過決策來獲得反饋,但是反饋與某一個決策可能沒有直接關(guān)系。
(2)數(shù)據(jù)的收集與加載
收集實驗數(shù)據(jù)或樣本數(shù)據(jù),將數(shù)據(jù)加載到內(nèi)存中。
定義X特征物數(shù)組和Y目標(biāo)變量的值。
(3)數(shù)據(jù)標(biāo)準(zhǔn)化
基于梯度方法的機(jī)器學(xué)習(xí)算法對于數(shù)據(jù)的縮放很敏感。在運(yùn)行算法之前,需要進(jìn)行標(biāo)準(zhǔn)化或規(guī)格化。
標(biāo)準(zhǔn)化包括替換所有特征的名義值,讓它們每一個的值在0和1之間。而對于規(guī)格化,它包括數(shù)據(jù)的預(yù)處理,使得每個特征的值有0和1的離差。Scikit-Learn庫已經(jīng)為其提供了相應(yīng)的函數(shù)。
(4)特征的選取
解決問題的重要方法就是抓重點(diǎn),利用機(jī)器學(xué)習(xí)解決問題就需要我們提前定義數(shù)據(jù)的特征,這個過程叫做特征選取。通過定義數(shù)據(jù)不同特點(diǎn)的不同權(quán)重,使計算機(jī)可以按照要求發(fā)現(xiàn)數(shù)據(jù)中的規(guī)律。
約76%的受訪學(xué)生表示不滿意。隨機(jī)抽樣訪談中,受訪學(xué)生對教材的意見集中為:(1)文化內(nèi)容少,編排不連貫;(2)主題陳舊過時、枯燥乏味;(3)文化點(diǎn)注解不夠詳細(xì),甚至沒有注解。
(5)算法的選擇與開發(fā)
根據(jù)不同的樣本、不同的目的選擇合適的算法。Scikit-Learn庫已經(jīng)實現(xiàn)了所有基本機(jī)器學(xué)習(xí)的算法。下面介紹幾種常用機(jī)器學(xué)習(xí)算法。
①邏輯回歸
大多數(shù)情況下被用來解決分類問題(二元分類),但多類的分類(所謂的一對多方法)也適用。這個算法的優(yōu)點(diǎn)是對于每一個輸出的對象都有一個對應(yīng)類別的概率。
②樸素貝葉斯
最有名的機(jī)器學(xué)習(xí)的算法之一,它的主要任務(wù)是恢復(fù)訓(xùn)練樣本的數(shù)據(jù)分布密度。這個方法通常在多類的分類問題上表現(xiàn)的很好。
③k-最近鄰
④決策樹
分類和回歸樹(CART)經(jīng)常被用于問題中對象有可分類的特征且被用于回歸和分類問題。決策樹很適用于多類分類。
⑤支持向量機(jī)
支持向量機(jī)(SVM)是最流行的機(jī)器學(xué)習(xí)算法之一,它主要用于分類問題。同樣也用于邏輯回歸,SVM在一對多方法的幫助下可以實現(xiàn)多類分類。
除了分類和回歸問題,Scikit-Learn還有海量的更復(fù)雜的算法,包括了聚類,以及建立混合算法的實現(xiàn)技術(shù),如Bagging和Boosting。
蛋白質(zhì)計算設(shè)計是利用原子物理、量子物理、量子化學(xué)等理論揭示微觀粒子能量、運(yùn)動與相互作用規(guī)律從而達(dá)到人工設(shè)計蛋白質(zhì)目標(biāo)的技術(shù)。也有部分蛋白質(zhì)設(shè)計研究以統(tǒng)計能量函數(shù)為算法依據(jù)。研究者在計算機(jī)的輔助下,通過運(yùn)用分子對接(Molecular docking)、分子動力學(xué)模擬(Molecular dynamic simulations)、量子力學(xué)(Quantum mechanics)方法、蒙特卡羅(Monte Carlo)模擬退火(Simulated annealing)等一系列計算方法[2],預(yù)測并評估數(shù)以千計的突變體在結(jié)構(gòu)、自由能、底物結(jié)合能等方面的變化?;谟嬎憬Y(jié)果,從中篩選可能符合改造要求的突變體并進(jìn)行實驗驗證(如突變體能否正常表達(dá)、折疊及行使預(yù)期功能等);再根據(jù)實驗結(jié)果制定下一輪計算方案,循環(huán)往復(fù)直到獲得符合需求的蛋白質(zhì)。
蛋白質(zhì)突變體及其對應(yīng)的實驗數(shù)據(jù)本身是無法被機(jī)器學(xué)習(xí)算法直接識別的,其序列、結(jié)構(gòu)、功能等特征(Feature)信息必須以向量或數(shù)組的形式展現(xiàn)出來,才能構(gòu)建被機(jī)器學(xué)習(xí)算法識別的模型。模型的好壞取決于特征提取。以氨基酸在蛋白序列上的位置信息為特征,是比較常見的處理方式;另外,氨基酸殘基位點(diǎn)的理化性質(zhì)(如帶電性、親疏水性、側(cè)鏈空間體積等)或所處的二級結(jié)構(gòu)信息均可作為特征。問題在于應(yīng)優(yōu)先選取哪些特征,以及這些特征能在多大程度上決定蛋白質(zhì)擬改造性能是需要進(jìn)行考量的[3]。
目前已經(jīng)有一些蛋白質(zhì)/氨基酸特征工具箱可供參考,一旦特征提取之后,將交付機(jī)器學(xué)習(xí)算法進(jìn)行學(xué)習(xí)并生成可以描述數(shù)據(jù)模型的目標(biāo)函數(shù),并對蛋白質(zhì)序列進(jìn)行虛擬進(jìn)化,通過訓(xùn)練和測試評估效能,最終給出預(yù)測結(jié)果(表1)。
表1 近5年機(jī)器學(xué)習(xí)在蛋白質(zhì)設(shè)計的部分應(yīng)用Table 1 Applications of machine learning- guided protein design in 5 years
化學(xué)信息學(xué)(chemoinformatics)是一門應(yīng)用信息學(xué)方法解決化學(xué)問題的學(xué)科。其主要任務(wù)之一是基于化合物二維(2D)或者三維(3D)結(jié)構(gòu)發(fā)展能夠預(yù)測化合物潛在性質(zhì)的模型,該模型基于的基本假設(shè)是“相似的分子具有相似的性質(zhì)”。這一假設(shè)也被稱為構(gòu)效關(guān)系(structureacitivity relationship,SAR),用來建立化合物結(jié)構(gòu)與性質(zhì)之間的相關(guān)性。定量構(gòu)效關(guān)系(quantitative structure-acitivity relationship,QSAR)是在構(gòu)效關(guān)系的基礎(chǔ)上,結(jié)合物理化學(xué)中常用的經(jīng)驗,使用數(shù)學(xué)模型來描述分子結(jié)構(gòu)和分子的某種生物活性之間的關(guān)系。其基本假設(shè)是化合物的分子結(jié)構(gòu)包含了決定其物理,化學(xué)及生物等方面的性質(zhì)信息,而這些理化性質(zhì)則進(jìn)一步?jīng)Q定了該化合物的生物活性。定量構(gòu)效關(guān)系核心方法是美國波蒙拿學(xué)院的Hansch在1964年通過Hansch方程提出,方程由lgP疏水參數(shù),ES立體參數(shù),σ電性參數(shù)組成。Hansch模型引導(dǎo)了經(jīng)典QSAR理論的發(fā)展。其后QSAR的研究被大量用于預(yù)測化合物的藥代動力學(xué)性質(zhì),如吸收、代謝、分布和毒性。構(gòu)建QSAR模型一般需要3個主要步驟:生成已知化合物測量性質(zhì)的訓(xùn)練集;編碼關(guān)于化合物的化學(xué)結(jié)構(gòu)的信息;建立數(shù)學(xué)模型,從編碼的化學(xué)結(jié)構(gòu)信息預(yù)測測量的性質(zhì)。在訓(xùn)練集已知的前提下,通常一個QSAR模型的構(gòu)建會涉及以下兩個過程。
(1)編碼過程:將一個化合物轉(zhuǎn)化成有效的表征。通過化學(xué)專業(yè)知識設(shè)計出描述化合物性質(zhì)的分子描述符,從而計算出用來表征化合物性質(zhì)或者拓?fù)浣Y(jié)構(gòu)的x,即模型的輸入特征。
(2)映射過程:即模型構(gòu)建過程,發(fā)現(xiàn)一個函數(shù)f使得輸入特征x與目標(biāo)性質(zhì)y之間產(chǎn)生經(jīng)驗性的聯(lián)系,即y≈f(x)。早期的QSAR模型先是基于線性回歸模型和貝葉斯神經(jīng)網(wǎng)絡(luò),隨后是RF和SVM。但是這些模型都依賴于特征的設(shè)計和選擇。而近年來發(fā)展的基于深度學(xué)習(xí)的QSAR模型也逐漸參與到了研究工作中。下面就基于模型框架的類型分別討論近年來深度學(xué)習(xí)技術(shù)在QSAR中的進(jìn)展情況。
深層神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)框架是最傳統(tǒng)的一套深度學(xué)習(xí)框架,在QSAR中,該模型的能力得到了很好的應(yīng)用。Dahl和Hinton帶領(lǐng)的團(tuán)隊在2012年首次將深度學(xué)習(xí)引進(jìn)QSAR中,并贏得了Merck贊助的Kaggle比賽。在15個藥物靶標(biāo)的預(yù)測比賽中,DNN模型的平均R2(皮爾森相關(guān)系數(shù)平方)以0.494的成績打敗了RF模型(0.420)[9],雖然優(yōu)勢微弱,但是這是首次打破RF模型冠軍地位的模型。該方法數(shù)據(jù)的編碼采用“atom pair”描述符(來自Carhart等[10])和“donor-acceptor pair”描述符(來自Kearsley等[11])。其描述符的基本模式是:原子i—(鍵距)—原子j。在映射過程中,該方法建立在一個簡單的DNN框架上,加上了避免梯度消失的ReLU激活函數(shù),采取了先前提到的dropout和無監(jiān)督預(yù)訓(xùn)練的訓(xùn)練策略,然后利用批量隨機(jī)梯度下降法[12]對模型進(jìn)行訓(xùn)練以及優(yōu)化,從而建立了藥物和靶標(biāo)之間的映射關(guān)系。該方法后來被Merck團(tuán)隊在擴(kuò)充的數(shù)據(jù)集上進(jìn)行綜合性的評估和分析,他們發(fā)現(xiàn)該DNN方法能夠在很多任務(wù)上輕松地超過RF模型,并強(qiáng)調(diào)了該方法可以作為一種實用的開發(fā)QSAR模型的技術(shù)[13]。
從分子編碼技術(shù)在深度學(xué)習(xí)中的應(yīng)用來看,基于機(jī)器學(xué)習(xí)的原子水平特征輸入在逐漸取代基于分子描述符或分子指紋的特征輸入,這說明深度學(xué)習(xí)擁有足夠的能力從原子層面提取支持分子水平預(yù)測的信息,印證了其強(qiáng)大的特征提取能力。
4.3.1 靶點(diǎn)識別
靶點(diǎn)是藥物研發(fā)的基礎(chǔ),藥物靶點(diǎn)的識別在藥物研發(fā)過程中尤為重要。近年來越來越多的研究表明,相對于未知的靶點(diǎn),已發(fā)現(xiàn)的靶點(diǎn)只是冰山一角。通過人工智能輔助預(yù)測藥物靶點(diǎn),可以大大縮短靶點(diǎn)發(fā)現(xiàn)周期,對藥物研發(fā)具有重要意義。
決策樹算法可用于預(yù)測藥物靶點(diǎn)。Costa 團(tuán)隊[14]基于決策樹來預(yù)測與疾病相關(guān)的基因,發(fā)現(xiàn)了多種轉(zhuǎn)錄因子在代謝通路和細(xì)胞外定位中的調(diào)控作用。
基于蛋白靶點(diǎn)的化學(xué)結(jié)構(gòu)和幾何特征,Nayal 團(tuán)隊[15]選取了 99 個蛋白的 99 個藥物結(jié)合位點(diǎn)和1187 個非藥物結(jié)合位點(diǎn),構(gòu)建了一個隨機(jī)森林分類器來預(yù)測成藥靶點(diǎn)。
Kumari 團(tuán)隊[16]結(jié)合自助法(bootstrap)采樣提升了隨機(jī)森林算法,成功從非藥物靶點(diǎn)中區(qū)分出了藥物靶點(diǎn)。針對乳腺癌、胰腺癌和卵巢癌等疾病,Jeon等[17]利用一系列基因數(shù)據(jù)集構(gòu)建了一個 SVM 分類器,可將蛋白分為藥物靶點(diǎn)和非藥物靶點(diǎn) 2 個類別。
4.3.2 靶點(diǎn)篩選
藥品的有效分子在人體內(nèi)可以同時作用多個靶點(diǎn),但如果作用于非靶向受體就會引起副作用。機(jī)器學(xué)習(xí)算法可以輔助對預(yù)備化合物的篩選,更快找出作用于特定靶點(diǎn)且具有較高活性的化合物。
決策樹模型可用于拓?fù)洚悩?gòu)酶Ⅰ抑制劑的分類和預(yù)測。利用低維QSAR描述符建立決策樹,Neugebauer 等[18]成功預(yù)測了與蛋白相互作用的抑制劑,并利用模型進(jìn)一步精細(xì)決策樹得到真陽率更高的蛋白相互作用抑制劑。王潔雪等[19]采用決策樹與隨機(jī)森林2 種機(jī)器學(xué)習(xí)方法分別對脾酪氨酸激酶(spleen tyrosinekinase,Syk)抑制劑與非抑制劑建立模型,經(jīng)過對比,隨機(jī)森林具有更好的預(yù)測精度,采用隨機(jī)森林模型對Syk 抑制劑進(jìn)行虛擬篩選,從 ZINC 分子數(shù)據(jù)庫篩選得到潛在的 Syk 抑制劑分子。Warmuth 等[20]利用 SVM方法生成最大間隔超平面來從一系列化合物中分離出活性化合物,結(jié)果表明 SVM 的分類效果強(qiáng)于其他模型。Poorinmohammad 等[21]建立 SVM 分類模型對抗人類免疫缺陷病毒(human immunodeficiency virus,HIV)肽進(jìn)行分類,預(yù)測準(zhǔn)確率達(dá)到了 96.76%。
隨著機(jī)器學(xué)習(xí)與化學(xué)研究的不斷發(fā)展,將會出現(xiàn)更加可靠、高效的機(jī)器學(xué)習(xí)工具參與到實際的應(yīng)用中,為衍生模型、參數(shù)及其潛在的分子機(jī)理解析創(chuàng)造更多的研究手段,加速我們對微觀結(jié)構(gòu)-宏觀功能關(guān)系的深入認(rèn)識。
同時希望越來越多的數(shù)據(jù)庫能夠開放接口給化學(xué)工作者們使用,同時化學(xué)工作者共享最新實驗數(shù)據(jù),結(jié)合數(shù)據(jù)的標(biāo)準(zhǔn)化,將極大推動有學(xué)領(lǐng)域機(jī)器學(xué)習(xí)的發(fā)展。未來,化學(xué)界應(yīng)該努力打破不同研究機(jī)構(gòu)、高校和組織之間的數(shù)據(jù)壁壘,以更加開放的姿態(tài)共同推動化學(xué)領(lǐng)域的理性化進(jìn)程。