并非每一個(gè)問題都可以通過機(jī)器學(xué)習(xí)來解決,也并不是每個(gè)企業(yè)都為AI的應(yīng)用做好了準(zhǔn)備。
比如,企業(yè)要確定具體的應(yīng)用場景、是否有足夠的數(shù)據(jù)進(jìn)行分析、要建立預(yù)測模型、要有定義模型和訓(xùn)練模型的人員和工具......等等。
為此,本文將具體闡述使用人工智能、深度學(xué)習(xí)和機(jī)器學(xué)習(xí)時(shí),企業(yè)需要做的10項(xiàng)準(zhǔn)備工作。
-1- 擁有足夠多的數(shù)據(jù)
足夠多的相關(guān)數(shù)據(jù)是預(yù)測和特征識別的必要條件。那么,企業(yè)到底需要多少數(shù)據(jù)?無論是進(jìn)行普通的統(tǒng)計(jì)預(yù)測,還是機(jī)器學(xué)習(xí)或者深度學(xué)習(xí),要考慮的因素越多,所需的數(shù)據(jù)就越多。總的來說,機(jī)器學(xué)習(xí)比統(tǒng)計(jì)預(yù)測需要更多的數(shù)據(jù),而深度學(xué)習(xí)所需的數(shù)據(jù)更是成倍的。
以銷售預(yù)測問題為例,由于零售行業(yè)的季節(jié)性很強(qiáng),這就要求企業(yè)積累多年具有統(tǒng)計(jì)學(xué)意義的重要月度數(shù)據(jù),以便能夠校正每月的周期性變化并建立年度趨勢,從而用于標(biāo)準(zhǔn)的時(shí)間序列分析模型。
比如,企業(yè)可以通過統(tǒng)計(jì)模型來分析5年內(nèi)全國范圍連鎖店的每月襯衫銷售額,并基于此預(yù)測下個(gè)月的襯衫總銷售量,以及諸如某地女襯衫銷售額占全國總銷售額的百分比、藍(lán)色短袖襯衫的銷售額占襯衫總銷售額的百分比等更具體的數(shù)字。當(dāng)然,在這個(gè)過程中,企業(yè)還需要特別注意實(shí)際結(jié)果與模型預(yù)之間的差距。
而如果還要考慮外部因素,例如天氣和時(shí)尚趨勢。企業(yè)還可以把歷史氣象數(shù)據(jù)引入到模型中進(jìn)行測試。當(dāng)然,在時(shí)間序列統(tǒng)計(jì)模型中這么做可能比較困難,但可以嘗試使用決策樹回歸模型來實(shí)現(xiàn)。
如上圖,企業(yè)可以通過嘗試其它7種用于回歸的機(jī)器學(xué)習(xí)模型,然后把每種模型的“成本”(歸一化誤差函數(shù))與去年的實(shí)際結(jié)果進(jìn)行比較,從而找出最佳模型。
例如,當(dāng)企業(yè)想知道下個(gè)月海軍藍(lán)色的衣服比去年同期賣得更好還是更差?就可以查看海軍藍(lán)服裝的所有月度銷售額并預(yù)測年度時(shí)尚趨勢,也可以將其引入到機(jī)器學(xué)習(xí)模型中進(jìn)行分析。除此之外,企業(yè)也可以根據(jù)時(shí)尚媒體上獲取的信息,對模特進(jìn)行手動更正。
在這一過程中,通過創(chuàng)建一個(gè)深度神經(jīng)網(wǎng)絡(luò),能夠讓預(yù)測效果更好。你甚至?xí)l(fā)現(xiàn),對于添加的每個(gè)隱藏層,都可以將回歸誤差提高幾個(gè)百分點(diǎn),直到增加下一層再也無法改善效果為止。其中,收益遞減的關(guān)鍵,可能是因?yàn)槟P椭袥]有更多功能可以識別,或者也有可能是因?yàn)闆]有足夠的數(shù)據(jù)來支持更多的提升空間。
-2- 數(shù)據(jù)科學(xué)家
當(dāng)然,企業(yè)必須要有一個(gè)能夠建立上面提到的所有模型的人。他需要足夠的經(jīng)驗(yàn)、直覺、編程能力和統(tǒng)計(jì)學(xué)背景。
即便當(dāng)前很多機(jī)器學(xué)習(xí)的產(chǎn)品和服務(wù)提供商都表示,“任何人”或“任何商業(yè)角色”都可以使用他們預(yù)先訓(xùn)練好的應(yīng)用機(jī)器學(xué)習(xí)模型。但現(xiàn)實(shí)情況是,企業(yè)的數(shù)據(jù)可能并不適用現(xiàn)有模型。因此,還需要數(shù)據(jù)分析師和數(shù)據(jù)科學(xué)家來指導(dǎo)和幫助對模型進(jìn)行訓(xùn)練。
-3- 追蹤和采集重要的相關(guān)變量數(shù)據(jù)
此外,企業(yè)還需要具有相關(guān)變量的數(shù)據(jù),從多個(gè)維度采集和使用數(shù)據(jù),從而避免統(tǒng)計(jì)上所說的“不明原因的方差”。
當(dāng)然,某些獨(dú)立變量(如天氣觀測)的測量和采集是很難、不切實(shí)際或者高成本的。以化學(xué)領(lǐng)域?yàn)槔?,?dāng)你將鉛電鍍到銅上時(shí),就可以測量氟硼酸電鍍液的溫度和濃度,并記錄正極上的電壓。但這要求溶液中含有的肽是適量的,從而獲得良好的粘附性。否則,你無法知道這關(guān)鍵催化劑的數(shù)量,也無法使用其他變量解釋電極板質(zhì)量的變化。
-4- 找到清理和轉(zhuǎn)換數(shù)據(jù)的方法
通常情況下,數(shù)據(jù)都非常復(fù)雜,其質(zhì)量也常常參差不齊。比如,在采集過程中,可能缺少一個(gè)或多個(gè)值,個(gè)別值也可能超出范圍或與其他值不一致,回答問題的人可能不了解問題或者會編造答案等等。
而這,則意味著分析過程中的數(shù)據(jù)過濾需要花費(fèi)最多的精力,這甚至可能占到總分析時(shí)間的80%到90%。如果在ETL(提取、轉(zhuǎn)換和加載)過程中將所有數(shù)據(jù)保留在數(shù)據(jù)倉庫或數(shù)據(jù)湖中,就可能讓無關(guān)的或者質(zhì)量不高的數(shù)據(jù)也被保存下來。
當(dāng)然,即使是經(jīng)過精確過濾的數(shù)據(jù)也可能需要進(jìn)一步轉(zhuǎn)換,才能對其進(jìn)行良好的分析。與統(tǒng)計(jì)方法類似,當(dāng)每個(gè)可能狀態(tài)的參數(shù)相似時(shí),即當(dāng)所有變量的范圍都?xì)w一化時(shí),機(jī)器學(xué)習(xí)模型的效果最好。因此,企業(yè)必須找到能夠更好地清理和轉(zhuǎn)換數(shù)據(jù)的方法。
-5- 重新審視所有變量數(shù)據(jù)及其相關(guān)性
下一步,我們需要退后一步,再看看所有的變量及其相關(guān)性。
探索式數(shù)據(jù)分析可以快速顯示所有變量的范圍和分布,不管相關(guān)變量之間是相互依賴的還是獨(dú)立的、集群在哪里、哪里可能有異常值。當(dāng)企業(yè)擁有高度相關(guān)的變量時(shí),通常從分析中刪除一個(gè)或者多個(gè)變量是有用的。企業(yè)還可以執(zhí)行類似于逐步多元線性回歸的方法來確定最佳的變量選擇。
然而,這一并不意味著最終模型是線性的,只是在引入更多復(fù)雜因素之前,需要嘗試一下簡單線性模型;如果企業(yè)的模型中有太多的專業(yè)術(shù)語,最終得到的將會是一個(gè)由多種因素決定的系統(tǒng)模型。
-6- 通過反復(fù)嘗試尋找最佳模型
只有一種方法可以找到給定數(shù)據(jù)集的最佳模型:也就是——嘗試所有這些模型。
如果企業(yè)的目標(biāo)是針對一個(gè)探索性很強(qiáng)但具有挑戰(zhàn)性的領(lǐng)域(例如圖片特征識別和語言識別),就可能只會嘗試某個(gè)所謂“最佳”的模型。然而,這些模型通常是計(jì)算密集度最高的深度學(xué)習(xí)模型,例如,在圖像識別的情況下具有卷積層以及用于語音識別的長期短期記憶(LSTM)層。如果企業(yè)需要訓(xùn)練這些深度神經(jīng)網(wǎng)絡(luò),就需要比辦公環(huán)境更高的計(jì)算能力。
-7- 擁有訓(xùn)練深度學(xué)習(xí)模型所需的計(jì)算能力
數(shù)據(jù)集越大,深度學(xué)習(xí)模型中的層就越多,訓(xùn)練神經(jīng)網(wǎng)絡(luò)所需的時(shí)間也就越長。
關(guān)于訓(xùn)練時(shí)間的問題,有一個(gè)方法就是使用通用圖形處理單元(GPU)來解決。一個(gè)K80 GPU配合CPU,其訓(xùn)練速度通??梢赃_(dá)到僅使用CPU的5到10倍。如果企業(yè)可以將網(wǎng)絡(luò)的整個(gè)“內(nèi)核”整合到GPU的本地內(nèi)存中,那么訓(xùn)練速度甚至可以達(dá)到僅使用CPU的100倍。
除了單個(gè)GPU之外,企業(yè)還可以設(shè)置協(xié)調(diào)的CPU和GPU網(wǎng)絡(luò),以便在更短的時(shí)間內(nèi)解決更大的問題。除非你愿意花一整年時(shí)間來訓(xùn)練深度學(xué)習(xí)模型,并擁有龐大的預(yù)算,否則你會發(fā)現(xiàn),在云上租用GPU是最具成本效益的選擇。包括CNTK、MXNet和TensorFlow在內(nèi)的幾種深度學(xué)習(xí)框架都支持CPU和GPU的并行計(jì)算,并且具有合理的縮放系數(shù),可用于支持GPU的超大型虛擬機(jī)(VM)實(shí)例網(wǎng)絡(luò)。
-8- 學(xué)會調(diào)整或者嘗試不同的方法
簡單的統(tǒng)計(jì)模型考驗(yàn)通過機(jī)器學(xué)習(xí)和深度學(xué)習(xí)為企業(yè)的模型等運(yùn)作制定標(biāo)準(zhǔn)。但如果你不能用給定的模型來提高分析水平,就應(yīng)該調(diào)整或者嘗試一種不同的方法,比如,可以在超參數(shù)調(diào)整算法的控制下并行設(shè)置多個(gè)模型訓(xùn)練,并使用最佳結(jié)果指導(dǎo)下一個(gè)階段。
-9- 部署預(yù)測模型
最終,訓(xùn)練好的模型可以部署和運(yùn)行在服務(wù)器上、云中、個(gè)人計(jì)算機(jī)上或者手機(jī)上,以供企業(yè)實(shí)時(shí)地應(yīng)用。深度學(xué)習(xí)框架提供了將模型嵌入到Web和移動應(yīng)用中的各種選擇。亞馬遜、谷歌和微軟也都展示了自己在這方面的實(shí)踐,甚至有可以通過語音識別操作的消費(fèi)電子設(shè)備和智能手機(jī)應(yīng)用。
-10- 定期更新模型
當(dāng)然,你可能還會發(fā)現(xiàn),即便是訓(xùn)練好的模型,由于數(shù)據(jù)會隨著時(shí)間的推移而變化,因此模型的錯(cuò)誤率也會隨著時(shí)間的推移而增加。比如,企業(yè)的銷售模式會發(fā)生變化,競爭對手會發(fā)生變化,款式會發(fā)生變化,經(jīng)濟(jì)形勢會發(fā)生變化……
為此,大多數(shù)深度學(xué)習(xí)框架都可以選擇對舊數(shù)據(jù)進(jìn)行再訓(xùn)練,并用新模型替換原來的預(yù)測服務(wù)。如果你每月都能定期更新的話,基本上就能夠保持與時(shí)俱進(jìn)。否則,最終你的模型就會變得太過時(shí)而不可靠。
評論
查看更多