logo821.gif (10572 bytes) 首頁          新增資料與公告

   

最新消息  :

數字分析 - 中國於非洲農業報導之破解

索馬利亞的乾旱影響和解決方案建議

在非洲商業邊緣爭奪空間-本土企業與中資企業之間日益激烈的競爭

 

 

數據分析與知識產業

首頁
上一層
BSE LAB 介紹
非洲產業研究中心
生醫研究之統計方法
授課資料
人文關懷
無官御史台
武漢肺炎與產業
智能生物產業
活動公告區

 

 
機器學習中要避免的三個陷阱
 

中興大學 生物系統工程研究室 陳加忠

 
 

資料來源:

自然 572, 27-29 (2019)

doi https ://doi.org/10.1038/d41586-019-02307-y

隨著來自各個領域的科學家爭相進行演算法分析,GooglePatrick Riley呼籲在研究和報告中製定明確的標準。

加利福尼亞州 TAE Technologies Google 的研究人員正在使用機器學習來最佳化產生高能等離子體的設備。

機器學習正在推動科學領域的發現。其強大的模式發現和預測工具,正在幫助各個領域的研究人員,從尋找製造分子的新方法,分析中發現細微信號,到改進醫學診斷和揭示基本粒子。

然而,機器學習工具也可以發現傻瓜的黃金,誤報、死胡同和錯誤。許多演算法非常複雜,以至於無法檢查所有參數,或準確推斷輸入是如何被操縱。隨著這些演算法開始得到更廣泛的應用,誤解、錯誤結論和浪費努力的風險將螺旋上升。

這些問題並不新鮮。幾十年來,機器學習領域一直在用坦克問題來磨練自己。最初的研究似乎出現在 1960 年代(參考文獻 1 應是該研究已知最早的合理參考;感謝軟件工程師 Jeff Kaufman)並且被時間的迷霧所掩蓋,。但故事是這樣的。研究人員編寫了一種演算法,可以在軍方提供的照片中發現坦克。該模型在測試圖像中成功找到了坦克。但後來在該領域的其他真實照片中失敗了。為什麼?複述的細節有所不同,但訓練它的圖片包含其他模式,坦克出現在晨光中,或者在雲層下。因此驅動演算法的是其他因素,而不是坦克的存在。

類似的困惑正在引起今天的反省2 。許多機器學習論文未能進行足夠的實驗。審查標準不一致。競爭正在鼓勵一些研究人員,在認為自己得到想要的答案後偷工減料並跳過檢查。

我們無法預測每次分析會出現的所有困難。但是,至少,將機器學習帶入他們的領域的研究人員,應該熟悉常見的陷阱,以及他們可以用來檢測和避免。

為了說明這一點,我強調了我們在Google Accelerated Science 團隊中面臨和克服的機器學習分析中的三個問題。

三個問題

1.不恰當地拆分數據。

在建立模型時,機器學習從業者通常會將數據分解為訓練集和測試集。訓練集發展模型,模型的性能通過它對測試集的描述程度來評估。研究人員通常會隨機拆分數據。但現實生活中的數據很少是隨機的。它們可能包含時間趨勢,例如來自數據收集方式的變化,或者來自對收集哪些資訊的不同選擇。

例如,這些歷史模式隱藏在分子數據集中,機器學習演算法正在對這些數據集進行虛擬篩選,以尋找候選藥物。挑戰在於預測假設,分子將如何有效地被吸收到體內或減少炎症。篩選從具有或不具有預期效果的分子的數據開始。但是收集數據的環境可能與機器學習模型的使用方式不同。

例如,模型可能建立在一組公開可用的分子上,但隨後用於不同的專有集合。當檢查和丟棄有希望的線索時,化學家的目光經常從某些分子組轉移到其他分子組。因此研究人員經常高估模型在作業中的表現3 。這可能會導致期望值過高,並且會在選擇不當的分子上浪費時間和金錢。許多模型建立者(包括我自己)都陷入了這個陷阱。

換句話說,您要回答的問題應該會影響您拆分數據的方式。對於預測將幾個原子添加到分子中的效果的模型,測試集中的每個分子都應該在訓練集中有一個夥伴,該夥伴是幾個不同的原子。如果你想對化學多樣性分子進行良好的預測,測試集中的每個分子都應該不同於訓練集中的所有分子。拆分數據的正確方法可能並不明顯,但仔細考慮並嘗試多種方法將提供更多洞察力。

2.隱藏變數

在理想的實驗中,研究人員只更改感興趣的變數並修復所有其他變數。這種級別的控制,在現實世界中通常是不可能的。設備的準確度會隨著時間的推移而漂移,試劑的批次不同,一種實驗條件先於另一種實驗條件進行,結果甚至會因天氣而出現偏差。這種不受控制的變數在機器學習模型中可能是有害的。

例如,我在Google的團隊一直在與TAE Technologies in Foothill Ranch, California 合作,以最佳化生產高能等離子體的實驗4 。我們建立模型以嘗試了解等離子機的最佳設備設置。有數百個控制參數,從何時給電極通電,到在磁鐵上設置什麼電壓。記錄了一系列量測值,包括溫度和光譜。

我們在數月內從等離子機的數千次運行中獲取數據。隨著設備的調整和修改以及組件的磨損和嘗試不同的想法,設置會發生變化。當我們得到一個模型時,我們很高興,該模型在給定的設置下可以很好地預測等離子體的能量是否會很高。很快,我們的預測顯然不是基於我們的想法。

當我們再次訓練模型時,將實驗時間作為唯一輸入,而不是機器的所有設置,我們得到了相似的預測能力。為什麼?我們認為我們的第一個模型鎖定的是時間趨勢,而不是物理現象。隨著實驗的進行,機器有時運轉良好,有時運轉不佳。因此,實驗完成的時間為您提供了一些關於產生的等離子體是否為高能的資訊。此外,以根據控制參數的設置粗略預測何時進行實驗,這些參數的變化方式也存在時間趨勢。

3.隱藏變數也可能源於實驗的佈局。

例如,我們正在與許多合作者合作解釋顯微鏡圖像,包括紐約市的紐約幹細胞基金會研究所。這些圖像包括板上的一系列生物實驗,通常是一個包含細胞和液體的孔網路。目標是發現具有某些特徵的孔,例如化學處理後細胞外觀的變化。但生物變異代表著每個盤子看起來總是會略有不同。並且單個板塊可能存在差異。邊緣通常看起來與中心不同,例如,如果有更多液體在外圍孔中蒸發或板面傾斜。

機器學習演算法可以輕鬆識別這些無意的變化。例如,模型可能只識別板邊緣上的孔。檢查是否發生這種情況的一個簡單方法是讓模型預測其他事情,例如盤子上的位置、它是哪個盤子以及圖像來自哪個批次。如果它可以做到這一點,請懷疑你的結果。

帶回家的教訓是:使用多個機器學習模型來檢測意外和隱藏的變數。一種模型專注於您關心的問題,等離子體是高能還是低能;細胞是健康的還是生病的?其他模型清除了混雜因素。如果後一個結果很強,請標準化您的數據,進行進一步的實驗或調整您的結論。

搞錯目標了。機器學習演算法要求研究人員指定一個損失函數,它決定了各種錯誤的嚴重程度,例如,最好是犯兩個每個 1% 的錯誤,還是一個 2% 的錯誤。從業者傾向於使用一小部分功能,這些功能可能無法捕捉到他們真正關心的內容。

例如,我們一直在使用機器學習來幫助求解偏微分方程式5 。這些公式在各個科學領域都很常見,包括流體動力學、電磁學、材料科學、天體物理學和經濟建模。通常它們必須通過數值求解,我們訓練模型以在有限的分辨率下提供更好的準確度。

我們從一個方程開始描述水波如何在一維中傳播。該演算法的任務是從當前時間步重複預測下一個時間步驟。我們有兩個略有不同的公式和訓練模型。根據我們的損失函數,這兩個模型同樣出色。然而,一個產生了廢話,而另一個則保持接近預期的結果。

為什麼?控制學習的損失函數只考慮下一步的誤差,而不是多步解決方案的有效性,這才是我們真正想要的。6機器篩查工作中也出現了不同的目標,糖尿病視網膜病變是糖尿病的一種並發症,也是世界上可預防失明的主要原因。如果從眼睛後部的圖像及早發現,可以有效地治療這種情況。當我們收集數據並讓眼科醫生根據圖像提供診斷時,我們要求我們的機器學習工具來預測眼科醫生會說什麼。出現了兩個問題。

首先,眼科醫生經常對診斷意見不一。因此,我們意識到我們不能將我們的模型建立在單一的預測上。我們也不能使用多數票表決,因為在醫療準確性方面,有時少數意見是正確的。其次,單一疾病的診斷實際上並不是真正的目標。我們應該問:這個病人應該去看醫生嗎?因此,我們將目標從單一疾病的診斷擴展到了多種疾病。

機器學習從業者很容易專注於數據和標籤清晰的明顯目標。但他們可能正在設置演算法來解決錯誤的問題。必須牢記總體目標,否則我們將產生精確的系統來回答錯誤的問題。

接下來是什麼?

首先,機器學習專家需要讓自己和同事達到更高的標準。當一台新的實驗室設備到貨時,我們希望我們的實驗室夥伴了解它的功能、如何校正它、如何檢測錯誤並了解它的能力限制。機器學習也是如此。不涉及魔法,使用工具的人必須了解這些工具。

其次,不同學科需要為如何在各自領域執行和報告機器學習,制定明確的標準。適當的控制、健全性檢查和錯誤量測因領域而異,這些需要明確說明,以便研究人員、審稿人和編輯能夠鼓勵良好的行為。

第三,機器學習科學家的教育需要包括這些更廣泛的問題。儘管存在一些資源(例如http://ai.google/education ),但我們還需要做更多的事情。我們經常教授演算法和工具,但學生需要更多地了解如何應用他們的演算法並適當地質疑它們。

我們正處於一個驚人的時刻,計算能力、數據和演算法正在融合在一起,在機器學習的幫助下產生巨大的發現機會。作為一個科學界,我們有責任確保我們很好地利用這個機會。