數(shù)據(jù)科學(xué)思維 :打造健康數(shù)據(jù)驅(qū)動(dòng)組織的 6 條原則
要點(diǎn)
- 大多數(shù)組織都難以解鎖數(shù)據(jù)科學(xué)以?xún)?yōu)化其操作流程,讓數(shù)據(jù)科學(xué)家、分析師和業(yè)務(wù)團(tuán)隊(duì)采用一致的語(yǔ)言:不同的團(tuán)隊(duì)和數(shù)據(jù)科學(xué)流程常常是形成摩擦的根源。
- 健康的數(shù)據(jù)科學(xué)組織框架是一系列方法論、技術(shù)和資源的組合,它們將幫助你的組織 (從業(yè)務(wù)理解、數(shù)據(jù)生成和獲取、建模,到模型部署和管理) 變得更為數(shù)據(jù)驅(qū)動(dòng)。
- 為了成功地將愿景和業(yè)務(wù)目標(biāo)轉(zhuǎn)化為切實(shí)有效的結(jié)果,建立清晰的績(jī)效指標(biāo)非常重要。
- 組織需要更有機(jī)地考慮其端到端的數(shù)據(jù)流和體系結(jié)構(gòu),它們將是數(shù)據(jù)科學(xué)解決方案的支撐。
- 基于 Azure 機(jī)器學(xué)習(xí)服務(wù),團(tuán)隊(duì)構(gòu)建了一個(gè)人員部署推薦方案,為新項(xiàng)目推薦最優(yōu)的員工組合和具有對(duì)口經(jīng)驗(yàn)和專(zhuān)業(yè)知識(shí)的人員。
在過(guò)去的幾年里,來(lái)自無(wú)數(shù)不同來(lái)源的數(shù)據(jù)變得更加可用和可消費(fèi),許多組織都在開(kāi)始尋找使用最新數(shù)據(jù)分析技術(shù)的方法,以滿(mǎn)足他們的業(yè)務(wù)需求和尋求新的機(jī)會(huì)。除了數(shù)據(jù)變得更加可用和可訪(fǎng)問(wèn)外,還出現(xiàn)了大量工具和應(yīng)用程序,使團(tuán)隊(duì)有能力構(gòu)建復(fù)雜的數(shù)據(jù)分析解決方案。鑒于以上種種,組織越來(lái)越多地圍繞數(shù)據(jù)科學(xué)的職能組建團(tuán)隊(duì)。
數(shù)據(jù)科學(xué)是一個(gè)結(jié)合數(shù)學(xué)、編程和可視化技術(shù)的領(lǐng)域,它將科學(xué)方法應(yīng)用于特定的業(yè)務(wù)領(lǐng)域或問(wèn)題,如預(yù)測(cè)未來(lái)的客戶(hù)行為、規(guī)劃空中交通路線(xiàn)或識(shí)別語(yǔ)音模式等。但是,成為一個(gè)數(shù)據(jù)驅(qū)動(dòng)的組織究竟意味著什么呢?
通過(guò)本文,業(yè)務(wù)和技術(shù)領(lǐng)導(dǎo)者將學(xué)到一些評(píng)估他們的組織是否是數(shù)據(jù)驅(qū)動(dòng)的方法,以及對(duì)其數(shù)據(jù)科學(xué)成熟度進(jìn)行基準(zhǔn)測(cè)試的方法。此外,通過(guò)現(xiàn)實(shí)世界中已經(jīng)應(yīng)用過(guò)的用例,他們將學(xué)習(xí)如何使用健康的數(shù)據(jù)科學(xué)組織框架在組織內(nèi)培養(yǎng)健康的數(shù)據(jù)科學(xué)思維。作為一名數(shù)據(jù)科學(xué)家,我基于自身的經(jīng)驗(yàn)創(chuàng)建了這個(gè)框架,我正在從事端到端數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)解決方案的工作,與許多不同類(lèi)型行業(yè)的外部客戶(hù)合作,包括能源、石油和天然氣、零售、航空航天、醫(yī)療保健和職業(yè)勞務(wù)。該框架提供了一個(gè)構(gòu)建數(shù)據(jù)科學(xué)項(xiàng)目的開(kāi)發(fā)生命周期。這個(gè)生命周期概述了項(xiàng)目在運(yùn)行時(shí)從開(kāi)始到結(jié)束要遵循的步驟。
理解健康的數(shù)據(jù)科學(xué)組織框架
成為一個(gè)數(shù)據(jù)驅(qū)動(dòng)的組織意味著要嵌入數(shù)據(jù)科學(xué)團(tuán)隊(duì),以充分參與業(yè)務(wù),并調(diào)整公司的運(yùn)營(yíng)骨架 (技術(shù)、流程、基礎(chǔ)設(shè)施和文化)。健康的數(shù)據(jù)科學(xué)組織框架是一系列方法論、技術(shù)和資源的組合,如果正確使用,這些方法論、技術(shù)和資源將幫助你的組織 (從業(yè)務(wù)理解、數(shù)據(jù)生成和獲取、建模,到模型部署和管理) 變得更為數(shù)據(jù)驅(qū)動(dòng)。這個(gè)框架包括六個(gè)關(guān)鍵原則,如圖 1 所示:
- 了解業(yè)務(wù)和制定決策的過(guò)程
- 建立績(jī)效指標(biāo)
- 構(gòu)建端到端解決方案
- 構(gòu)建你的數(shù)據(jù)科學(xué)技巧工具箱
- 統(tǒng)一組織的數(shù)據(jù)科學(xué)愿景
- 讓人類(lèi)參與其中
考慮到該領(lǐng)域的快速發(fā)展,組織通常需要指導(dǎo)如何應(yīng)用最新的數(shù)據(jù)科學(xué)技術(shù)來(lái)滿(mǎn)足其業(yè)務(wù)需求或?qū)で笮碌臋C(jī)會(huì)。
原則 1:了解業(yè)務(wù)和制定決策的過(guò)程
對(duì)于大多數(shù)組織來(lái)說(shuō),缺乏數(shù)據(jù)并不是問(wèn)題。事實(shí)恰恰相反:通常在制定決策時(shí)手里掌握太多的信息。有這么多的數(shù)據(jù)需要分類(lèi),組織需要充分定義一個(gè)策略在以下各方面對(duì)業(yè)務(wù)加以闡述:
- 數(shù)據(jù)科學(xué)如何幫助企業(yè)做業(yè)務(wù)轉(zhuǎn)變,更好地管理成本,并驅(qū)動(dòng)更卓越的運(yùn)營(yíng)?
- 組織對(duì)想要完成的事情是否有一個(gè)明確定義并予以清晰表達(dá)的目標(biāo)和愿景?
- 組織如何獲得 C 級(jí)管理人員和涉眾的支持,以實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的愿景,并推動(dòng)它貫穿至業(yè)務(wù)的各個(gè)部分?
簡(jiǎn)而言之,公司需要對(duì)其業(yè)務(wù)決策過(guò)程有一個(gè)清晰的理解,以及一個(gè)更好的數(shù)據(jù)科學(xué)策略來(lái)支持該過(guò)程。有了正確的數(shù)據(jù)科學(xué)思維,以往大量不同的信息就變成了一個(gè)簡(jiǎn)單清晰的決策點(diǎn)。推動(dòng)轉(zhuǎn)型需要公司對(duì)他們想要實(shí)現(xiàn)的事情有一個(gè)明確定義并予以清晰表達(dá)的目標(biāo)和愿景。它通常需要 c 級(jí)主管的支持,以實(shí)現(xiàn)該愿景,并推動(dòng)它貫穿至業(yè)務(wù)的各個(gè)部分。
組織必須從正確的問(wèn)題著手。該問(wèn)題應(yīng)該是可度量的、清晰的、簡(jiǎn)潔的,并與他們的核心業(yè)務(wù)有直接的關(guān)聯(lián)。在此階段,設(shè)計(jì)問(wèn)題就特定業(yè)務(wù)問(wèn)題或機(jī)會(huì)的潛在解決方案加以限定(或取消限定)非常重要。例如,從一個(gè)明確定義的問(wèn)題開(kāi)始:一家零售公司的成本正在不斷上升,無(wú)法再向客戶(hù)提供有競(jìng)爭(zhēng)力的價(jià)格。要解決這一業(yè)務(wù)問(wèn)題,可能會(huì)引出許多的問(wèn)題,其中之一可能是:公司能否在不影響質(zhì)量的情況下減少運(yùn)營(yíng)?
要回答這類(lèi)問(wèn)題,組織需要解決兩項(xiàng)主要任務(wù):
- 定義業(yè)務(wù)目標(biāo):數(shù)據(jù)科學(xué)團(tuán)隊(duì)需要與業(yè)務(wù)專(zhuān)家和其他涉眾合作,以理解和識(shí)別業(yè)務(wù)問(wèn)題。
- 提出正確的問(wèn)題:公司需要提出明確的問(wèn)題,定義數(shù)據(jù)科學(xué)團(tuán)隊(duì)可以瞄向的業(yè)務(wù)目標(biāo)。
去年,Azure 機(jī)器學(xué)習(xí)團(tuán)隊(duì)為一家職業(yè)勞務(wù)公司開(kāi)發(fā)了一個(gè)基于推薦的員工分配解決方案。通過(guò)使用Azure 機(jī)器學(xué)習(xí)服務(wù),我們開(kāi)發(fā)并部署了一個(gè)人員部署推薦解決方案,該方案為新項(xiàng)目推薦最優(yōu)的員工組合和具有對(duì)口經(jīng)驗(yàn)和專(zhuān)業(yè)知識(shí)的個(gè)人員工。我們這個(gè)解決方案的最終業(yè)務(wù)目標(biāo)是提高客戶(hù)的利潤(rùn)。
當(dāng)時(shí),項(xiàng)目人員配置是由項(xiàng)目經(jīng)理手工完成的,他基于的是員工的可用性和其個(gè)人過(guò)去業(yè)績(jī)的先驗(yàn)知識(shí)。這個(gè)過(guò)程非常耗時(shí),而且結(jié)果往往并不理想。利用歷史數(shù)據(jù)和先進(jìn)的機(jī)器學(xué)習(xí)技術(shù)可以更有效地完成這個(gè)過(guò)程。
為了將這個(gè)業(yè)務(wù)問(wèn)題轉(zhuǎn)化為切實(shí)可行的解決方案和結(jié)果,我們幫助客戶(hù)提出了正確的問(wèn)題,例如:
- 我們?nèi)绾晤A(yù)測(cè)新項(xiàng)目的員工構(gòu)成?例如,一名高級(jí)項(xiàng)目經(jīng)理、一名首席數(shù)據(jù)科學(xué)家和兩名會(huì)計(jì)助理。
- 我們?nèi)绾斡?jì)算新項(xiàng)目的員工適合度評(píng)分?我們將員工適合度得分定義為度量項(xiàng)目員工適合度的指標(biāo)。
我們這個(gè)機(jī)器學(xué)習(xí)解決方案的目標(biāo)是根據(jù)員工的可用性、地理位置、項(xiàng)目類(lèi)型經(jīng)驗(yàn)、行業(yè)經(jīng)驗(yàn)和以前項(xiàng)目產(chǎn)生的小時(shí)貢獻(xiàn)邊際,為新項(xiàng)目推薦最合適的員工。Azure和無(wú)數(shù)的基于云計(jì)算的工具,可以幫助該組織制定成功的勞動(dòng)力分析解決方案,為具體的行動(dòng)計(jì)劃和人力資源投資提供基礎(chǔ):使用 Azure 云,更容易獲得無(wú)與倫比的生產(chǎn)力,它具有端到端的開(kāi)發(fā)工具和監(jiān)控、管理和保護(hù)云資源的管理工具。此外,Azure 機(jī)器學(xué)習(xí)服務(wù)提供了一個(gè)基于云的環(huán)境,組織可以使用它來(lái)準(zhǔn)備數(shù)據(jù)、培訓(xùn)、測(cè)試、部署、管理和跟蹤機(jī)器學(xué)習(xí)模型。Azure 機(jī)器學(xué)習(xí)服務(wù)還包括自動(dòng)生成模型和調(diào)優(yōu)的功能,以幫助你輕松、高效并準(zhǔn)確地創(chuàng)建模型。這些解決方案可以解決組織人員分配中需要克服的偏差或低效,從而得到更好的業(yè)務(wù)結(jié)果。組織可以通過(guò)使用勞動(dòng)力分析來(lái)優(yōu)化人力資本的使用,從而獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。在接下來(lái)的幾個(gè)章節(jié),我們將一起了解如何為客戶(hù)構(gòu)建這個(gè)解決方案。
原則 2:建立績(jī)效指標(biāo)
為了成功地將這個(gè)愿景和業(yè)務(wù)目標(biāo)轉(zhuǎn)化為切實(shí)有效的結(jié)果,下一步是建立清晰的績(jī)效指標(biāo)。在第二步中,組織需要從分析層面關(guān)注定義數(shù)據(jù)解決方案管道的以下兩個(gè)關(guān)鍵方面(如圖 2):
- 解決該業(yè)務(wù)問(wèn)題并得出準(zhǔn)確結(jié)論的最佳分析方法是什么?
- 如何將這一愿景轉(zhuǎn)化為能夠改善業(yè)務(wù)的切實(shí)有效的結(jié)果?
這一步分為三個(gè)子步驟:
決定度量什么
我們以預(yù)測(cè)性維護(hù)為例,這是一種用于預(yù)測(cè)在役機(jī)器何時(shí)會(huì)發(fā)生故障的技術(shù),它使你能夠?qū)ζ渚S護(hù)提前很好地進(jìn)行規(guī)劃。事實(shí)證明,這是一個(gè)非常廣泛的領(lǐng)域,有著各種各樣的最終目標(biāo),比如預(yù)測(cè)故障的根本原因、哪些部件需要更換以及故障發(fā)生后何時(shí)提供維護(hù)建議等等。
許多公司正在嘗試進(jìn)行預(yù)測(cè)性維護(hù),以及從各種傳感器和系統(tǒng)中獲得大量數(shù)據(jù)。但是,通常情況下,客戶(hù)并沒(méi)有足夠的故障歷史數(shù)據(jù),這使得預(yù)測(cè)維護(hù)非常困難。畢竟,為了預(yù)測(cè)未來(lái)的故障事件,需要基于此類(lèi)故障歷史數(shù)據(jù)對(duì)模型進(jìn)行培訓(xùn)。因此,盡管為任何分析項(xiàng)目制定愿景、目的和范圍很重要,但是從收集合適的數(shù)據(jù)開(kāi)始才至關(guān)重要。用于預(yù)測(cè)維護(hù)的相關(guān)數(shù)據(jù)源包括但不限于:故障歷史、維護(hù) / 維修歷史、機(jī)器操作條件、設(shè)備元數(shù)據(jù)。讓我們假定有一個(gè)車(chē)輪故障用例:訓(xùn)練數(shù)據(jù)應(yīng)該包含與車(chē)輪操作相關(guān)的特征。如果問(wèn)題是預(yù)測(cè)牽引系統(tǒng)的故障,訓(xùn)練數(shù)據(jù)必須包含牽引系統(tǒng)的所有不同部件。第一個(gè)案例針對(duì)特定的組件,而第二個(gè)案例針對(duì)較大子系統(tǒng)的故障。一般的建議是設(shè)計(jì)關(guān)于特定組件的預(yù)測(cè)系統(tǒng),而不是更大的子系統(tǒng)。
給定上述數(shù)據(jù)源,預(yù)測(cè)維護(hù)領(lǐng)域中觀察到的兩種主要數(shù)據(jù)類(lèi)型是:1)暫態(tài)數(shù)據(jù)(如操作遙感、機(jī)器條件、工作指令類(lèi)型、記錄時(shí)具有時(shí)間戳的優(yōu)先級(jí)代碼)。故障、維護(hù) / 修理和使用歷史記錄也將有與每個(gè)事件相關(guān)聯(lián)的時(shí)間戳);2)靜態(tài)數(shù)據(jù)(機(jī)器特征和操作員特征一般是靜態(tài)的,因?yàn)樗鼈兠枋隽藱C(jī)器或操作員屬性的技術(shù)規(guī)格。如果這些特征隨著時(shí)間的推移而改變,那么它們也應(yīng)該具有與之相關(guān)聯(lián)的時(shí)間戳)。預(yù)測(cè)器和目標(biāo)變量應(yīng)該根據(jù)使用的算法進(jìn)行預(yù)處理 / 轉(zhuǎn)換為數(shù)值、分類(lèi)和其他數(shù)據(jù)類(lèi)型。
2. 決定如何度量它
考慮組織如何度量數(shù)據(jù)也同樣重要,尤其是在數(shù)據(jù)收集和攝入階段之前。這一子步驟的關(guān)鍵問(wèn)題包括:
- 時(shí)間是什么時(shí)候?
- 度量單位是什么?
- 應(yīng)該包括哪些因素?
此步驟的中心目標(biāo)是確定分析需要預(yù)測(cè)的關(guān)鍵業(yè)務(wù)變量。我們將這些變量稱(chēng)為模型目標(biāo),并使用與它們關(guān)聯(lián)的度量來(lái)確定項(xiàng)目的成功。針對(duì)這類(lèi)目標(biāo),舉兩個(gè)例子為銷(xiāo)售預(yù)測(cè)或預(yù)測(cè)是欺詐性訂單的可能性。
3. 定義成功指標(biāo)
在標(biāo)識(shí)關(guān)鍵業(yè)務(wù)變量之后,將業(yè)務(wù)問(wèn)題轉(zhuǎn)換為數(shù)據(jù)科學(xué)問(wèn)題并定義界定項(xiàng)目是否成功的度量標(biāo)準(zhǔn)非常重要。組織通常使用數(shù)據(jù)科學(xué)或機(jī)器學(xué)習(xí)來(lái)回答以下五類(lèi)問(wèn)題:
- 多少?(回歸)
- 哪一類(lèi)?(分類(lèi))
- 哪一組?(聚類(lèi))
- 這奇怪嗎?(異常檢測(cè))
- 應(yīng)該采取哪種選擇?(推薦)
確定公司正在詢(xún)問(wèn)哪些問(wèn)題,以及如何回答這些問(wèn)題,這樣才能實(shí)現(xiàn)業(yè)務(wù)目標(biāo),并能夠?qū)Y(jié)果進(jìn)行度量。在這一點(diǎn)上,通過(guò)提出和精煉相關(guān)的、具體的、明確的尖銳問(wèn)題來(lái)重新審視項(xiàng)目目標(biāo)是很重要的。例如假設(shè),一家公司想要實(shí)現(xiàn)客戶(hù)流失率的預(yù)測(cè),需要精確到在一個(gè)為期三個(gè)月的項(xiàng)目結(jié)束時(shí)達(dá)到“x”%。有了這些數(shù)據(jù),公司就可以為客戶(hù)提出減少客戶(hù)流失率的促銷(xiāo)活動(dòng)了。
以我們的職業(yè)勞務(wù)公司為例,我們決定解決的第一個(gè)業(yè)務(wù)問(wèn)題是,如何預(yù)測(cè)一個(gè)新項(xiàng)目的員工組合,例如一名高級(jí)會(huì)計(jì)師加兩名會(huì)計(jì)助理。對(duì)于這種客戶(hù)參與,我們使用了近五年個(gè)人級(jí)別的每日歷史項(xiàng)目數(shù)據(jù)。我們刪除了任何有負(fù)邊際貢獻(xiàn)或負(fù)總小時(shí)數(shù)的數(shù)據(jù)。我們首先從測(cè)試數(shù)據(jù)集中隨機(jī)抽取了 1000 個(gè)項(xiàng)目,以加速參數(shù)調(diào)優(yōu)。在確定了最優(yōu)參數(shù)組合后,我們對(duì)測(cè)試數(shù)據(jù)集中的所有項(xiàng)目進(jìn)行了相同的數(shù)據(jù)準(zhǔn)備。
以下是我們?yōu)檫@次業(yè)務(wù)構(gòu)建的數(shù)據(jù)類(lèi)型和解決方案流(如圖 3 所示):
我們使用了一種聚類(lèi)方法:K 最近鄰 (KNN) 算法。KNN 是一種簡(jiǎn)單、易于實(shí)現(xiàn)的監(jiān)督機(jī)器學(xué)習(xí)算法。KNN 算法假設(shè)相似的事物具有很近的距離,從而在訓(xùn)練數(shù)據(jù)中找到最相似的數(shù)據(jù)點(diǎn),并根據(jù)它們的分類(lèi)進(jìn)行有根據(jù)的猜測(cè)。該方法雖然易于理解和實(shí)現(xiàn),但在推薦系統(tǒng)、語(yǔ)義搜索和異常檢測(cè)等領(lǐng)域也得到了廣泛的應(yīng)用。
在第一步中,我們使用 KNN 來(lái)預(yù)測(cè)一個(gè)新項(xiàng)目的人員組成,也就是說(shuō),使用歷史項(xiàng)目數(shù)據(jù)預(yù)測(cè)每種人員分類(lèi) / 職務(wù)的數(shù)量。我們根據(jù)不同的項(xiàng)目屬性,如項(xiàng)目類(lèi)型、總賬款、行業(yè)、客戶(hù)、收入范圍等,找出與新項(xiàng)目相似的歷史項(xiàng)目。我們根據(jù)業(yè)務(wù)規(guī)則和標(biāo)準(zhǔn)為每個(gè)項(xiàng)目屬性分配了不同的權(quán)重。我們還刪除了任何有負(fù)邊際貢獻(xiàn) (利潤(rùn)) 的數(shù)據(jù)。對(duì)于每一種人員分類(lèi),通過(guò)計(jì)算同類(lèi)歷史項(xiàng)目對(duì)應(yīng)人員分類(lèi)的人員數(shù)量加權(quán)和來(lái)預(yù)測(cè)人員數(shù)量。最后將這些權(quán)值規(guī)格化,使所有權(quán)值的和為 1。在計(jì)算加權(quán)和之前,我們剔除了 10% 的過(guò)高異常值和 10% 的過(guò)低異常值。
我們要解決的第二個(gè)業(yè)務(wù)問(wèn)題是,如何計(jì)算新項(xiàng)目的員工適合度得分,我們決定使用基于內(nèi)容的自定義過(guò)濾方法:具體來(lái)說(shuō),我們實(shí)現(xiàn)了一個(gè)基于內(nèi)容的算法來(lái)預(yù)測(cè)員工的經(jīng)驗(yàn)與項(xiàng)目需求的匹配度。在基于內(nèi)容的過(guò)濾系統(tǒng)中,通常是根據(jù)用戶(hù)對(duì)條目的歷史評(píng)分來(lái)計(jì)算得出用戶(hù)配置文件。這些用戶(hù)配置文件描述了用戶(hù)的品味和偏好。為了預(yù)測(cè)員工對(duì)新項(xiàng)目的適合度,我們使用歷史數(shù)據(jù)為每個(gè)員工創(chuàng)建了兩個(gè)員工檔案向量:一個(gè)向量基于的是一個(gè)小時(shí)數(shù),它代表員工在不同類(lèi)型項(xiàng)目上的經(jīng)驗(yàn)和專(zhuān)業(yè)技能;另一個(gè)向量基于的是每小時(shí)貢獻(xiàn)利潤(rùn)率 (CMH),它代表員工在不同類(lèi)型項(xiàng)目上的盈利能力。新項(xiàng)目的員工適合度評(píng)分是通過(guò)計(jì)算這兩個(gè)員工輪廓向量和代表項(xiàng)目重要屬性的二進(jìn)制向量之間的內(nèi)積來(lái)計(jì)算的。
我們使用Azure 機(jī)器學(xué)習(xí)服務(wù)實(shí)現(xiàn)了這個(gè)機(jī)器學(xué)習(xí)步驟。使用主流的 Python SDK和用于 Azure 機(jī)器學(xué)習(xí)的Data Prep SDK,我們?cè)? Azure 機(jī)器學(xué)習(xí)服務(wù)工作區(qū)中構(gòu)建我們的機(jī)器學(xué)習(xí)模型,并對(duì)其展開(kāi)訓(xùn)練。這個(gè)工作區(qū)是為該服務(wù)準(zhǔn)備的頂級(jí)資源,它為我們提供了一個(gè)集中的地方來(lái)處理這個(gè)項(xiàng)目創(chuàng)建的所有工件。
為了創(chuàng)建一個(gè)工作區(qū),我們確定了以下配置項(xiàng):
當(dāng)我們創(chuàng)建一個(gè)工作區(qū)時(shí),會(huì)自動(dòng)添加以下 Azure 資源:
- Azure Container Registry(Azure 容器注冊(cè)表)
- Azure Storage(Azure 存儲(chǔ))
- Azure Application Insights(Azure 應(yīng)用洞見(jiàn))
- Azure Key Vault(Azure 密鑰保管庫(kù))
該工作區(qū)保存了一個(gè)計(jì)算目標(biāo)列表,你可以使用這些目標(biāo)訓(xùn)練你的模型。它還保存執(zhí)行訓(xùn)練的歷史記錄,包括日志、指標(biāo)、輸出和腳本快照。我們使用這些信息來(lái)確定哪個(gè)訓(xùn)練運(yùn)行生成了最佳模型。
之后,我們將模型注冊(cè)到工作區(qū)中,并使用注冊(cè)的模型和計(jì)分腳本創(chuàng)建用于部署的鏡像(為此用例構(gòu)建端到端體系結(jié)構(gòu)的相關(guān)更多細(xì)節(jié)將在下面討論)。工作區(qū)的概念和機(jī)器學(xué)習(xí)流程如圖 4 所示:
原則 3:構(gòu)建端到端解決方案
在大數(shù)據(jù)時(shí)代,越來(lái)越多的數(shù)據(jù)的積累和分析,往往是非結(jié)構(gòu)化的,它們來(lái)自于應(yīng)用程序、Web 環(huán)境和各種各樣的設(shè)備。在第三步中,組織需要更有機(jī)地考慮支持其數(shù)據(jù)科學(xué)解決方案的端到端數(shù)據(jù)流和體系結(jié)構(gòu),并問(wèn)問(wèn)自己以下問(wèn)題:
- 他們真的需要這么多數(shù)據(jù)嗎?
- 他們?nèi)绾未_保它的完整性和可靠性?
- 他們應(yīng)該如何存儲(chǔ)、處理和操作這些數(shù)據(jù),以回答我的問(wèn)題?
- 最重要的是,他們?nèi)绾螌⑦@個(gè)數(shù)據(jù)科學(xué)解決方案整合到他們自己的業(yè)務(wù)和運(yùn)營(yíng)中,以便隨著時(shí)間的推移仍能成功地使用它?
數(shù)據(jù)體系結(jié)構(gòu)是規(guī)劃數(shù)據(jù)收集的過(guò)程,包括對(duì)所要收集的信息的定義、用于結(jié)構(gòu)化數(shù)據(jù)的標(biāo)準(zhǔn)和規(guī)范以及用于提取、存儲(chǔ)和處理此類(lèi)數(shù)據(jù)的工具。
對(duì)于任何執(zhí)行數(shù)據(jù)分析的項(xiàng)目來(lái)說(shuō),這個(gè)階段都是基礎(chǔ),因?yàn)樗WC了將來(lái)所要研究的信息的可用性和完整性。為此,你需要了解數(shù)據(jù)將如何存儲(chǔ)、處理和使用,以及項(xiàng)目需要哪些分析。就這一點(diǎn),可以說(shuō)項(xiàng)目的技術(shù)愿景和戰(zhàn)略愿景是交叉的,因?yàn)檫@個(gè)計(jì)劃任務(wù)的目的是保持?jǐn)?shù)據(jù)提取和操作過(guò)程與業(yè)務(wù)目標(biāo)保持一致。
在定義了業(yè)務(wù)目標(biāo)(原則 1)并將它們轉(zhuǎn)換為有形的度量標(biāo)準(zhǔn)(原則 2)之后,現(xiàn)在必須要做的是選擇正確的工具,以使組織能夠?qū)嶋H構(gòu)建端到端數(shù)據(jù)科學(xué)解決方案??紤]諸如數(shù)據(jù)量、數(shù)據(jù)種類(lèi)以及數(shù)據(jù)生成和處理的速度等因素,對(duì)公司確定應(yīng)該使用哪種類(lèi)型的技術(shù)會(huì)很有幫助。在現(xiàn)有的各類(lèi)工具中,必須考慮:
- 數(shù)據(jù)收集工具,如Azure Stream Analytics 和Azure Data Factory,這些工具將幫助我們提取和組織原始數(shù)據(jù)。
- 存儲(chǔ)工具,如Azure Cosmos DB和Azure Storage:這些工具以結(jié)構(gòu)化或非結(jié)構(gòu)化的形式存儲(chǔ)數(shù)據(jù),并且可以以集成的方式聚集來(lái)自于多個(gè)平臺(tái)的信息
- 數(shù)據(jù)處理和分析工具,如Azure Time Series Insights和Azure Machine Learning Service Data Prep,有了這些,我們可以使用存儲(chǔ)和處理的數(shù)據(jù)創(chuàng)建可視化邏輯,使分析、研究和報(bào)告成為可能,從而支持運(yùn)營(yíng)和戰(zhàn)略決策的制定。
- 模型操作化工具,如 Azure Machine Learning service 和Machine Learning Server:在公司擁有一組運(yùn)行良好的模型之后,它們可以將這些模型操作化,供其他應(yīng)用程序使用。根據(jù)業(yè)務(wù)需求來(lái)看,可以實(shí)時(shí)預(yù)測(cè),也可以批量預(yù)測(cè)。為部署模型,公司需要使用一個(gè)開(kāi)放的 API 接口來(lái)暴露它們。各類(lèi)的應(yīng)用程式可以通過(guò)該接口輕松使用這個(gè)模型,例如:在線(xiàn)網(wǎng)站/電子表格/儀表板/企業(yè)重要流程線(xiàn)(LoB)應(yīng)用程序/后端應(yīng)用程序
這些工具可以根據(jù)業(yè)務(wù)的需要予以調(diào)整,但在理想情況下應(yīng)該提供它們之間集成的可能性,從而使數(shù)據(jù)可以在任意選擇的平臺(tái)上使用,而不需要手工處理。這種端到端架構(gòu)(如圖 5)還將為公司提供一些關(guān)鍵的優(yōu)勢(shì)和價(jià)值,例如:
- 加速部署和降低風(fēng)險(xiǎn):集成的端到端體系結(jié)構(gòu)可以極大地降低組裝端到端解決方案所需的成本和精力,從而進(jìn)一步減少部署用例的時(shí)間
- 模塊化:使公司能夠從端到端體系結(jié)構(gòu)的任何部分開(kāi)始切入,并確保已經(jīng)集成了關(guān)鍵組件,且可以良好地配合
- 靈活性:可以在任何地方運(yùn)行,包括多云或混合云環(huán)境
- 端到端分析和機(jī)器學(xué)習(xí):支持從邊緣到云的端到端分析,能夠?qū)C(jī)器學(xué)習(xí)模型回推到邊緣進(jìn)行實(shí)時(shí)決策
- 端到端數(shù)據(jù)安全性和依從性:預(yù)集成了跨基礎(chǔ)設(shè)施的安全性和可管理性,包括訪(fǎng)問(wèn)、授權(quán)和身份驗(yàn)證
- 支持開(kāi)源創(chuàng)新:基于開(kāi)源項(xiàng)目和確保開(kāi)放標(biāo)準(zhǔn)的充滿(mǎn)活力的社區(qū)創(chuàng)新模型
之于我們職業(yè)勞務(wù)公司,我們的解決方案架構(gòu)由以下組件組成(如圖 6):
數(shù)據(jù)科學(xué)家使用 Azure 機(jī)器學(xué)習(xí)和 HDInsight 集群來(lái)訓(xùn)練模型。Azure HDInsight 是一種面向企業(yè)的管理、全頻譜、開(kāi)源的分析服務(wù)。HDInsight 是一種云服務(wù),它使海量數(shù)據(jù)的處理變得簡(jiǎn)單、快速和劃算。模型被裝箱并放入Azure 容器注冊(cè)表。Azure 容器注冊(cè)表使你可以為所有類(lèi)型的容器部署構(gòu)建、存儲(chǔ)和管理鏡像。對(duì)于這個(gè)特定的客戶(hù)參與,我們使用Azure CLI創(chuàng)建了一個(gè) Azure 容器注冊(cè)表實(shí)例。然后,使用 Docker 命令將容器鏡像推入注冊(cè)表,最后從注冊(cè)表中拉出并運(yùn)行鏡像。Azure CLI 是一個(gè)命令行工具,為管理 Azure 資源提供了很好的體驗(yàn)。CLI 旨在簡(jiǎn)化腳本編寫(xiě)、查詢(xún)數(shù)據(jù)、支持耗時(shí)操作等等。
該模型通過(guò)離線(xiàn)安裝程序部署到 Azure 棧上的 Kubernetes 集群。Azure Kubernetes Service (AKS) 簡(jiǎn)化了 Kubernetes 的管理,它通過(guò) Azure CLI 等工具簡(jiǎn)化了集群的供應(yīng),并通過(guò)自動(dòng)化的升級(jí)和擴(kuò)展簡(jiǎn)化了集群的維護(hù)。此外,創(chuàng)建 GPU 集群的能力使 AKS 能夠用于高性能服務(wù)和機(jī)器學(xué)習(xí)模型的自動(dòng)擴(kuò)展。
最終用戶(hù)提供的數(shù)據(jù)是根據(jù)模型評(píng)分的。將預(yù)測(cè)模型應(yīng)用于一組數(shù)據(jù)的過(guò)程稱(chēng)為對(duì)數(shù)據(jù)進(jìn)行評(píng)分。一旦建立了模型,就可以將模型規(guī)格說(shuō)明保存在一個(gè)文件中,該文件包含重構(gòu)模型所需的所有信息。然后你可以使用該模型文件在其他數(shù)據(jù)集中生成預(yù)測(cè)分?jǐn)?shù)。
從評(píng)分中獲得的洞見(jiàn)和異常將被存儲(chǔ)起來(lái)供以后上傳。Azure Blob storage 用于存儲(chǔ)所有項(xiàng)目數(shù)據(jù)。Azure 機(jī)器學(xué)習(xí)服務(wù)與 Blob 存儲(chǔ)集成在一起,以便用戶(hù)不必在計(jì)算平臺(tái)和 Blob 存儲(chǔ)之間手動(dòng)移動(dòng)數(shù)據(jù)。從該工作負(fù)載所需的性能來(lái)看,Blob 存儲(chǔ)也是非常劃算的。
在全局應(yīng)用程序中,全局相關(guān)和兼容性的洞見(jiàn)可供使用。Azure App Service是一種托管 Web 應(yīng)用程序、REST API 和移動(dòng)后端的服務(wù)。App Service 不僅為你的應(yīng)用程序添加了 Microsoft Azure 的強(qiáng)大功能,比如安全性、負(fù)載平衡、自動(dòng)縮放和自動(dòng)化管理,還為你提供了 DevOps 能力,例如 Azure DevOps、GitHub、Docker Hub以及其他來(lái)源的持續(xù)部署,包管理、準(zhǔn)生產(chǎn)環(huán)境、自定義域和 SSL 證書(shū)。
最后,利用邊緣評(píng)分?jǐn)?shù)據(jù)對(duì)模型進(jìn)行改進(jìn)。
原則 4:構(gòu)建數(shù)據(jù)科學(xué)技巧工具箱
在為我們的職業(yè)勞務(wù)公司開(kāi)發(fā)基于推薦的人員分配方案時(shí),我們立刻意識(shí)到他們的時(shí)間有限,并且沒(méi)有無(wú)限的計(jì)算資源。組織如何組織他們的工作以保持最高的生產(chǎn)力呢?
我們與客戶(hù)的數(shù)據(jù)科學(xué)團(tuán)隊(duì)緊密合作,幫助他們開(kāi)發(fā)了一組不同的技巧,以?xún)?yōu)化他們的工作,縮短生產(chǎn)時(shí)間,例如:
首先,不要在你擁有的整個(gè)數(shù)據(jù)集進(jìn)行培訓(xùn),而應(yīng)在一個(gè)小得多的子集上:一旦數(shù)據(jù)科學(xué)團(tuán)隊(duì)清楚地了解了他們需要實(shí)現(xiàn)的功能、損失函數(shù)、度量標(biāo)準(zhǔn)和超參數(shù)值之后,再進(jìn)行擴(kuò)展。
重用以前項(xiàng)目中獲得的知識(shí):許多數(shù)據(jù)科學(xué)問(wèn)題都是彼此想通的。從其他數(shù)據(jù)科學(xué)家過(guò)去解決過(guò)的類(lèi)似問(wèn)題中重用超參數(shù)或特征提取器的最佳值,這將為組織節(jié)省大量時(shí)間。
設(shè)置自動(dòng)報(bào)警,通知數(shù)據(jù)科學(xué)團(tuán)隊(duì)某個(gè)特定的實(shí)驗(yàn)已經(jīng)結(jié)束:假使實(shí)驗(yàn)時(shí)有些東西出錯(cuò)了,這么做將節(jié)省數(shù)據(jù)科學(xué)團(tuán)隊(duì)的時(shí)間。
使用Jupyter 筆記本進(jìn)行快速原型設(shè)計(jì):數(shù)據(jù)科學(xué)家可以在對(duì)結(jié)果滿(mǎn)意之后再將代碼重寫(xiě)為 Python 包 / 類(lèi)。
將實(shí)驗(yàn)代碼保存在版本控制系統(tǒng)中,比如GitHub。
使用云中的預(yù)配置環(huán)境進(jìn)行數(shù)據(jù)科學(xué)開(kāi)發(fā):這些是虛擬機(jī)鏡像(如Windows 虛擬機(jī)和Azure 數(shù)據(jù)科學(xué)虛擬機(jī)),使用一些常用的工具進(jìn)行預(yù)安裝、配置和測(cè)試,這些工具通常在數(shù)據(jù)分析和機(jī)器學(xué)習(xí)培訓(xùn)會(huì)用得到。
在運(yùn)行實(shí)驗(yàn)時(shí),列出要做哪些事情:數(shù)據(jù)收集、清理、注釋;閱讀新的數(shù)據(jù)科學(xué)主題,嘗試新的算法或框架。所有這些活動(dòng)都會(huì)對(duì)你未來(lái)項(xiàng)目的成功有所助益。建議可參考這幾個(gè)數(shù)據(jù)科學(xué)網(wǎng)站:數(shù)據(jù)科學(xué)中心、KDnuggets、Revolution Analytics
原則 5:統(tǒng)一組織的數(shù)據(jù)科學(xué)愿景
從開(kāi)始數(shù)據(jù)科學(xué)過(guò)程的第一天起,數(shù)據(jù)科學(xué)團(tuán)隊(duì)就應(yīng)該與業(yè)務(wù)伙伴進(jìn)行交互。數(shù)據(jù)科學(xué)家和業(yè)務(wù)伙伴不經(jīng)常接觸解決方案。業(yè)務(wù)伙伴希望遠(yuǎn)離技術(shù)細(xì)節(jié),數(shù)據(jù)科學(xué)家也是想遠(yuǎn)離業(yè)務(wù)。然而,為了理解并行模型的實(shí)現(xiàn)以構(gòu)建模型,他們之間保持持續(xù)交互是非常重要的。大多數(shù)組織都難以解鎖數(shù)據(jù)科學(xué)以?xún)?yōu)化其操作流程,讓數(shù)據(jù)科學(xué)家、分析師和業(yè)務(wù)團(tuán)隊(duì)采用一致的語(yǔ)言:不同的團(tuán)隊(duì)和數(shù)據(jù)科學(xué)流程常常是形成摩擦的根源。這種摩擦定義了新的數(shù)據(jù)科學(xué)鐵三角,它基于的是數(shù)據(jù)科學(xué)、IT 運(yùn)營(yíng)和業(yè)務(wù)運(yùn)營(yíng)的協(xié)調(diào)配合。
為了與客戶(hù)共同完成這項(xiàng)任務(wù),我們實(shí)施了以下步驟:
- 要求 C 級(jí)別高管的支持采納這一愿景,并將其推動(dòng)至其他不同業(yè)務(wù)部分:哪里有清晰的目標(biāo), 愿景和支持,就在哪里先試點(diǎn),最初的成功或勝利,會(huì)刺激大家進(jìn)一步試驗(yàn)和探索,這經(jīng)常會(huì)導(dǎo)致多米諾效應(yīng),讓大家產(chǎn)生積極的轉(zhuǎn)變。
- 營(yíng)造一種實(shí)驗(yàn)文化:即使有了明確的目標(biāo),但通常僅憑這一點(diǎn)也不會(huì)帶來(lái)成功的業(yè)務(wù)轉(zhuǎn)型。在許多組織中,一個(gè)重要的障礙是員工沒(méi)有足夠的權(quán)力來(lái)實(shí)現(xiàn)變革。向員工充分授權(quán)有助于讓員工參與進(jìn)來(lái),并讓他們積極地為共同的目標(biāo)做出貢獻(xiàn)。
- 讓每個(gè)人都參與到溝通中來(lái):達(dá)成共識(shí)會(huì)增強(qiáng)績(jī)效表現(xiàn)。如果數(shù)據(jù)科學(xué)家在沒(méi)有其他人參與的情況下孤立地工作,組織將缺乏共同承擔(dān)的愿景、價(jià)值觀和共同的目標(biāo)。跨多個(gè)團(tuán)隊(duì)的組織的共同愿景和共同目標(biāo),能帶來(lái)協(xié)作的提升。
原則 6:讓人類(lèi)參與其中
成為一家數(shù)據(jù)驅(qū)動(dòng)型公司,更多的是一種文化轉(zhuǎn)變,而不僅僅是數(shù)字化:因此,任何數(shù)據(jù)科學(xué)解決方案的結(jié)果都應(yīng)讓人類(lèi)參與評(píng)估,這很重要。人類(lèi) - 數(shù)據(jù)科學(xué)的團(tuán)隊(duì)合作將會(huì)得到比任何一個(gè)單獨(dú)的團(tuán)隊(duì)更好的結(jié)果。
例如,在我們的客戶(hù)案例中,我們結(jié)合數(shù)據(jù)科學(xué)與人類(lèi)經(jīng)驗(yàn),幫助他們構(gòu)建、部署和維護(hù)了一個(gè)人員部署推薦解決方案,為新項(xiàng)目建議最優(yōu)的人員組合和具有對(duì)口經(jīng)驗(yàn)和專(zhuān)業(yè)知識(shí)的人員,這常常會(huì)直接帶來(lái)經(jīng)濟(jì)價(jià)值。在我們部署了解決方案之后,我們的客戶(hù)決定與幾個(gè)項(xiàng)目團(tuán)隊(duì)進(jìn)行試點(diǎn)。他們還創(chuàng)建了一個(gè)數(shù)據(jù)科學(xué)家和業(yè)務(wù)專(zhuān)家的 v-Team,目的與機(jī)器學(xué)習(xí)解決方案并行開(kāi)展工作,從兩個(gè)試點(diǎn)團(tuán)隊(duì)使用 Azure 機(jī)器學(xué)習(xí)解決方案前后比較機(jī)器學(xué)習(xí)在項(xiàng)目完成時(shí)間、收入、員工、客戶(hù)滿(mǎn)意度等方面得出的結(jié)果。這種由一組數(shù)據(jù)和業(yè)務(wù)專(zhuān)家進(jìn)行的線(xiàn)下評(píng)估對(duì)項(xiàng)目本身非常有益,這主要有兩個(gè)原因:
- 驗(yàn)證了該機(jī)器學(xué)習(xí)解決方案能夠?yàn)槊總€(gè)項(xiàng)目提高約 4% 到 5% 的貢獻(xiàn)邊際;
- 該 v-Team 能夠測(cè)試這個(gè)解決方案并創(chuàng)建一個(gè)可靠的即時(shí)反饋機(jī)制,使他們能夠不斷地監(jiān)控結(jié)果并改進(jìn)最終的解決方案。
在這個(gè)試點(diǎn)項(xiàng)目之后,客戶(hù)成功地將我們的解決方案集成到了他們的內(nèi)部項(xiàng)目管理系統(tǒng)中。
在開(kāi)始這種數(shù)據(jù)驅(qū)動(dòng)的文化轉(zhuǎn)變時(shí),公司應(yīng)該牢記以下幾點(diǎn)準(zhǔn)則:
- 并肩工作:業(yè)界領(lǐng)先的公司越來(lái)越認(rèn)識(shí)到,當(dāng)技術(shù)能夠助力人類(lèi),而不是取代人類(lèi)時(shí),它們才是最有效的。理解數(shù)據(jù)科學(xué)和人類(lèi)為不同類(lèi)型的工作和任務(wù)帶來(lái)的獨(dú)特能力將是至關(guān)重要的,因?yàn)檫@樣重點(diǎn)就從自動(dòng)化轉(zhuǎn)向了對(duì)工作的重新設(shè)計(jì)。
- 對(duì)人類(lèi)接觸的認(rèn)知:重點(diǎn)是要記住,即使高度電腦化的工作不得不保持在面向服務(wù)的層面,并由像數(shù)據(jù)科學(xué)家和開(kāi)發(fā)人員這些角色來(lái)解釋公司的成功,但仍需要?jiǎng)?chuàng)造力、同理心、溝通能力和解決復(fù)雜問(wèn)題等必要的人類(lèi)技能。
- 投資于勞動(dòng)力的發(fā)展:對(duì)勞動(dòng)力的發(fā)展、學(xué)習(xí)和職業(yè)模式予以重新關(guān)注也很重要,要不吝為其注入創(chuàng)造力。也許最關(guān)鍵的是對(duì)做有意義的工作的需求——盡管他們與智能機(jī)器有了新的合作,但人類(lèi)將熱切地?fù)肀н@些工作。
在數(shù)據(jù)科學(xué)需要額外的目前昂貴得令人望而卻步的基礎(chǔ)設(shè)施(例如巨大的知識(shí)圖譜),以在每個(gè)領(lǐng)域中提供上下文和替代人類(lèi)經(jīng)驗(yàn)的情況下,人類(lèi)組件將特別重要。
結(jié)論
通過(guò)在數(shù)據(jù)分析過(guò)程中應(yīng)用健康數(shù)據(jù)科學(xué)組織框架中的這六個(gè)原則,組織可以針對(duì)他們的業(yè)務(wù)做出更好的決策,他們的選擇將得到可靠的數(shù)據(jù)收集和分析的支持。
我們的客戶(hù)能夠?qū)崿F(xiàn)一個(gè)成功的人員部署推薦解決方案,該方案為新項(xiàng)目推薦最優(yōu)的員工組合和具有對(duì)口經(jīng)驗(yàn)和專(zhuān)業(yè)知識(shí)的個(gè)人員工。通過(guò)將員工經(jīng)驗(yàn)與項(xiàng)目需求結(jié)合起來(lái),我們幫助項(xiàng)目經(jīng)理更好更快地進(jìn)行人員分配。
通過(guò)實(shí)踐,數(shù)據(jù)科學(xué)過(guò)程將變得更快、更準(zhǔn)確,這意味著組織將做出更好、更明智的決策,從而最有效地運(yùn)營(yíng)。
以下是一些可能會(huì)用到的附加資源,可幫助你學(xué)習(xí)如何培養(yǎng)健康的數(shù)據(jù)科學(xué)思維,建立一個(gè)成功的數(shù)據(jù)驅(qū)動(dòng)組織:
- 團(tuán)隊(duì)數(shù)據(jù)科學(xué)過(guò)程文檔(Team Data Science Process Documentation)
- 團(tuán)隊(duì)數(shù)據(jù)科學(xué)處理 GitHub 庫(kù)(Team Data Science Process GitHub Repo)
- 數(shù)據(jù)架構(gòu)指南(Data Architecture Guide)
- Azure 的筆記本(Azure Notebooks)
- 數(shù)據(jù)科學(xué)虛擬機(jī)(Data Science Virtual Machine )
- Azure 機(jī)器學(xué)習(xí)文檔(Azure Machine Learning Documentation )
- 微軟 Azure 數(shù)據(jù)科學(xué)博客(Microsoft Azure Data Science Blog)
作者簡(jiǎn)介:Francesca Lazzeri 博士(推特:@frlazzeri)是微軟云計(jì)算倡導(dǎo)團(tuán)隊(duì)的高級(jí)機(jī)器學(xué)習(xí)科學(xué)家,也是大數(shù)據(jù)技術(shù)創(chuàng)新和基于機(jī)器學(xué)習(xí)的解決方案在現(xiàn)實(shí)問(wèn)題中的應(yīng)用方面的專(zhuān)家。她是《時(shí)間序列預(yù)測(cè):機(jī)器學(xué)習(xí)方法》(O 'Reilly Media, 2019) 一書(shū)的作者,她定期在美國(guó)和歐洲的大學(xué)教授應(yīng)用分析和機(jī)器學(xué)習(xí)課程。在加入微軟之前,她是哈佛商學(xué)院商業(yè)經(jīng)濟(jì)學(xué)研究員,她在那里的技術(shù)和運(yùn)營(yíng)管理部門(mén)進(jìn)行統(tǒng)計(jì)和計(jì)量分析。她還是麻省理工學(xué)院博士和博士后的數(shù)據(jù)科學(xué)導(dǎo)師,并在學(xué)術(shù)和行業(yè)會(huì)議上發(fā)表主題演說(shuō)和專(zhuān)題演講,在會(huì)上,她分享了她對(duì)人工智能、機(jī)器學(xué)習(xí)和編碼的知識(shí)和激情。