機(jī)器學(xué)習(xí)從業(yè)者面臨的8大挑戰(zhàn)
許多人在趕上機(jī)器學(xué)習(xí)(ML)或人工智能(AI)時(shí)想象出機(jī)器人或終結(jié)者。 但是,它們并不是電影中沒有的東西,只是優(yōu)秀的夢(mèng)想。 已經(jīng)在這里了 盡管ML從業(yè)人員在從零開發(fā)應(yīng)用程序到生產(chǎn)應(yīng)用程序的過程中可能會(huì)遇到某些挑戰(zhàn),但我們正處在使用機(jī)器學(xué)習(xí)開發(fā)大量優(yōu)秀應(yīng)用程序的情況下。
這些挑戰(zhàn)是什么? 讓我們來看看!
1.數(shù)據(jù)收集
在任何用例中,數(shù)據(jù)都起著關(guān)鍵作用。 數(shù)據(jù)科學(xué)家的60%的工作在于收集數(shù)據(jù)。 為了讓初學(xué)者嘗試機(jī)器學(xué)習(xí),他們可以輕松地從Kaggle,UCI ML Repository等中查找數(shù)據(jù)。
要實(shí)現(xiàn)實(shí)際案例,您需要通過網(wǎng)絡(luò)抓取或(通過Twitter等API)收集數(shù)據(jù),或者為解決業(yè)務(wù)問題而需要從客戶端獲取數(shù)據(jù)(此處ML工程師需要與領(lǐng)域?qū)<覅f(xié)作以收集數(shù)據(jù)) 。
收集完數(shù)據(jù)后,我們需要對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化并將其存儲(chǔ)在數(shù)據(jù)庫(kù)中。 這需要了解大數(shù)據(jù)(或數(shù)據(jù)工程師)的知識(shí),而大數(shù)據(jù)在這里起著主要作用。
2.訓(xùn)練數(shù)據(jù)量少
收集完數(shù)據(jù)后,您需要驗(yàn)證數(shù)量是否足以滿足用例的要求(如果是時(shí)間序列數(shù)據(jù),我們至少需要3-5年的數(shù)據(jù))。
在進(jìn)行機(jī)器學(xué)習(xí)項(xiàng)目時(shí),我們要做的兩個(gè)重要事情是選擇一種學(xué)習(xí)算法,并使用一些獲取的數(shù)據(jù)來訓(xùn)練模型。 因此,作為人類,我們自然會(huì)犯錯(cuò),結(jié)果可能會(huì)出錯(cuò)。 在這里,錯(cuò)誤可能是選擇了錯(cuò)誤的模型或選擇了錯(cuò)誤的數(shù)據(jù)。 現(xiàn)在,我所說的不良數(shù)據(jù)是什么意思? 讓我們嘗試了解。
假設(shè)您的機(jī)器學(xué)習(xí)模型是嬰兒,您計(jì)劃教嬰兒區(qū)分貓和狗。 因此,我們首先指著貓說"這是一只CAT",然后對(duì)DOG做同樣的事情(可能多次重復(fù)此過程)。 現(xiàn)在,孩子將能夠通過識(shí)別形狀,顏色或任何其他特征來區(qū)分貓和狗。 就這樣,嬰兒變成了天才(與眾不同)!
以類似的方式,我們使用大量數(shù)據(jù)訓(xùn)練模型。 一個(gè)孩子可以用較少的樣本數(shù)來區(qū)分動(dòng)物,但是機(jī)器學(xué)習(xí)模型甚至需要針對(duì)簡(jiǎn)單問題的數(shù)千個(gè)例子。 對(duì)于諸如圖像分類和語(yǔ)音識(shí)別之類的復(fù)雜問題,可能需要數(shù)以百萬計(jì)的數(shù)據(jù)。
因此,一件事很清楚。 我們需要訓(xùn)練具有足夠數(shù)據(jù)的模型。
3.非代表性訓(xùn)練數(shù)據(jù)
培訓(xùn)數(shù)據(jù)應(yīng)代表新案例以更好地進(jìn)行概括,即,我們用于培訓(xùn)的數(shù)據(jù)應(yīng)涵蓋所有發(fā)生的和即將發(fā)生的案例。 通過使用非代表性訓(xùn)練集,訓(xùn)練后的模型不太可能做出準(zhǔn)確的預(yù)測(cè)。
開發(fā)用于在業(yè)務(wù)問題視圖中對(duì)一般情況進(jìn)行預(yù)測(cè)的系統(tǒng)被認(rèn)為是很好的機(jī)器學(xué)習(xí)模型。 即使數(shù)據(jù)模型從未見過的數(shù)據(jù),也將有助于模型表現(xiàn)良好。
如果訓(xùn)練樣本的數(shù)量少,則我們的采樣噪聲是不具代表性的數(shù)據(jù),如果用于訓(xùn)練的策略存在缺陷,那么無數(shù)的訓(xùn)練測(cè)試也會(huì)帶來采樣偏差。
1936年美國(guó)總統(tǒng)大選期間(蘭登對(duì)羅斯福),發(fā)生了一個(gè)調(diào)查抽樣偏見的流行案例,《文學(xué)文摘》進(jìn)行了一次非常大的民意調(diào)查,向大約1000萬人發(fā)送郵件,其中240萬人回答了這一問題,并預(yù)測(cè)蘭登 將以高度的信心獲得57%的選票。 羅斯福以62%的選票獲勝。
這里的問題在于抽樣方法,用于獲取進(jìn)行民意測(cè)驗(yàn)的電子郵件地址,《文學(xué)文摘》使用過的雜志訂閱,俱樂部會(huì)員名單等,這些錢一定會(huì)被富有的個(gè)人用來投票給共和黨人(因此, 落在)。 此外,由于只有25%的受訪者回答了無回應(yīng)的偏見。
為了做出準(zhǔn)確的預(yù)測(cè)而沒有任何漂移,訓(xùn)練數(shù)據(jù)集必須具有代表性。
4.數(shù)據(jù)質(zhì)量差
實(shí)際上,我們不會(huì)直接開始訓(xùn)練模型,分析數(shù)據(jù)是最重要的步驟。 但是我們收集的數(shù)據(jù)可能尚未準(zhǔn)備好進(jìn)行訓(xùn)練,例如某些樣本異常,而另一些樣本則具有異常值或缺失值。
在這些情況下,我們可以刪除異常值,或者使用中位數(shù)或均值(以填充高度)填充缺失的特征/值,或者簡(jiǎn)單地刪除具有缺失值的屬性/實(shí)例,或者在有或沒有這些實(shí)例的情況下訓(xùn)練模型。
我們不希望我們的系統(tǒng)做出錯(cuò)誤的預(yù)測(cè),對(duì)吧? 因此,數(shù)據(jù)質(zhì)量對(duì)于獲得準(zhǔn)確的結(jié)果非常重要。 數(shù)據(jù)預(yù)處理需要通過過濾缺失值,提取和重新排列模型所需的內(nèi)容來完成。
5.不相關(guān)/不需要的特征
垃圾進(jìn)垃圾出
如果訓(xùn)練數(shù)據(jù)包含大量不相關(guān)的特征和足夠的相關(guān)特征,則機(jī)器學(xué)習(xí)系統(tǒng)將不會(huì)給出預(yù)期的結(jié)果。 機(jī)器學(xué)習(xí)項(xiàng)目成功所需的重要方面之一是選擇好的特征以訓(xùn)練模型,也稱為特征選擇。
假設(shè)我們正在一個(gè)項(xiàng)目中,根據(jù)我們收集的輸入特征(年齡,性別,體重,身高和位置(即他/她的居住地))來預(yù)測(cè)一個(gè)人需要運(yùn)動(dòng)的小時(shí)數(shù)。
- 在這5特征中,位置值可能不會(huì)影響我們的輸出特征。 這是不相關(guān)的功能,我們知道沒有此功能可以得到更好的結(jié)果。
- 另外,我們可以將兩個(gè)特征結(jié)合起來以產(chǎn)生更有用的一個(gè)特征,即特征提取。 在我們的示例中,我們可以通過消除體重和身高來產(chǎn)生一個(gè)稱為BMI的功能。 我們也可以對(duì)數(shù)據(jù)集應(yīng)用轉(zhuǎn)換。
- 通過收集更多數(shù)據(jù)來創(chuàng)建新特征也有幫助。
6.過度擬合訓(xùn)練數(shù)據(jù)
假設(shè)您訪問了新城市的一家餐館。 您查看了菜單以訂購(gòu)商品,發(fā)現(xiàn)費(fèi)用或賬單過高。 您可能會(huì)想說"城市中的所有餐館都太貴了,負(fù)擔(dān)不起"。 過度概括是我們經(jīng)常要做的事情,令人震驚的是,框架也可能陷入類似的陷阱,在AI中,我們稱之為過擬合。

> Overfitting
這意味著該模型運(yùn)行良好,可以對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行預(yù)測(cè),但不能很好地概括。
假設(shè)您正在嘗試實(shí)施"圖像分類"模型,分別對(duì)訓(xùn)練樣本分別為3000、500、500和500的蘋果,桃子,橘子和香蕉進(jìn)行分類。 如果我們使用這些樣本訓(xùn)練模型,則系統(tǒng)更可能將橘子分類為蘋果,因?yàn)樘O果的訓(xùn)練樣本數(shù)量過多。 這可以稱為過采樣。
當(dāng)模型與訓(xùn)練數(shù)據(jù)集的噪聲相比過于不可預(yù)測(cè)時(shí),就會(huì)出現(xiàn)過度擬合。 我們可以通過以下方法避免這種情況:
- 收集更多的訓(xùn)練數(shù)據(jù)。
- 選擇具有較少特征的模型,與線性模型相比,較高階多項(xiàng)式模型不是優(yōu)選的。
- 修復(fù)數(shù)據(jù)錯(cuò)誤,消除異常值,并減少訓(xùn)練集中的實(shí)例數(shù)量。
7.訓(xùn)練數(shù)據(jù)不足
當(dāng)模型過于簡(jiǎn)單以至于無法理解數(shù)據(jù)的基本結(jié)構(gòu)時(shí),通常會(huì)發(fā)生與過度擬合相反的欠擬合。 這就像試圖穿上小號(hào)褲子。 通常,當(dāng)我們?nèi)鄙儆糜跇?gòu)建精確模型的信息時(shí),或者當(dāng)我們嘗試使用非線性信息來構(gòu)建或開發(fā)線性模型時(shí),就會(huì)發(fā)生這種情況。

> Underfitting
減少欠擬合的主要選項(xiàng)是:
- 特征工程-為學(xué)習(xí)算法提供更好的特征。
- 消除數(shù)據(jù)中的噪音。
- 增加參數(shù)并選擇功能強(qiáng)大的模型。
8.離線學(xué)習(xí)和部署模型
機(jī)器學(xué)習(xí)工程在構(gòu)建應(yīng)用程序時(shí)遵循以下步驟:1)數(shù)據(jù)收集2)數(shù)據(jù)清理3)功能工程4)分析模式5)訓(xùn)練模型和優(yōu)化6)部署。
糟糕! 我說部署了嗎? 是的,許多機(jī)器學(xué)習(xí)從業(yè)者可以執(zhí)行所有步驟,但缺乏部署技能,由于缺乏實(shí)踐和依賴關(guān)系問題,對(duì)業(yè)務(wù)基礎(chǔ)模型的了解不足,將其出色的應(yīng)用程序投入生產(chǎn)已成為最大的挑戰(zhàn)之一, 了解業(yè)務(wù)問題,模型不穩(wěn)定。
通常,許多開發(fā)人員從像Kaggle這樣的網(wǎng)站收集數(shù)據(jù)并開始訓(xùn)練模型。 但實(shí)際上,我們需要為數(shù)據(jù)收集提供一個(gè)動(dòng)態(tài)變化的源。 離線學(xué)習(xí)或批量學(xué)習(xí)不能用于這種類型的變量數(shù)據(jù)。 該系統(tǒng)經(jīng)過培訓(xùn),然后投入生產(chǎn),無需學(xué)習(xí)即可運(yùn)行。 由于動(dòng)態(tài)變化,數(shù)據(jù)可能會(huì)漂移。

> Online Learning
始終首先建立一條管道來收集,分析,構(gòu)建/訓(xùn)練,測(cè)試和驗(yàn)證任何機(jī)器學(xué)習(xí)項(xiàng)目的數(shù)據(jù)集,并分批訓(xùn)練模型。
結(jié)論
如果訓(xùn)練集太小,或者數(shù)據(jù)沒有被泛化,嘈雜且具有不相關(guān)的功能,則系統(tǒng)將無法正常運(yùn)行。 在練習(xí)機(jī)器學(xué)習(xí)時(shí),我們經(jīng)歷了初學(xué)者面臨的一些基本挑戰(zhàn)。
如果您有任何建議,我將很高興聽到。 我很快會(huì)再提出另一個(gè)有趣的話題。 到那時(shí),待在家里,保持安全并繼續(xù)探索!