206
gooseeker集搜客
獵殺埃博拉病毒的算法[轉]
大數據文摘作品,歡迎個人轉發朋友圈,自媒體、媒體、機構轉載務必申請授權,後台留言“機構名稱+轉載”,申請過授權的不必再次申請,隻要按約定轉載即可
選文|孫強
翻譯整理|孫強 丁一 汪霞
作者|Barbara Han
2014年4月,就在世界衛生組織的官員們剛剛確定了一係列在幾內亞可疑死亡案例是埃博拉病毒爆發,10名生態學家、4位獸醫和一人類學家就前往幾內亞一個名為Meliandou的小村莊。
他們是一個科學考察團,想搞清楚這個疾病爆發是如何開始的。一個叫埃米爾的2歲大的男孩是“零號病人”,他是如何感染上了埃博拉病毒?因為我們相信人們通過接觸受感染動物而感染上了埃博拉病毒,生態學家一直在搜尋窩藏並傳遞病毒的動物宿主(通常它們自身並沒有生病)。
隨著每一種人畜共患的疾病如埃博拉病毒的新爆發,科學家競相識別宿主,使公眾衛生官員可以判定疾病的傳染途徑,也許能防止更多疾病從動物宿主流到的人類 “溢出事件”。這就是今天我們所說的處理爆發疫情的反應模型。
在Meliandou,埃博拉偵探采訪了村民,研究了附近森林中的靈長類動物種群和收集網中捕捉的蝙蝠。在2014 年 12 月,他們發表了在當地孩子們經常一起玩的地方,有一群住在樹洞裏吃昆蟲的蝙蝠;小埃米爾從蝙蝠身上感染了埃博拉病毒的假設。但是在隊伍到達村莊之前,樹已經著過火了,蝙蝠也沒了,所以調查人員不能肯定地說。
上圖:小村莊 下圖:被燒毀的樹
可能導致小埃米爾感染病毒的吃昆蟲的蝙蝠
罪魁禍首:人類通過接觸受感染的動物而感染人畜共患疾病。這種果蝠是尼帕病毒的已知載體,該病素導致致命的疾病,1999年首先在馬來西亞確定。
過去大部分對埃博拉宿主的研究都集中在水果蝙蝠,該團隊的發現則可能會促使科學家來研究這個食蟲蝙蝠物種,並可能導致衛生官員在這些蝙蝠生活在接近人們居住的地區保持警惕。但是,這些都是應付一個殘酷對手的防衛性動作:當前的埃博拉疫情在西非已造成超過11200人死亡,衛生官員仍在繼續和它戰鬥。有沒有辦法變被動為主動,對抗埃博拉病毒和其他人畜共患病的進攻?我們能在疫情爆發前預測它,防患於未然嗎?
在紐約州米爾布魯克,卡裏生態係統研究學院(CaryInstitute of Ecosystem Studies),我作為一名疾病生態學家用計算機建模和機器學習預測哪些野生物種能夠引起未來的疾病爆發。我的模型創建可能宿主的“分類圖”,揭示出了區分攜帶了對人體有害的微生物的不尋常的物種的功能參數組合。然後我用算法來整理數百或數以千計從未被檢查的人畜共患疾病物種,基於其分類相似性計算任何給定的物種是疾病宿主的概率。這些模型給我們列出了一係列的嫌疑物種。
我和我的同事以科學探索精神做這個工作的,同時還有目前的緊迫感。傳染性疾病在世界各地的興起,據美國國際開發署的估計,新的疾病約75%是人畜共患病。如果我們能夠預測哪些物種可能攜帶能夠傳播到人類的感染,我們就可以監控潛在的人們與這些動物互動的熱點,。有一天,我希望生物學家能象氣象學家預報天氣那樣預報疾病暴發。當然有一個顯著的區別:一個氣象學家不能阻止風暴發生,但我們也許能夠阻止疫情。
機器是如何學習的
這張非常簡單的示意圖顯示了我們怎樣用算法創建分類樹,然後利用該模型預測哪些齧齒動物攜帶人畜共患疾病。
學習樹1:
該算法使用訓練數據集學習如何將物種分為“人畜共患”(這裏用“Y”表示)或“不知道是否人畜共患”(這裏用“N”來表示)。要創建初始分類樹,它使用隨機選擇的參數(例如,低於或超過1公斤的體重大小),反複將齧齒動物的數據集分成兩組。目標是在樹的終端“葉” 層麵上把 “Y” 從“N” 中分離出來。
學習樹2:
第一個學習樹可能會產生大量分類錯誤,所以我們利用算法生成第二棵樹,並將優先權賦予錯誤分類的物種,旨在正確地將它們重新分類。第二棵樹錯誤分類的物種會在新建的第三個學習樹中優先,以此類推。
學習樹3:
以這種迭代的方式,該算法生成數千棵樹。當數據通過所有這些樹作為一個集合(ensemble)過濾,分類精度會逐漸提高。一旦模型在訓練數據上表現良好,我們就用它來預測數據集的其餘部分。
要理解為什麼這種針對疾病爆發的被動反應方式迄今為止占上風,隻要看一下埃博拉病毒。想象一下,如果你是一個野生動物學家,在剛果熱帶雨林(https://en.wikipedia.org/wiki/Congo_Basin)試圖找到該病毒第一次出現的病原載體。你麵前的森林和阿拉斯加差不多大小,有超過1400種哺乳動物和鳥類,以及數不清的昆蟲種類。如果你有足夠資源,你可以嚐試取樣每一種你能夠捕捉的動物:很多是常見的物種,偶爾也有珍稀物種的零星標本。
即使是這樣,你可能不會成功完成你的目標。一般隻有一小部分病原物種的人口會被感染,並且可以看出,由於埃博拉暴發是間歇性的,病毒在它的動物宿主種群的感染被認為是非常低的。此外,可能有多個宿主物種 -而你需要在動態環境中把它們都找出來,包括動物的季節遷徙,以及由於棲息地遭到破壞的動物遷移。即使你拿到了感染的動物,你也不一定能從動物身上發現埃博拉病毒:病毒的數量在動物體內可隨季節變化,或隨著動物的身體遭受壓力水平二變化。
在尋找埃博拉病毒的野生宿主的以往的調查中,生物學家們已經從幾百個物種中收集了超過30,000個個體樣本。雖然以前感染的痕跡(也就是抗體)已在若幹動物的血液中檢測到,我們尚未在活的動物的身體內分離出活病毒。生物學家不會放棄搜索,但顯然是需要另外的方法時候了。
在我的工作中,我使用的機器學習算法,采用了大量野生動物的非結構化數據,並確定了那些是預測訴諸物種最有幫助的關鍵特征。我采用的算法工具是所謂的分類和回歸樹,人們已經使用了幾十年。我的工作的創新之處在於,將這些技術應用於解決生態和全球健康的一個巨大的問題。
我最近在喬治亞大學和同事們進行的齧齒動物的研究,給出了這種方法如何工作的一個示例。齧齒目有超過2200多個種,多於其他任何哺乳動物。鼠類也攜帶多種病原體:據我們的保守估計,我們知道有大約200多種齧齒類動物能傳播1到11種不等的人畜疾病。這其中包括可導致致命肺病的漢坦病毒,以及引起鼠疫的病菌,都給人類帶來巨大苦難。
為了訓練我們的算法來找到更多的病原菌載體,我們將80%數據輸入模型,留下其餘的數據作為檢驗數據集。我們給每個物種分配了二進製標簽:“1” 表示該物種已知至少攜帶一種人畜共患疾病,或“0”,表示它的宿主狀態未知。我們也收集了許多其它數據源,如有關哺乳動物的PanTHERIA數據庫(https://esapubs.org/archive/ecol/E090/184/default.htm#abstract),它從數千有關齧齒類動物的實地研究中整理出各類數據, 如生理,行為,地域範圍,社會結構等等。
該算法是這樣創建分類樹的 - 讀取訓練數據和識別分割點:能夠將兩個類別距離分地最遠的參數的值。它一遍又一遍循環分割,創造分叉樹枝,直到所有的數據被分類到一係列組,也就是分類樹的葉子。它也可以創建一個回歸樹,這稍微有些技巧。其最後的葉子不隻是展現二元分割點(如“每年產一窩”與“每年產超過一窩”);相反,它的葉子顯示的是連續值(例如每年產1,2,3,4窩)。
在我們的研究中,該算法通過隨機選擇一個功能參數,將齧齒動物分成兩個同質的亞組,由“1”和“0”來代表。雖然會盡可能做到準確,但難免有分類錯誤。然後,它選擇的第二個特征參數,然後是第三個,以此類推,直到所有的齧齒動物已被分離到樹的葉子。這些功能參數包括靜止代謝率,身體尺寸,性成熟年齡,每窩子女數量,每年產幾窩,群人口規模,以及其它共有超過50個功能特征。
去哪兒尋找病原菌載體
模型預測的疾病暴發熱點
我們的計算機模型確定了58種以前從未記載過的人畜共患疾病的病原體,可能是感染人類的病菌的“藏身之地”。這些齧齒類動物的地理分布範圍顯示出兩個潛在的熱點,我們預測疾病暴發很可能發生在這些地方:美國中西部和橫穿中亞和中東的一個帶狀地區。有了這些預測,實地生物學家可以實地考察研究,按照我們揭示的懷疑名單來一一研究,如北部蝗蟲鼠(上圖)和檉柳沙鼠(下圖)。
北部蝗蟲鼠(上圖)
檉柳沙鼠(下圖)
這種方法有一個很大的弱點:它對首先選擇哪個功能參數非常敏感。取決於算法選擇哪個參數,例如,選擇“種群數量大小”或“代謝率”作為第一個功能參數,會產生非常不同的分類樹。使用任何一棵樹,我們都不會正確預測新的齧齒動物是否是人畜共患嫌疑;其預測準確率可能隻比拋硬幣好那麼一點點。為了克服這種故障,我們采用了一個反複的過程稱為“助推(boosting)”。通過“助推”,算法在下一輪建分類樹重點考慮上一輪的錯誤,並優先考慮該數據。該方法會創造成百上千的分類樹,雖然每棵樹的預測能力很弱,當把它們做為一個集合來使用時,會產生一個非常準確的預測模型。
當我們用齧齒動物排序算法測試未被列入訓練數據集的20%的齧齒動物時,預測物種是病菌宿主的準確率可以達到90%。而當我們拉去帷幕,回頭審視哪些功能參數最利於準確預測,我們可以清楚看到,它是在一個特定的功能參數的集合的基礎上來準確預測某動物的分類的。與你想象的可能不同,它並沒有挑選出密切關聯的物種。相反,它發現,這些病菌宿主有明顯的“快速”的生命周期 -快速的增長率,性成熟早,頻繁的抱窩產仔。這一發現能很好地吻合個別齧齒動物的深入研究,這些研究表明,宿主物種可能有較不敏感的免疫係統。這些動物可以忍受病原體,因為他們有一個“活得快,死得早”的策略:
他們的免疫係統不是他們的生活重點,因為他們隻需要保持健康,活到能夠繁殖下一代即可。分析結果還表明,宿主物種往往有較大的地理分部範圍。這些動物可以生活在各種生態棲息地,也可以很好地適應人類創造的分散的、差別較大的環境。
我們的研究不僅僅是取得了一些科學見解:它還提供了可操作的智能信息。由於算法整理了2200齧齒類動物,它還產生了一個新的嫌疑清單。此前宿主狀態未知的被分配為“0”的動物現在通過算法被分配到“1” -即已知是病原體宿主的一類。我們並不需要等待太久來驗證我們的結果。在我們剛剛發布了我們的分析結果(https://spectrum.ieee.org/tech-通話/生物醫學/診斷/計算機模型,identify-疾病軸承齧齒動物)後不久,我們清單上的兩種嫌疑動物已經被認定為新的人畜疾病宿主。其中一個是紅色的後盾田鼠(Myodes gapperi),原產於加拿大和美國北部,被發現攜帶導致蟲病(echinococcosis)寄生蟲,這是一種討厭的疾病,病人會出現多器官囊腫。研究人員還確定了原產於小亞細亞的田鼠(Microtus guentheri)作為一個新發現的利什曼病(leishmaniasis)的宿主,該疾病導致皮膚潰爛。
我們的嫌疑名單給生物學家提供了新的機會:他們可以走到野外,進行“實地考察”來驗證我們的研究結果。而這些實地的野外研究工作,反過來也會幫助我們的算法。隨著實地研究的不斷進展,生物學家會發現更多新的疾病攜帶者,我們的數據庫將變得更富裕,我們的模型的預測精度將變得更加準確。該算法將繼續發展,繼續學習。
我們現在將我們的方法,以協助打擊其他嚴重疾病。目前,我們正在努力,以確定哪些額外的蝙蝠可能是水庫,導致出血熱(https://en.wikipedia.org/wiki/Viral_hemorrhagic_fever)如埃博拉病毒和馬爾堡病毒的絲狀病毒。我們希望我們的研究結果將有助於解釋蝙蝠如何一定可以忍受的感染是如此致命的大猿,包括人類。
我們的模型已經確定了一個蝙蝠種群係列,它們都在觀察名單上。令我們驚訝的是,一些似乎能夠攜帶埃博拉病毒的物種生活在非洲以外的國家,在這些地方從來沒有人類暴發性出血熱的正式報道。我們的結果給生物學家提出了一個問題:如果疫情真的沒有在這些地方發生,為什麼呢?這也是公共衛生官員應該考慮的問題:他們是否應該擔心?
對於生態學,這門旨在了解數地球上數十億複雜的、不斷變化的生命體相互作用的學科,機器學習的方法具有有幾個關鍵的優勢。
例如,我們的算法可以處理我們的不完整的數據集。生物學家根本無法了解所有我迄今已經編目的1.6萬個物種,更別說幾百萬我們都還沒編目的。但是該算法考慮了任一物種的存在或缺失的數據,就像把它當做用於分類樹的一個分割點的變量。
此外,我們的方法抵消了可能嚴重影響傳染病研究的抽樣偏差:在美國和歐洲這樣富裕的地區的野生動物調查結果具有相對更高質量的數據。生物學家也可能在研究單個物種時失去對於偏見的警惕:他們更有可能會發現他們正在尋找的東西。比如說,他們發現挪威老鼠攜帶疾病X,他們很可能在該物種身上檢查Y和Z疾病 ,結果導致某些物種很明顯攜帶各種瘟疫,而很多物種還沒有被檢查是否有病原體。
我們的方法著眼於物種的固有特性,並最小化上述偏見的影響。例如,如果體型小的齧齒類動物在算法列為零,和它分為一組的小體型物種將遍布世界各地(因為體型小的齧齒動物有同樣可能生活在貧國或富國)。通過使用物種內在生物學特征預測病原菌宿主狀態,我們避免落入地域偏見的陷阱:隻根據能負擔調查監視的地方得到的數據開始預測。這樣做,對於嚴重的數據缺乏,並沒有太多的幫助。如果我們對一個物種沒有數據,就不可能預測其(出現在)攜帶病菌的概率。我們的工作表明,削減基礎研究經費有顯著的連鎖反應:不起眼的巴布亞新幾內亞鼠的生活史的確是有價值去了解的。
機器學習也能很好地處理複雜性。生態分析經常包括幾十個變量,但這些變量之間的相互作用往往不清楚。舉例來說,雖然有證據顯示動物的體型和代謝率之間的關係存在一個數學模型,但新生兒的大小和代謝率之間的關係就不那麼清楚了。變數越多,就越難了解他們的複雜和隱蔽的相互作用。
但是,我們的算法並不需要我們對於這些相互作用設置任何規則。相反,我們的方法可以讓數據自己說話。如果變量的特定組合導致極大地提高預測準確度,該模型能夠識別這些變量,並向研究者顯示以進行進一步的驗證研究。該算法並不關心變量是如何相互作用的;它的唯一目標是最大限度地提升預測性能。這就需要我們自己的介入了。我們的任務是分析對預測最重要的變量,弄清他們揭示了關於人畜共患病的宿主的什麼樣的生物特征。
在向預測甚至搶先控製人畜共患疾病爆發的宏偉目標前進的過程中,隻了解哪些疾病源於與那個生物庫接觸是不夠的。生物學家需要明白:為什麼這個物種特別?我們的算法給出了關於這個“為什麼”的線索:生物學的機製使某些動物成為傳播致死的傳染病的載體。
當然,人類也在疾病的爆發中發揮作用,或者是直接與野生動物接觸,或通過家畜與它們接觸。例如,尼帕病毒在馬來西亞出現源於人與感染的豬接觸,豬與果蝠接觸感染病毒。這些蝙蝠已經開始在果園和養豬場覓食,因為人們砍掉了他們的森林棲息地。
城市化,砍伐森林,和狩獵將繼續使人類與潛在載有病毒的野生物種接觸。我們同為這個生物圈的一部分,而疾病從這種複雜的係統中出現。我們才剛剛開始了解這些生態學動態。預測病原菌宿主是相當大的挑戰,但我認為這隻是更大挑戰的一部分:搞清楚我們如何與野生動物和平共處,分享這個星球。
這篇文章首發於印刷版的《建立更好的疾病檢測方法》。
原文鏈接:https://spectrum.ieee.org/biomedical/diagnostics/the-algorithm-thats-hunting-ebola
封麵來源:huanqiukexue.com
關於作者
Barbara Han是一名Cary生態係統研究院(位於紐約州Millbrook)的科學家,雖然她在過去也做過生物實地考察,最近她通過她的數據集研究動物。她對於自己最終變成一個計算機程序員表示驚訝,但她對實地考察也並不充滿懷念。“我喜歡與動物打交道,但我不喜歡被動物咬傷。 ”Han說。
大數據文摘醫療大數據欄目
2015年2月7日“醫療大數據專欄”正式成立。隨著基因芯片及DNA測序技術的發展,生物醫療大數據迅勐發展,既是大數據技術發展的原動力,也是大數據技術的受益者。大數據文摘2013年7月成立,我們專注數據,每日堅持分享優質內容,從未間斷,我們努力為讀者和誌願者打造一個分享和交流平台。作為大數據文摘的誌願者群,我們中有不少人從事醫療大數據相關工作,關心醫療大數據的發展,願意通過這個專欄,和大家一起分享醫療大數據的點點滴滴。
醫療大數據專欄主編介紹孫強,資深生物信息專家,現在服務於美國國立癌症研究所,從事癌症基因組數據庫管理工作。熱愛大數據,加入大數據文摘誌願者行列一年有餘,願以文會友,廣結大數據善緣。旅居美國多年,現在定居於大華府地區。讀過的學校:山東大學,中科院植物所,加大洛杉磯分校( UCLA )生活過的城市:淄博,濟南,北京,洛杉磯,華盛頓其他愛好:足球,釣魚,打牌
大數據格言:Big data is better data
譯者簡介
有意聯係譯者的朋友,請給“大數據文摘”後台留言,附自我介紹及微信ID,謝謝。
孫 強 資深生物信息專家,現在服務於美國國立癌症研究所,從事癌症基因組數據庫管理工作。熱愛大數據,加入大數據文摘誌願者行列一年有餘,願以文會友,廣結大數據善緣。旅居美國多年,現在定居於大華府地區。 丁 一 杜克藥理係博士在讀,對生物信息學和相關的大數據挖掘很感興趣。 汪 霞 A professional public health researcher with expertise in research synthesis andmodeling. I have successfully completed several projects with World Bank,European Union EU FP6, NIHR, and the British Society for Antimicrobial, WHO andUNICEF etc. in UK, Germany and China.
最後更新:2017-01-09 14:08:06