
應(yīng)用 AI 之前,你必須了解的 10 項準備工作
這篇文章對你的人工智能和機器學(xué)習(xí)項目進行分解,討論其各個部分所帶來的影響,從而幫助你確定公司是否真正準備利用機器學(xué)習(xí)、深度學(xué)習(xí)或人工智能。
不是每一個問題都可以通過機器學(xué)習(xí)來解決,且不是每一個公司都準備應(yīng)用人工智能。本文會告訴你,你的公司是否有利用人工智能的條件,以及在那之前如何才能實現(xiàn)它。
首先,你知道自己想要預(yù)測或檢測什么嗎?你有足夠的數(shù)據(jù)進行分析以建立預(yù)測模型嗎?你有定義模型和訓(xùn)練模型所需的人員和工具嗎?你已經(jīng)有了統(tǒng)計或物理模型來作為一個預(yù)測基準嗎?
這篇文章對你的人工智能和機器學(xué)習(xí)項目進行分解,討論其各個部分所帶來的影響,從而幫助你確定公司是否真正準備需要利用機器學(xué)習(xí)、深度學(xué)習(xí)或人工智能。
你擁有大量的數(shù)據(jù)
足夠的相關(guān)數(shù)據(jù)是預(yù)測和特征識別的必要條件。有了它,你可能會成功;沒有它,則注定失敗。那么你需要多少數(shù)據(jù)呢?你嘗試納入模型的因素越多,所需要的數(shù)據(jù)就越多,無論你是在做普通的統(tǒng)計預(yù)測、機器學(xué)習(xí)還是深度學(xué)習(xí)。
以銷售預(yù)測中常見的問題為例,比如,為了避免延遲交貨,且不會占用太多金錢和現(xiàn)貨貨架空間,那么你下個月將在邁阿密出售多少海軍藍短袖襯衫?以及你需要在邁阿密店和亞特蘭大倉庫中儲備多少存活?零售是強季節(jié)性行業(yè),所以你需要從多年的歷史數(shù)據(jù)中總結(jié)出有統(tǒng)計學(xué)意義的月度數(shù)據(jù),從而修正月度銷量波動,并建立一個年化趨勢——這還只是一個標(biāo)準的時間序列分析。機器學(xué)習(xí)比統(tǒng)計模型需要更多的數(shù)據(jù),而深度學(xué)習(xí)模型是它的好幾倍。
統(tǒng)計模型會分析你的全國連鎖店在 5+ 年間的襯衫月銷量,并使用這一數(shù)據(jù)來預(yù)測下個月的襯衫銷量,可能有幾十萬(假設(shè)是 30 萬)。然后你可以預(yù)測邁阿密的襯衫銷量占全國銷量的百分比(假設(shè)是 3%),并單獨預(yù)測出藍色短袖上衣銷量所占襯衫性銷量的百分比(假設(shè)是 1%)。該模型會指出,下個月藍色短袖襯衫總銷量的 90% 左右將售于邁阿密。你可以通過對比不同產(chǎn)品的年度同店銷量來核實預(yù)測結(jié)果,同時分析它們之間的差異程度。
現(xiàn)在,假設(shè)你想要考慮一些外部因素,比如天氣和流行趨勢。短袖襯衫在熱天或晴天時是不是比陰雨天時賣的更好?可能如此。你可以將歷史氣象數(shù)據(jù)納入到你的模型中來做預(yù)測,雖然這樣做有點笨拙,因為你需要做一個時間序列的統(tǒng)計模型,所以你可能會決定使用回歸森林,順便再試試其它 7 種回歸機器學(xué)習(xí)模型,然后將每個模型測得的「cost」(一個歸一化誤差函數(shù))與去年的實際結(jié)果相比較,從而找到最佳模型。
相比于去年同時段的海軍藍襯衫銷量,下個月會更好還是更差?你可以看看海軍藍服裝所有的月度銷量,并預(yù)測出年度流行趨勢,然后將其納入到你的機器學(xué)習(xí)模型中?;蛘吣憧赡苄枰獊碜詴r尚媒體方面的信息對模型進行手動校正。(「為以防萬一,假設(shè)下月銷量會提高 20%。」)
也許你想建立一個深度神經(jīng)網(wǎng)絡(luò)來完善這個模型。你可能會發(fā)現(xiàn),每添加一個隱藏層,就可以將回歸誤差提高幾個百分點,直到某一時刻,再添加隱藏層也無濟于事,此后收益遞減。這種情況可能是因為模式中沒有更多的特征可供識別,或者更可能的原因是,已經(jīng)沒有足夠多的數(shù)據(jù)來支持模型的深入改進。
你有足夠的數(shù)據(jù)科學(xué)家
可能你已經(jīng)注意到,單個人需要獨自建立上面討論的所有模型。其實不是這樣,建模型不僅僅是把數(shù)據(jù)倒在漏斗中然后按個按鈕這么簡單。不管你使用哪種工具——盡管供應(yīng)商可能對此會有要求,它需要經(jīng)驗、直覺、編程能力和良好的統(tǒng)計學(xué)背景,這樣才能輕松駕馭機器學(xué)習(xí),從而實現(xiàn)你的想法。
尤其是某些廠商往往聲稱,「任何人」或「任何業(yè)務(wù)角色」都可以使用商家預(yù)先訓(xùn)練過、可應(yīng)用的機器學(xué)習(xí)模型。如果該模型正好可以解決手頭的問題,這話不假,比如將正式的魁北克法語文本翻譯為英語,但更常見的情況是,現(xiàn)有的訓(xùn)練過的機器學(xué)習(xí)模型并不適用于你的數(shù)據(jù)。既然你已經(jīng)訓(xùn)練了模型,你就需要數(shù)據(jù)分析師和數(shù)據(jù)科學(xué)家來指導(dǎo)訓(xùn)練,這更像是一門藝術(shù),而非工程或科學(xué)。
在招聘數(shù)據(jù)科學(xué)家時,最奇怪的事情之一就是對工作崗位的要求,尤其是與受聘者的實際技能相比。廣告上經(jīng)常說「招聘:數(shù)據(jù)科學(xué)家。STEM 博士。20 年經(jīng)驗?!沟谝粋€怪事是,該領(lǐng)域的發(fā)展歷程還未足 20 年。第二件怪事是,公司雇傭 26 歲的碩士畢業(yè)生——也即除學(xué)術(shù)界外沒有任何工作經(jīng)驗,與 20 年經(jīng)驗的要求相去甚遠——偏好那些已經(jīng)有相關(guān)經(jīng)驗的人,因為他們擔(dān)心高級人員太貴,盡管他們的要求是 20 年工作經(jīng)驗。是的,這很虛偽,且十之八九是非法的年齡歧視,但現(xiàn)實情況就是這個樣子。
你跟蹤或獲得那些重要的因素
即使你有大量的數(shù)據(jù)和很多數(shù)據(jù)科學(xué)家,你也可能無法擁有包含所有相關(guān)變量的數(shù)據(jù)。以數(shù)據(jù)庫術(shù)語的話說,你可能有大量的行,但缺少一些列。統(tǒng)計學(xué)上來說就是,你可能有無法解釋的方差。
一些獨立變量的測量(比如天氣觀測)很容易獲得并被合并到數(shù)據(jù)集中,甚至可在事后被合并。其它一些變量的測量或獲取過程可能較為困難,比如不切實際或成本高昂,即使你知道這些變量是什么。
舉一個化學(xué)領(lǐng)域的例子。當(dāng)你在銅上鍍鉛時,你可以測量氟硼酸鍍液的溫度和濃度,并記錄陽極電壓,但如果溶中沒有適宜數(shù)量的肽鏈,那么你就不會得到很好的結(jié)果。如果你沒有稱量放入溶液中的肽鏈,就無法知道這種關(guān)鍵催化劑的劑量,那么你將無法使用其它變量來解釋電鍍質(zhì)量的變化。
你有清理和轉(zhuǎn)換數(shù)據(jù)的方法
數(shù)據(jù)幾乎總是那么嘈雜。測量過程可能會丟失一個或多個值;單個值可能會超出范圍,或與同一計量過程中的其它值不相稱;電子測量可能由于電噪聲而變得不準確;回答問題的人可能并不理解問題本身,或是編造答案;諸如此類。
在任何分析過程中,數(shù)據(jù)過濾步驟通常需要消耗最多設(shè)置時間——是根據(jù)我的經(jīng)驗,它占到總分析時間的 80% 到 90%。有些公司在它們的 ETL(提取、轉(zhuǎn)換和加載)過程中清理數(shù)據(jù),這樣分析師應(yīng)該永遠都看到不良數(shù)據(jù)點了,而其它公司則將數(shù)據(jù)與 ETL(以及最后一步的轉(zhuǎn)換步驟)過程放在數(shù)據(jù)倉庫或數(shù)據(jù)湖中。這意味著,即使是最容易過濾掉的臟數(shù)據(jù)也會被保存下來,理論上,過濾器和轉(zhuǎn)換步驟需要隨著時間的推移而進行改進。
即使是過濾后的精確數(shù)據(jù)可能也需要在分析前做進一步的轉(zhuǎn)換。與統(tǒng)計學(xué)方法一樣,只有當(dāng)每種可能的狀態(tài)都有相似的行數(shù)時,機器學(xué)習(xí)模型的效果才最好,這意味著,那些最受歡迎的狀態(tài)數(shù)可能會由于隨機抽樣而減少;同樣,當(dāng)所有變量的范圍都被標(biāo)準化后,機器學(xué)習(xí)模型才能達到最佳效果。
例如在微軟的一篇博文中,微軟小娜分析了特朗普和克林頓的競選捐款,說明了準備機器學(xué)習(xí)數(shù)據(jù)集的方式:創(chuàng)建標(biāo)簽、處理數(shù)據(jù)、設(shè)計附加功能以及清洗數(shù)據(jù)。這種分析用 SQL 和 R 語言做了幾個轉(zhuǎn)換,以確定與克林頓或特朗普相關(guān)的各種委員會和競選資金,并基于捐贈者的姓名來確定他們的性別,以及糾正拼寫錯誤,并修復(fù)類之間的不平衡性(數(shù)據(jù)集中有 94% 都是克林頓的捐款,且大部分是小額捐款)。
你已經(jīng)對數(shù)據(jù)做了統(tǒng)計分析
在分析數(shù)據(jù)和解決問題時,最應(yīng)該避免的就是一個勁地往前沖。在你能夠弄清楚發(fā)生的事情及其原因之前,你需要退后一步,看一看所有的變量及其相互之間的關(guān)系。
探索性的數(shù)據(jù)分析可以快速顯示出所有變量的范圍和分布,比如變量對是趨向于彼此依賴還是各自獨立、簇位于何處,或哪些地方可能會有離群值。當(dāng)你的變量高度相關(guān),往往減少分析過程中的某個變量是很有用的,或進行一些類似于逐步多元線性回歸的方法來確定最佳的變量選擇。并不是說最終模型是線性的,但是在引入困難問題之前,嘗試一些簡單的線性模型很有用;如果你的模型條件太多,那么你可以以一個超定組(overdetermined system)收尾。
你測試許多方法來找到最佳模型
對于一個給定的數(shù)據(jù)集,找到最佳模式的方法只有一種:全部試一遍。如果你的建模對象之前已經(jīng)有很多人做過,但仍具挑戰(zhàn)性,比如攝影特征識別和語言識別,你可能不由得只想嘗試大賽中的「最佳」模型,但不幸的是,那些模型往往是最為計算密集型的深度學(xué)習(xí)模型,比如圖像識別需要卷積層,語音識別需要長短期記憶層(LSTM)。如果你需要訓(xùn)練那些深度神經(jīng)網(wǎng)絡(luò),你可能需要比日常辦公所需的更多的計算能力。
你有足夠的計算能力來訓(xùn)練深度學(xué)習(xí)模型
你的數(shù)據(jù)集越大,你的深度學(xué)習(xí)模型就需要越多的層,訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時間也就越多。擁有大量的數(shù)據(jù)可以幫助你訓(xùn)練出一個更好的模型,層數(shù)多可以幫助你識別更多特征,但它們也會由于訓(xùn)練時間的增加而對你產(chǎn)生不利的影響。你可能等不了一年的時間來訓(xùn)練每一個模型;一周是比較合理的,特別是因為你將很有可能需要調(diào)整幾十次模型。
解決訓(xùn)練時間問題的一個方法是使用通用圖形處理器(GPGPU),比如使用英偉達公司生產(chǎn)的芯片,來做有關(guān)神經(jīng)網(wǎng)絡(luò)層的向量和矩陣計算(也稱為線性代數(shù))。相比于僅僅使用一張 CPU,同時使用一張 GPU 和一個 CPU K80 往往可以提升 5 到 10 倍的訓(xùn)練速度,如果你能將整個網(wǎng)絡(luò)的「核(kernel)」輸入到 GPU 的本地存儲器中的話,而如果使用一張 P100 GPU,則可以將訓(xùn)練速度提升 100 倍。
在一張 GPU+一張 CPU 的組合之外,你還可以建立多個 CPU 和 GPU 的協(xié)調(diào)網(wǎng)絡(luò),以便在更短的時間內(nèi)解決更大的問題。除非你全年都在訓(xùn)練深度學(xué)習(xí)模型,且有一個巨大的資本預(yù)算,否則你會發(fā)現(xiàn),租賃云端 GPU 的使用時間會是性價比最高的選擇。一些深度學(xué)習(xí)框架,包括 CNTK,MXNet 和 TensorFlow,支持 CPU 和 GPU 的并行計算,對于有著適宜性能 GPU 的大型虛擬機(virtual machine,VM)網(wǎng)絡(luò)來說,它們已被證明擁有合理的縮放系數(shù)(在一個測試中大約為 85%)。你可以找到這些框架,并且它們正越來越多地被安裝到由主要云提供商上支持的 GPU 虛擬機中。
你的機器學(xué)習(xí)模型優(yōu)于你的統(tǒng)計模型
簡單的統(tǒng)計模型為你的機器學(xué)習(xí)和深度學(xué)習(xí)項目奠定了基礎(chǔ)。如果你不能提升一個給定的模型的性能,那么你就應(yīng)該對其進行調(diào)整或嘗試不同方法。一旦你知道你在做什么,你就可以在一個超參數(shù)優(yōu)化算法的控制下,同時為許多模型設(shè)置訓(xùn)練參數(shù),然后用最好的結(jié)果指導(dǎo)你的下一步行動。
你可以部署預(yù)測模型
最終,你將希望實時應(yīng)用你所訓(xùn)練的模型。預(yù)測模型可以運行在服務(wù)器、云端、個人計算機或電話上,這取決于應(yīng)用程序的不同需要。深度學(xué)習(xí)框架提供了各種選項來將模型嵌入到網(wǎng)頁和移動應(yīng)用程序中。亞馬遜、谷歌和微軟都是通過生產(chǎn)能理解語音的消費級設(shè)備和智能手機應(yīng)用程序來證明其實用性。
你能夠定期更新你的模型
如果你已經(jīng)利用自己的數(shù)據(jù)訓(xùn)練好了模型,你會發(fā)現(xiàn)該模型的誤差率(假陽性和真陰性)會隨著時間的推移而增加?;旧?,這是因為數(shù)據(jù)會隨著時間的推移而漂移:你的銷售模型、競爭對手、風(fēng)格和經(jīng)濟都會改變。為了適應(yīng)這種影響,大多數(shù)深度學(xué)習(xí)框架都有一個選項,可以在新數(shù)據(jù)上對舊模型進行再訓(xùn)練,并用新模型替換預(yù)測服務(wù)。如果你每月都這樣做,應(yīng)該能夠保證你不會受到數(shù)據(jù)漂移的影響。如果你不能,那么你的舊模型最終將變得不足為靠。
回到本文開頭的那些問題,你知道自己想要預(yù)測或檢測什么嗎?你有足夠的數(shù)據(jù)進行分析以建立預(yù)測模型嗎?你有定義模型和訓(xùn)練模型所需的人員和工具嗎?你已經(jīng)有統(tǒng)計或物理模型來作為一個預(yù)測基準嗎?
如果已萬事俱備,那你還在等什么?
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10