據報道,在過去一年裏,機器學習和人工智能技術取得了重大發展,尤其是美國OpenAI公司的DALL-E模型等先進算法,已證實具有基於文本提示性語言即能生成圖像的能力,而且相關算法不斷完善,有人甚至認爲,人工智能現已獲得感知能力,可以預測患者心臟病發作!

我們所謂的“人工智能”依賴於使用人類開發的統計方法,從數據中構建算法模型,它的成功與失敗,同樣引人關注。依據錯誤的數據構建模型,人們會獲得錯誤的預測和結果,例如:2016年,微軟公司在推特上發佈了AI聊天機器人——Tay,希望實現與用戶進行隨意且有趣的對話,但是這款聊天機器人“學壞”了,不但辱罵用戶,還發表涉及種族歧視的不恰當言論,隨後微軟致歉並緊急修復。

無代碼工具僅是一個“簡單按鈕”?

近年來,模型工具不斷完善,越來越多的“無代碼”和“低代碼”機器學習工具正在使機器學習任務變得更易實現,使曾經是數據科學家和程序員才能獲得的機器學習分析功能,現面向業務分析師和其他非編程用戶開放。

雖然DALL-E模型的功能強大到令人震驚,並能對網絡表情包、深度僞造技術和其他帶有提示性語言的網絡圖像產生影響,但易於使用的機器學習分析涉及企業和個人每天創建和使用的各種數據。

目前,機器學習供應商吹噓他們的產品僅是一個“簡單按鈕”,能輕易發現數據中可能並不明顯的關聯性,揭示數據點和整體結果之間的相關性,並向用戶提出解決方案,相比之下,傳統商業分析需要幾天、幾個月或者幾年時間才能通過傳統統計學或者定量分析找到答案。

現在研究人員準備執行一個約翰·亨利式的測試:找出不需要代碼的工具是否可以超過基於代碼的方法,或者至少交付足夠準確的結果,比數據科學家計費工時更低的成本做出決策,但進行測試之前,我們需要正確的數據和正確的方法。

保留表格數據

亞馬遜SageMaker Canvas和類似的產品,例如:谷歌AutoML Tabular,都專注於處理該類型的數據集,但這些工具不適合用於情感分析、圖像識別或者其他非結構化數據的自然語言處理。

然而,在表格數據領域裏也存在着許多問題,例如:幾年前,研究人員訪問過GE軟件公司,瞭解該公司在Predix平臺方面的工作,Predix是一種基於機器學習的系統,用於建模和預測設備故障,從而實現維護系統時進行預測性優化維護,以防止配電、飛機引擎和其他複雜系統出現重大故障或者中斷。這些模型建立在大量表格數據基礎之上,相關數據源於設備傳感器的遙測記錄。

上次我們嘗試使用機器學習時,我們有很多行表格數據,但並不足以完成當時的複雜任務(實際上可能再多的標題數據也無法回答我們試圖揭曉的問題),爲了避免之前出現的錯誤,併爲工具提出一個更現實的問題,我們需要一個表格數據集,其提供了數值和類別數據,我們可以利用它完成一個更直接的問題——什麼數據組合導致系統失效?

我們尋找了一些數據源,首先它們代表可以應用機器學習的真實環境條件,並且包含從模式獲得的多數據點信息,同時,我們希望驗證一下亞馬遜SageMaker Canvas最新的“無代碼”工具在處理任務方面效果如何,如果可能的話,我們希望數據科學家成功記錄存在問題的數據集。

這些期望很快縮小了該研究領域範圍,我們沒有通用電氣遙測數據湖,但我們可以利用一些公共數據源,至少能爲算法模型製作提供一些幫助,因此,我們繼續“挖掘”,發現了一個數據集,這與治療心臟病突發同樣重要。

數據模型工具

在搜索一些可靠數據集時,我們從美國加州大學歐文分校的機器學習庫中發現一個名爲“心臟健康”的數據集,該數據集包括科學家拉什克·拉曼(Rashik Raman)發佈在機器學習社區Kaggle上的數據,它經常被用於證明機器學習在醫學領域的可行性。關於這些數據,我們知道一件事是肯定的:其他人已經成功地基於這些數據建立了模型工具。

加州大學歐文分校的心臟病患者數據包含了克利夫蘭診所303位匿名患者和14個心臟健康數據點,以及他們是否有心臟病發作或者其他急性心臟健康事件的病史數據,每個患者的14個心臟數據點包括:患者年齡;患者性別;患者是否有運動性心絞痛(exng);患者所經歷的胸痛類型(典型心絞痛、非典型心絞痛、非心絞痛或無症狀);靜息血壓(trtbpd);血液膽固醇指數;布林值表示的空腹血糖是否大於120毫克/分升;靜息心電圖結果分類:正常、ST-T波異常或者Romhilt-Estes計分系統可能確定的左心室肥厚;最大心率指數;相對於休息的運動引起ST降低的心電圖測量;血管造影顯示的血管阻塞狀況;患者是否患有地中海貧血症——1表示不存在,2表示可糾正,3表示不可糾正;輸出結果——無論患者最終是否患有心臟病或者類似的急性心臟病,原始數據包括四類心臟病事件,簡化起見,該數據已修改爲二進制輸出值(0表示沒有心臟病史,1表示有心臟病史)。

14個數據點中,僅有5個是真實數值,其餘的分爲兩種類型(胸痛或者無胸痛、男性或者女性),或者有幾種不同的診斷信息。

克利夫蘭診所的303位匿名患者心臟數據,它是最完整的數據,數據庫中幾乎所有數值行都有相關輸入信息。但存在的缺陷是,303位匿名患者數據可能不足以預測機器學習算法中獲得高精準性。

克利夫蘭診所的303位匿名患者心臟數據中,165位患者曾出現心臟病發作,該數據整體偏向於男性,男性患者共206人(數據代表了男性心臟病患病率,至少在當時是這樣的),但還不清楚是否會因此產生一種非自然的偏見。

我們希望瞭解數據點在統計上與其他變量和輸出之間的密切關係,因此,我們使用Jupyter notebook(基於網頁的交互計算應用程序),運行函數來計算皮爾遜相關係數——數據點之間線性關係的衡量標準,接近1(或者-1)的數值表示強相關(或者負相關),表明變量之間存在着密切聯繫。

我們最感興趣的都是與輸出相關的數據,運動後心電圖測試的胸痛、最大心率、運動誘發心絞痛、ST波段異常,但各變量數據之間的相關性均不強,因此,我們希望獲得一種方法從部分數據中得到一個精確模型。同時,有人聲稱基於該數據集的模型可獲得90%的預測準確率,所以通過不斷完善或將取得理想效果。

“無代碼”預測算法

一種“無代碼”方法是使用亞馬遜SageMaker Canvas工具將數據集作爲一個整體,自動將其劃分爲訓練和測試,並生成一個預測算法。

該方法主要使用Sagemaker Studio Jumpstart和AutoML的“無/低代碼”方法,具體而言,AutoML負責處理SageMaker Canvas之後的數據,評估數據並嘗試不同的算法類型,以確定最佳算法。完成之後,我們使用數據科學家曾使用過的機器學習檢測方法進行驗證,這樣數據準確率達到90%以上。該方法的最終結果應該是一種算法,我們使用它來運行基於數據點的預測性查詢,但真實結果是每次測試在完成時間、精度和計算時間成本方面的權衡。

相關文章