網路生物學與機器學習(上):什麼是機器學習?
來自專欄再創丨Regenesis27 人贊了文章
機器學習,一種旨在從多維數據集構建可預測模型的數據分析技術,正在成為現代生物學研究不可或缺的一部分。通過對大型數據集進行學習並對生成可預測的模型,機器學習可用於研究複雜的細胞系統,如生物網路。這篇文章為生命科學領域的研究人員提供了機器學習入門的一些知識,包括深度學習的介紹。同時這篇文章還從四個方面,包括疾病生物學,藥物發現,微生物組研究和合成生物學,討論了機器學習與網路生物學交叉研究的機遇和挑戰.
本文為第一部分,主要介紹機器學習的入門知識,並會涉及到深度學習的介紹。在下周的推送中,我們將探討機器學習對於疾病生物學,藥物發現,微生物組研究和合成生物學等領域的影響。
作者:Camacho, D. M., Collins, K. M., Powers, R. K., Costello, J. C., & Collins, J. J
翻譯:孟凡康(部分內容有刪改)
全文約6000字,閱讀時間約為15分鐘
在過去的十年中,通過對分子變數如基因,蛋白質和代謝物丰度,微生物組成和群體遺傳變異等進行量化,生物學領域產生了大量高度複雜的數據集,且數據集的數量正在急劇增加。跨研究學科的研究中經常會產生PB量級的數據。例如,Cancer Genome Atlas從30,000多個不同癌症類型的患者身上採集的數據,總計已經超過2.5 PB。類似項目,如Human Microbiome Project, ENCODE Project Consortium, 以及100,000 Genomes Project 等等也正在產生大量數據。
這些數據集提供了深入了解生物系統和複雜疾病所需的原材料,但如何進一步探索這些數據的價值只能通過更高層次的分析過程來實現。上面說到的項目時刻在向我們表明:處理大型異構複雜數據集的工具和技術正在變得無比重要。而機器學習,旨在幫助我們解決這一複雜問題,為我們提供下一代的分析技術,使人們能夠從新的角度出發,對生命系統提出新的假設。
機器學習是計算機科學中的一門學科。通過編程,機器(即計算機)可以從數據中學習模式(Pattern)。學習本身則基於一套數學規則和統計假設。通常來說,機器學習的目標是根據給定數據集的特徵之間的統計關聯開發出預測模型,然後使用此模型來預測給定輸入值的輸出值(或者範圍),例如二元響應,分類標籤或連續值。簡而言之,對於感興趣的問題(比如新基因組中基因的識別和注釋),機器學習演算法將學習現有注釋基因組的關鍵屬性,例如轉錄起始位點的構成和特定基因組區域的特性如GC含量和密碼子偏好,然後利用這些知識生成一個模型,用於在給定基因組序列的基礎上辨別和注釋基因。對於新測序的基因組,該演算法將應用從訓練數據中學到的知識,對基因組某一位置的功能進行預測。
機器學習的應用在生物學中變得無處不在,不僅近包括基因組注釋,而且還包括對蛋白質結合的預測,癌症關鍵轉錄驅動因子的鑒定,複雜微生物群落中代謝功能的預測,和轉錄調控網路的表徵等等。簡而言之,任何可以用來學習相應的模式並應用於新數據集的任務都屬於機器學習的範疇。機器學習方法一個關鍵的優勢是可以用來篩選大量的數據以探索可能會被忽略的模式。在生物和生物醫學研究的大數據時代,機器學習在發現複雜生物系統的可預測模式方面起著關鍵的作用。
因為涉及生物學研究,所以在這篇文章中我們盡量深入的描述機器學習的相關背景知識,並探討機器學習和網路生物學交叉的機遇,這是一個處理生物網路和大型多維數據集的研究領域。網路生物學涉及研究生物分子的複雜相互作用,該領域在生物系統建模中扮演著重要角色,輔之以跨多個多元組學程序生成的高度複雜的數據集。網路生物學涉及大規模內生生物網路(系統生物學背景)的重建和分析,以及小規模合成基因網路(合成生物學背景)的設計和構建。
下面,我們將會介紹機器學習的基本概念,一般工作流程和主要的類別。這裡提供了一些關於在生物研究中設計和實施機器學習方法時應該考慮的原則。文章中還包括了關於深度學習的簡短討論,這是一種越來越多的應用於醫學和生物學中的下一代機器學習方法。
機器學習基礎知識
機器學習方法旨在基於底層演算法和給定數據集生成預測模型。機器學習演算法的輸入數據通常由一組樣本中的「特徵(features)」和「標籤(labels)」組成。特徵是所有樣本的測量結果,無論是原始的還是經過數學變換的結果;而標籤是機器學習模型旨在預測的結果—也就是模型的輸出。機器學習演算法也可以處理缺乏標籤的數據集。如圖1所示,一般的機器學習工作流程首先是處理輸入數據; 第二,學習或訓練基礎模型(一組數學公式和統計假設,定義學習規則); 第三,使用機器學習模型對新數據進行預測。
學習過程的目的是找到最佳的一組模型參數,將輸入數據中的特徵轉換為標籤的準確預測的過程。通過一系列先後步驟找到相應的參數,其中包括參數估計,模型性能評估,錯誤識別和糾正,然後重複該過程。這個過程稱為訓練,並將不斷進行,同時通過最小化模型進行誤差評估,直到模型性能無法改善為止。一旦確定了最佳參數,就可以使用該模型來使用新數據進行預測。
在生物學應用中,特徵可以包括一種或多種類型的數據,例如基因表達譜,基因組序列,蛋白質-蛋白質相互作用,代謝物濃度或拷貝數改的變化。特徵可以是連續的(例如,基因表達的數值),分類的(例如,基因功能注釋)或二元的(例如基因開啟或關閉)。標籤,和特徵一樣,可以是連續的(例如生長速率),分類的(例如疾病所處的階段)或二元的(例如致病的或非致病的)。由於標籤可以是連續的或離散的,因此許多機器學習方法可以分為回歸或分類任務,其中回歸任務涉及連續輸出變數的預測,並且分類任務涉及離散輸出變數的預測。
如上所述,訓練機器學習模型的目標是用它來基於新數據進行預測。如果模型對訓練數據以及獨立數據集(例如測試數據)的預測是準確的,則可以認為該模型已經正確的進行了學習。然而,有時候給定的機器學習模型可以高精度地預測訓練數據,而不能對測試數據做出準確的預測,這稱為過度擬合,當模型的參數與訓練數據特別匹配時,會發生這種情況,即機器學習模型不能提供在這些數據範圍之外的預測能力。也有可能存在一種機器學習模型不能準確預測訓練數據,這則是欠擬合的情況。過度擬合和欠適合是機器學習模型性能不佳的主要因素。前者可能出現在機器學習模型太複雜(太多可調參數)的情況下(相對於訓練數據集中的樣本數),而後者則發生在模型太簡單時。可以通過增加訓練數據集的大小和/或降低學習模型的複雜性來解決過度擬合問題,同時也可以通過增加模型的複雜性來彌補不足,避免欠擬合問題。
除了訓練數據的數量,輸入數據的質量也是整個機器學習過程的關鍵。 「Garbage in, garbage out」的計算機科學諺語在機器學習中體現的非常明顯。任何機器學習演算法的性能均取決於用於訓練模型的數據。輸入數據正確的格式化,去雜化和標準化構成了學習過程關鍵的第一步。在有些情境下,輸入數據集可能存在許多缺失值,因此不完整。處理缺失數據的方法包括直接推斷缺失值(例如插補)或簡單地刪除缺失特徵。此外,並非給定生物數據集中的每個輸入要素都將為預測輸出標籤提供數據信息。事實上,包含不相關的特徵可能會導致過度擬合,從而降低機器學習模型的性能。稱為特徵選擇(Feature selection)的過程通常用於識別信息特徵。特徵選擇技術的一個例子是將所有輸入特徵與標籤相關聯,並僅保留符合預定義閾值的特徵。
機器學習方法的類別
有兩大類機器學習方法—即無監督學習(Unsupervised learning)和監督學習(Supervised learning)。當輸入數據上的標籤未知時,使用非監督方法,這些方法只能從輸入數據的特徵中學習相應的模式。常用的無監督方法包括主成分分析(Principle components analysis, PCA)和層次聚類(Hierarchical clustering)。無監督方法的目標是根據相似特徵對數據的子集進行分組或聚類,並確定數據中存在多少個組或簇。雖然該方法可以用於識別群集或直接減少數據維度,但不會生成獨立的預測模型。在實踐中,當有新數據可用時,有兩種選擇:(1)新數據可以映射到聚類或降維空間或(2)可以再次用所有數據進行聚類或減少維度。使用這兩種方法中的任何一種,都可以確定新數據與原始數據的吻合程度。
無監督技術在某些情況下是有利的。例如,在樣本標籤丟失或不正確的情況下,由於聚類過程純粹是在輸入數據上執行,所以無監督方法仍然可以識別模式。另外,無監督方法非常適合高維輸入數據的可視化。例如,通過繪製PCA的前兩個主成分,人們可以在包含有數百或數千個特徵的信息二維圖上判斷樣本之間的相對距離(相似性度量)。
另一方面,監督方法適用於輸入數據數據包含有標籤的情況。在這種情況下,標籤用於訓練機器學習模型,最終給出模式。受監督的方法通常與機器學習的應用相關聯,因為訓練的模型是預測性的; 因此,當新的輸入數據變得可用時,可以直接使用訓練模型進行預測。值得注意的是,無監督方法的輸出可以用作監督方法的輸入。例如,在層次聚類中發現的聚類可用作受監督方法的輸入特徵。此外,監督模型可以使用PCA的輸出作為輸入,並直接在縮減的特徵空間而不是整套輸入特徵上進行訓練。
屬於監督學習範圍的兩個值得注意的機器學習子類是半監督學習(Semi-supervised learners)和集成學習(Ensemble learners)。在標籤不完整的情況下可以使用半監督方法,例如,僅標記少量訓練數據。這在生物數據中經常發生,例如,對於一組感興趣的基因,只有一小部分存在功能注釋。利用半監督學習,標記數據被用於推斷未標記數據的標籤,和/或利用未標記數據獲得關於訓練數據集結構的信息。半監督學習的目的是超越通過忽略標籤和進行無監督學習,或忽視未標記數據和進行監督學習來實現的模型的表現。另一方面,集成學習將多個獨立的機器學習模型組合成一個單一的預測模型,以獲得更好的預測性能。這些方法基於所有機器學習方法偏向於識別方法特異性模式的事實。因此,與單一的學習方法相比,組合多個學習策略可以產生更好的預測。
機器學習在生物中的應用
在選擇機器學習演算法應用於生物學問題時,需要考慮幾個因素,特別是考慮到生物數據的可變性以及用於收集數據的不同平台和方法時。由於技術和生物本身的差異,在一個數據集上訓練的機器學習模型可能無法很好地推廣到其他數據集。任何新的數據集應該與用於訓練模型的數據的一般屬性相匹配。新數據也應該使用與訓練數據相同的流程進行處理。如果新數據與訓練數據存在顯著不同,機器學習模型的預測很可能是虛假的。
與分子生物學技術非常相似,機器學習方法也是要根據特定情形才能決定的。機器學習和分子生物學實驗都需要仔細的實驗設計才能正確檢驗假設。儘管機器學習的目標是開發可以廣泛應用的預測模型,但模型根據不同預測條件可能會做出不同的假設,並且其性能可能會在不同條件下發生變化。所有方法的選擇都需要作出權衡; 這個概念在計算機科學中是被廣泛認可的,稱為「No free lunch theorem」。機器學習的性能可能受多種因素的影響,包括特徵選擇,用戶定義的參數以及方法本身。直接證據表明這些因素是生物應用中影響機器學習性能的主要因素。這些證據可以在Reverse Engineering Assessment and Methodology(DREAM)Challenge中找到。DREAM Challenge旨在尋找網路生物學和醫學中大數據研究問題的解決方案。以前的挑戰項目包括基因組規模調控網路的推斷以及使用多元數據集對藥物敏感性和協同作用的預測。許多生物網路推斷方法可以被定義為無監督學習,其中輸入數據用於在給定一組實驗數據集的情況下預測生物分子(特徵,feature)之間的相互作用(邊緣,edges)。第二類生物網路推理演算法使用監督學習方法對新樣本進行預測。此類方法在表徵藥物作用機制或疾病狀態驅動因素方面取得了重大的成功。
每個DREAM Challenge向網路生物學研究界提出一個具體問題和解決它的必要數據。這些問題需要利用計算模型(通常是機器學習方法)來解決,但對應用的模型類型沒有限制。每個挑戰都包含一個隱藏的評估數據集,用於評估每種方法的性能,從而提供獨立的,無偏見的評估來評估不同的方法。隨著幾十個挑戰已經完成,我們可以大致總結出三條「經驗法則」,為機器學習方法在網路生物學中應用提供借鑒:
(1)「簡單」通常更好(Simple is often better):不管挑戰如何,幾乎可以肯定的是,一個簡單的機器學習方法將成為表現最佳的模型。這些模型通常包括基於線性回歸的模型(例如彈性網路),這些模型在一系列機器學習任務中表現良好,因此具有出色的起點。
(2)先驗知識提高性能(Prior knowledge improves performance):領域特定知識的應用幾乎總是有助於任何預測模型。例如,使用磷酸蛋白質組學數據來對乳腺癌中的信號傳導網路反向工程。信號網路中元件和相互作用的先驗知識增強了機器學習預測信號相互作用的能力。
(3)集成模型產生的結果更加穩健(Ensemble models produce robust results):在開始我們討論過,集成模型整合來自多個獨立預測方法的預測。集成模型在各種挑戰中一直是最佳的模型選擇,並且往往魯棒性更高。
在不同的DREAM Challenge中,可以看出,沒有任何一種機器學習方法或一類方法總是表現最佳。因此,沒有「magic bullet」方法可以最優地解決網路生物學中的所有機器學習任務。
深度學習:下一代機器學習
新一代測序技術對於可分析核苷酸序列的通量和速度等方面都有了顯著的提升。在這裡,我們使用術語「下一代」來描述正在開發中的用於處理許多領域(包括生物學和醫學)中爆炸性數據的機器學習方法。我們將重點放在深度學習上,這是一種下一代機器學習方法,越來越多地被應用於應對這些數據的複雜性和數量的相關問題上。
深度學習方法通常利用神經網路。最簡單的神經網路架構有三層:輸入層,中間或隱藏層,以及輸出或預測層。輸入層中的神經元將原始數據作為輸入,並將信息傳遞給隱藏層,隱藏層使用數學函數將原始數據轉換為「Representation」,幫助機器進而學習數據中的模式。輸出層根據隱藏層所執行的轉換重新回到分類或回歸問題。此過程的目標是訓練神經網路,使其學習恰當的「Representation」以準確地預測新的輸入數據集的輸出值。
深度神經網路是一個包含多個隱藏層的神經網路;隱藏層的數量越多,神經網路越深。隱藏層被連續地連接,這樣每個隱藏層可以將先前隱藏層產生的「Representation」作為輸入來學習數據結構的特性。研究人員可以根據學習模型的目的定義隱藏層的數量和大小。例如,遞歸神經網路(recurrent neural network, RNN)將一維序列數據作為輸入,例如句子中的單詞或DNA序列中的鹼基。 RNN具有「薄」隱藏層,通常由以線性架構連接的單個神經元組成。另一方面,卷積神經網路(convolutional neural network, CNN)處理具有兩維或更多維度的數據,例如二維圖像或高維多組學數據集。 CNN通常具有複雜的隱藏層,每一層隱藏層同時又具有多種神經元。
深度學習的一個重要方面是這些層的行為,即他們如何轉換數據可以通過機器學習而不是由研究人員定義。深層神經網路通過迭代地調整其內部參數實現預測誤差的最小化,這種過程一般通過反向傳播(backpropagation)實現。通過反向傳播,模型輸出與目標輸出之間差異的誤差信號被計算並通過系統反饋。然後調整神經網路每層中的參數(或權重),從而使每個神經元的誤差以及整個網路的誤差最小化。這個過程可以重複多次,直到模型的輸出(預測)和目標輸出之間的差異降低到可接受的水平。深度學習方法可以識別複雜數據集中的新模式,這些模式可能會被其他技術忽略。這是一種特彆強大的生物應用工具,可以從複雜的數據集中提取最具預測性的特徵。
深度學習範式的一個主要缺點是訓練深度神經網路需要大量的數據集,主要因為需要在深度神經網路中訓練許多隱藏層,但是這些大量的數據集在許多生物學研究中往往無法實現。此外,深度學習中涉及的複雜架構和訓練過程在很大程度上妨礙了人們理解深度神經網路如何進行計算和預測的過程,因為人們只能控制輸入數據和模型中的一些參數(例如隱藏層的數量和大小),這可能會限制預測模型的可解釋性,從而限制其用於獲得對潛在生物學機制的相關研究中。
在周的推送中,我們具體討論機器學習將如何應用於疾病生物學,藥物發現,微生物組研究和合成生物學等領域,以及機器學習對於這些領域未來的影響。
參考資料:Camacho, Diogo M., et al. "Next-Generation Machine Learning for Biological Networks." Cell (2018).
END
——————————————————————————
推薦閱讀:
- 想像中的合成生物學未來:超級大黃蜂、有生命建築、超級神經計算機與生命的宇宙探索
- 當我們在談基因組的時候,合成生物學家在談什麼?
- 基因組DNA單鹼基編輯技術與工具開發(附PPT下載鏈接)
- 二十本值得在這個冬天閱讀的生物技術書籍(上)丨內含福利
- 內含福利丨二十本值得在這個冬天閱讀的生物技術書籍(下)
- 合成生物學家Wendell Lim:免疫系統駭客
- 控制論登場,解決了合成生物學面臨的一大難題
- 真核細胞合成生物學面臨的挑戰
- 號稱新一代CAR T的SUPRA CAR系統是如何設計的?
--------------------------------------------------------
推薦閱讀:
TAG:深度學習DeepLearning | 機器學習 | 生物學 |