在生命科學(xué)領(lǐng)域,生物學(xué)研究與機器學(xué)習(xí)的融合正成為推動科學(xué)拓展的關(guān)鍵力量。面對海量的生物數(shù)據(jù),傳統(tǒng)方法往往顯得力不從心。而機器學(xué)習(xí)技術(shù),以其卓越的數(shù)據(jù)分析能力和模式識別優(yōu)勢,極大地提高了數(shù)據(jù)處理的效率,為生物學(xué)研究帶來革命性的變化。本系列將分期介紹機器學(xué)習(xí)的定義、執(zhí)行流程、關(guān)鍵概念術(shù)語和各種學(xué)習(xí)模型,包括傳統(tǒng)模型與神經(jīng)網(wǎng)絡(luò)模型,幫助各位老師使用這種工具來挖掘生物學(xué)新發(fā)現(xiàn)。
01 什么是機器學(xué)習(xí)?
機器學(xué)習(xí)和人類認(rèn)識事物的學(xué)習(xí)過程有相似之處。人類通過觀察周圍的世界并學(xué)會預(yù)測接下來可能發(fā)生的事情來理解這個世界。比如,一個孩子學(xué)習(xí)接球時,通常不了解支配球運動的物理定律。但是,通過觀察和嘗試,孩子逐漸調(diào)整對球運動的理解和身體的動作,最終能夠可靠地接住球。換句話說,孩子通過構(gòu)建一個足夠準(zhǔn)確的“模型”來學(xué)習(xí)接球,這個模型是通過對數(shù)據(jù)的反復(fù)測試和修正而建立的。
圖1.人類學(xué)習(xí)vs機器學(xué)習(xí)
機器學(xué)習(xí)是一種通過擬合預(yù)測模型或識別數(shù)據(jù)中的模式來處理數(shù)據(jù)的技術(shù)。它試圖模仿人類認(rèn)識新事物的能力,但以一種客觀的方式,利用計算實現(xiàn)。當(dāng)數(shù)據(jù)集太大或太復(fù)雜,無法通過人工分析時,或者當(dāng)需要自動化數(shù)據(jù)分析過程以提高效率時,機器學(xué)習(xí)特別有用。生物實驗數(shù)據(jù)通常具有這些特點,因此機器學(xué)習(xí)在生物學(xué)研究中變得越來越重要。
在生物學(xué)研究中使用機器學(xué)習(xí),一般有兩個主要目標(biāo):
1)準(zhǔn)確預(yù)測:在缺乏實驗數(shù)據(jù)時,通過機器學(xué)習(xí)做出準(zhǔn)確預(yù)測,指導(dǎo)未來的科研工作;
2)理解生物過程:利用機器學(xué)習(xí)深入理解生物現(xiàn)象。
02 機器學(xué)習(xí)的基本術(shù)語
我們首先介紹機器學(xué)習(xí)中的基本術(shù)語,并通過生物學(xué)中的例子來說明這些概念。
1.數(shù)據(jù)集
由多個數(shù)據(jù)點或?qū)嵗M成,每個數(shù)據(jù)點可以看作是一個實驗的單次觀測。
2.特征
每個數(shù)據(jù)點由固定數(shù)量的特征描述,例如長度、時間、濃度和基因表達(dá)水平。
3.機器學(xué)習(xí)任務(wù)
是對我們希望機器學(xué)習(xí)模型完成的目標(biāo)的明確定義。例如,在研究基因隨時間變化的實驗中,我們希望預(yù)測特定代謝物轉(zhuǎn)化為另一種物質(zhì)的速率。在這種情況下,“基因表達(dá)水平”和“時間”可以稱為輸入特征,而“轉(zhuǎn)化率”則是模型的輸出,即我們感興趣的預(yù)測值。模型可以有任意數(shù)量的輸入和輸出特征。特征可以是連續(xù)的(連續(xù)數(shù)值)或分類的(離散值),分類特征通常是二元的,要么為真(1),要么為假(0)。
03 機器學(xué)習(xí)的基本流程
訓(xùn)練機器學(xué)習(xí)模型時一般應(yīng)采取以下步驟。首先,在接觸任何機器學(xué)習(xí)模型和代碼之前,研究者應(yīng)該是完全理解手頭的數(shù)據(jù)(輸入)和預(yù)測任務(wù)(輸出)。這意味著研究者對研究問題有深入的生物學(xué)理解,比如了解數(shù)據(jù)的來源和噪聲源,并對如何根據(jù)生物學(xué)原理從輸入理論上預(yù)測輸出有一個概念。舉例說明,如果任務(wù)是推斷不同的氨基酸可能對特定的蛋白質(zhì)二級結(jié)構(gòu)有偏好,那么從蛋白質(zhì)序列中每個位置的氨基酸頻率來預(yù)測二級結(jié)構(gòu)是有道理的。此外,研究者還需要知道輸入和輸出是如何在計算機存儲的。它們是否被歸一化以防止某一特征對預(yù)測產(chǎn)生過大的影響?它們是被編碼為二進(jìn)制變量還是連續(xù)變量?是否存在重復(fù)條目?是否有缺失的數(shù)據(jù)元素?
接下來,數(shù)據(jù)應(yīng)該被分割以允許訓(xùn)練、驗證和測試。訓(xùn)練集用于直接更新正在訓(xùn)練的模型參數(shù)。驗證集通常占可用數(shù)據(jù)的約10%,用于監(jiān)控訓(xùn)練、選擇超參數(shù)并防止模型過度擬合訓(xùn)練數(shù)據(jù)。驗證時通常使用k倍交叉驗證方法:訓(xùn)練集被分成k個大小相等的部分(例如,5或10個部分),形成k個不同的訓(xùn)練和驗證集,然后在每個部分之間比較性能以選擇最佳超參數(shù)。測試集,有時稱為“保留集”,通常也占可用數(shù)據(jù)的約10%,用于評估模型在未用于訓(xùn)練或驗證的數(shù)據(jù)上的表現(xiàn)(即估計其預(yù)期的實際表現(xiàn))。測試集應(yīng)在研究的最后階段或盡可能少地使用,以避免將模型調(diào)優(yōu)到適應(yīng)測試集。
下一步是模型選擇,這取決于數(shù)據(jù)的性質(zhì)和預(yù)測任務(wù)。研究者按照所用軟件框架的最佳實踐,使用訓(xùn)練集來訓(xùn)練模型。大多數(shù)方法都有幾個需要調(diào)優(yōu)的超參數(shù)以達(dá)到最佳性能。這可以通過隨機搜索或網(wǎng)格搜索完成,并可以與上述的k倍交叉驗證結(jié)合使用。此外,研究者應(yīng)考慮模型集成,即將多個相似模型的輸出簡單平均,以提供一種相對可靠的方式來提高建模任務(wù)的整體準(zhǔn)確性。最后,在測試集上評估模型的準(zhǔn)確性。
圖2.選擇并訓(xùn)練機器學(xué)習(xí)方法的總體流程
本文詳細(xì)介紹了什么是機器學(xué)習(xí),機器學(xué)習(xí)的基本術(shù)語和基本流程。在后續(xù)的文章中,小編將詳細(xì)介紹機器學(xué)習(xí)領(lǐng)域的重要概念術(shù)語和各種模型算法,敬請期待。