如何通過7個步驟構(gòu)建機器學習模型

責任編輯:cres

作者:Ronald Schmelzer

2020-11-19 09:55:19

來源:企業(yè)網(wǎng)D1Net

原創(chuàng)

組織構(gòu)建一個可行的、可靠的、敏捷的機器學習模型來簡化操作和支持其業(yè)務計劃需要耐心、準備以及毅力。

組織構(gòu)建一個可行的、可靠的、敏捷的機器學習模型來簡化操作和支持其業(yè)務計劃需要耐心、準備以及毅力。
 
各種組織都在為各行業(yè)中的眾多應用實施人工智能項目。這些應用包括預測分析、模式識別系統(tǒng)、自主系統(tǒng)、會話系統(tǒng)、超個性化活動和目標驅(qū)動系統(tǒng)。每一個項目都有一個共同點:它們都基于對業(yè)務問題的理解,并且數(shù)據(jù)和機器學習算法必須應用于解決問題,從而構(gòu)建一個能夠滿足項目需求的機器學習模型。
 
部署和管理機器學習項目通常遵循相同的模式。然而,現(xiàn)有的應用程序開發(fā)方法并不適用,因為人工智能項目是由數(shù)據(jù)驅(qū)動的,而不是編程代碼。學習來源于數(shù)據(jù),因此正確的機器學習方法源于以數(shù)據(jù)為中心的需求,并產(chǎn)生專注于數(shù)據(jù)發(fā)現(xiàn)、清理、培訓、模型構(gòu)建和迭代階段的項目。
 
對于許多組織來說,機器學習模型開發(fā)是一項新活動,但是在某種程度上已經(jīng)建立了以數(shù)據(jù)為中心的項目構(gòu)建方法。
 
大約25年前,一個由五家供應商組成的聯(lián)盟開發(fā)了跨行業(yè)的數(shù)據(jù)挖掘標準流程(CRISP-DM),該流程專注于數(shù)據(jù)挖掘項目中各種數(shù)據(jù)密集型步驟的連續(xù)迭代方法。該方法從業(yè)務理解和數(shù)據(jù)理解之間的迭代循環(huán)開始。接下來是數(shù)據(jù)準備和數(shù)據(jù)建模之間的迭代循環(huán)的切換,然后是評估階段,它將結(jié)果分解到部署和業(yè)務理解。這種循環(huán)的、迭代的循環(huán)導致了連續(xù)的數(shù)據(jù)建模、準備和評估。
 
但跨行業(yè)的數(shù)據(jù)挖掘標準流程(CRISP-DM)的進一步開發(fā)似乎已經(jīng)停滯在近20年前完全生產(chǎn)的1.0版本上,而在15年前還發(fā)布其第二個版本。IBM公司和微軟公司對這種方法進行了更新和迭代,以生成它們自己的變體,這些變體為數(shù)據(jù)處理和建模之間的迭代循環(huán)添加了更多細節(jié),并提供了在此過程中產(chǎn)生的工件和可交付成果的更多細節(jié)。
 
此外,這種方法由于并不敏捷或不適用于人工智能和機器學習項目而受到質(zhì)疑。因此需要增強諸如人工智能的認知項目管理之類的方法,以滿足人工智能特定的要求,并且可以在具有現(xiàn)有敏捷開發(fā)團隊和數(shù)據(jù)組織的組織中實施這些方法。
 
這些方法論以及大型公司及其數(shù)據(jù)科學團隊的學習,因此采用了一種更強大、更靈活的分步方法來進行機器學習模型開發(fā),以滿足認知項目的特定需求。
 
步驟1.了解并識別業(yè)務問題(并定義成功)
 
任何機器學習項目的第一階段都是發(fā)展對業(yè)務需求的理解。在解決問題之前,組織需要知道要解決的問題。
 
首先,與項目所有者合作,并確保組織了解項目的目標和要求。目的是將這些知識轉(zhuǎn)換為適合機器學習項目的定義,并制定實現(xiàn)該項目目標的初步計劃。需要回答的關鍵問題包括:
 
•需要認知解決方案的業(yè)務目標是什么?
•解決方案的哪些部分是認知的,哪些并沒有認知?
•是否解決了所有必要的技術(shù)、業(yè)務和部署問題?
•項目定義的“成功”標準是什么?
•項目如何在迭代沖刺階段進行?
•是否對透明度、可解釋性或減少偏見有特殊要求?
•道德方面的考慮是什么?
•精度和混淆矩陣值可接受的參數(shù)是什么?
•對模型的預期輸入和預期輸出是什么?
•要解決的問題的特征是什么?這是分類、回歸還是聚類問題?
•什么是“啟發(fā)式”:解決不需要機器學習的問題的快速方法?模型需要比啟發(fā)式方法好多少?
•如何衡量模型的收益?
 
盡管在第一個步驟中有很多問題要回答,但是回答甚至嘗試回答這些問題將會顯著增加整個項目成功的機會。
 
設定具體、可量化的目標將有助于從機器學習項目中實現(xiàn)可測量的投資回報率,而不是簡單地將其作為一個概念證明來實現(xiàn),稍后將被擱置一邊。其目標應該與組織業(yè)務目標相關,而不僅僅是機器學習。雖然機器學習特定的度量(例如精度、準確性、召回率和均方誤差)可以包含在指標中,但更具體的業(yè)務相關關鍵績效指標(KPI)更好。
 
步驟2. 理解和識別數(shù)據(jù)
 
一旦對業(yè)務需求有了深刻的了解并獲得了計劃的批準,就可以開始建立機器學習模型了,是嗎?這種想法是錯誤的。建立業(yè)務案例并不意味著組織擁有創(chuàng)建機器學習模型所需的數(shù)據(jù)。
 
機器學習模型是通過對訓練數(shù)據(jù)進行學習和概括而構(gòu)建的,然后將獲取的知識應用于從未見過的新數(shù)據(jù)中進行預測并實現(xiàn)其目的。數(shù)據(jù)不足將會阻止組織構(gòu)建模型,而僅訪問數(shù)據(jù)是不夠的。有用的數(shù)據(jù)必須是干凈的并且處于良好的狀態(tài)。
 
確定組織的數(shù)據(jù)需求,并確定數(shù)據(jù)是否適合機器學習項目。組織的重點應放在數(shù)據(jù)識別、初始收集、需求、質(zhì)量識別、見解和潛在的值得進一步研究的方面。以下是一些需要考慮的關鍵問題:
 
•訓練模型所需的數(shù)據(jù)源在哪里?
•機器學習項目需要多少數(shù)據(jù)?
•當前培訓數(shù)據(jù)的數(shù)量是多少?質(zhì)量如何?
•如何拆分測試集數(shù)據(jù)和訓練集數(shù)據(jù)?
•對于監(jiān)督學習任務,是否可以標記這些數(shù)據(jù)?
•可以使用預訓練的模型嗎?
•操作和培訓數(shù)據(jù)位于何處?
•在邊緣設備上或更難以到達的地方訪問實時數(shù)據(jù)是否有特殊需求?
 
回答這些重要問題有助于組織處理數(shù)據(jù)的數(shù)量和質(zhì)量,并了解使模型正常工作所需的數(shù)據(jù)類型。
 
此外,組織需要了解模型如何在實際數(shù)據(jù)上運行。例如,該模型是否可以離線使用,以批處理模式對異步輸入和處理的數(shù)據(jù)進行操作,還是可以實時使用并在高性能要求下運行以提供即時結(jié)果?這些信息還將確定所需的數(shù)據(jù)類型和數(shù)據(jù)訪問要求。
 
組織還要確定模型是否將在迭代中訓練,定期或?qū)崟r部署其版本。實時訓練對數(shù)據(jù)提出了許多要求,這些要求在某些設置中可能不可行。
 
在人工智能項目的這一階段,了解真實世界數(shù)據(jù)和培訓數(shù)據(jù)以及測試數(shù)據(jù)和培訓數(shù)據(jù)之間是否存在任何差異,以及組織將采取何種方法來驗證和評估模型的性能,這一點也很重要。
 
步驟3.收集并準備數(shù)據(jù)
 
一旦正確地識別了數(shù)據(jù),組織就需要對這些數(shù)據(jù)進行格式化,以便可以使用它來訓練其模型。重點是構(gòu)建用于建模操作的數(shù)據(jù)集所必需的以數(shù)據(jù)為中心的活動。數(shù)據(jù)準備任務包括數(shù)據(jù)收集、清理、聚合、擴充、標記、規(guī)范化和轉(zhuǎn)換以及結(jié)構(gòu)化、非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)的任何其他活動。
 
•數(shù)據(jù)準備、收集和清理過程中的程序包
•從各種來源收集數(shù)據(jù)。
•跨不同數(shù)據(jù)源標準化格式。
•替換不正確的數(shù)據(jù)。
•增強和擴充數(shù)據(jù)。
•添加更多具有預先計算數(shù)量的維度,并根據(jù)需要匯總信息。
•使用第三方數(shù)據(jù)增強數(shù)據(jù)。
• “倍增”基于圖像的數(shù)據(jù)集,如果這些數(shù)據(jù)集不足以進行培訓。
•刪除無關的信息和重復數(shù)據(jù)。
•從培訓中刪除無關的數(shù)據(jù)以改善結(jié)果。
•減少噪音并消除歧義。
•考慮匿名化數(shù)據(jù)。
•標準化數(shù)據(jù)以使其進入格式化范圍。
•來自大型數(shù)據(jù)集的樣本數(shù)據(jù)。
•選擇可標識最重要尺寸的特征,并在必要時使用多種技術(shù)減小尺寸。
•將數(shù)據(jù)分為訓練、測試和驗證集。
 
數(shù)據(jù)準備和清理任務會花費大量時間。對機器學習開發(fā)人員和數(shù)據(jù)科學家的調(diào)查表明,數(shù)據(jù)收集和準備步驟最多可占用機器學習項目80%的時間。俗話說“垃圾進、垃圾出”。由于機器學習模型需要從數(shù)據(jù)中學習,因此花費在準備和清理上的時間是值得的。
 
步驟4.確定模型的特征并訓練模型
 
一旦數(shù)據(jù)處于可用狀態(tài),并且組織知道要解決的問題,就到了組織希望做出的下一步:訓練模型,以通過應用范圍從已準備好的高質(zhì)量數(shù)據(jù)中學習技術(shù)和算法。
 
這一階段需要模型技術(shù)的選擇和應用,模型訓練、模型超參數(shù)設置和調(diào)整、模型驗證、集成模型開發(fā)和測試、算法選擇以及模型優(yōu)化。為此,需要執(zhí)行以下操作:
 
•根據(jù)學習目標和數(shù)據(jù)要求選擇正確的算法。
•配置和調(diào)整超參數(shù)以獲得最佳性能,并確定獲得最佳超參數(shù)的迭代方法。
•確定提供最佳結(jié)果的功能。
•確定是否需要模型可解釋性。
•開發(fā)集成模型以提高性能。
•測試不同型號的性能。
•確定模型的運行和部署要求。
 
然后可以評估結(jié)果模型以確定其是否滿足業(yè)務和運營要求。
 
步驟5.評估模型的性能并建立基準
 
從人工智能的角度來看,評估包括模型度量評估、混淆矩陣計算、KPI、模型性能度量,模型質(zhì)量度量以及模型是否可以滿足已建立的業(yè)務目標的最終確定。在模型評估過程中,應該執(zhí)行以下操作:
 
•使用驗證方法和驗證數(shù)據(jù)集評估模型。
•確定分類問題的混淆矩陣值。
•確定k-折疊交叉驗證的方法(如果使用該方法)。
•進一步調(diào)整超參數(shù)以獲得最佳性能。
•將機器學習模型與基準模型或啟發(fā)式模型進行比較。
 
模型評估可以視為機器學習的“質(zhì)量保證”。根據(jù)指標和要求對模型性能進行充分評估,可以確定模型在現(xiàn)實世界中的工作方式。
 
步驟6.實驗并調(diào)整運行中的模型
 
當組織確信機器學習模型可以在現(xiàn)實世界中工作時,那么是時候看看它在現(xiàn)實世界中的實際運行了,也稱之為“可操作性”模型:
 
•部署模型以持續(xù)測量和監(jiān)視其性能。
•制定基準,以可用來衡量模型的未來迭代。
•不斷迭代模型的不同方面,以提高整體性能。
 
模型的操作化可能包括在云計算環(huán)境中,邊緣、內(nèi)部部署或封閉環(huán)境中或封閉的受控組中的部署方案。在運營方面的考慮因素包括模型版本控制和迭代、模型部署、模型監(jiān)視以及開發(fā)和生產(chǎn)環(huán)境中的模型分段。根據(jù)需求,模型的操作范圍可以從簡單地生成報告到更復雜的多端點部署。
 
步驟7.實驗和調(diào)整模型
 
即使模型是可運行的,并且組織一直在監(jiān)視其性能,也還沒有結(jié)束。在實施技術(shù)時,通常會說成功的秘訣是從小處開始,大處思考,并經(jīng)常進行迭代。
 
始終重復該過程并及時進行改進以進行下一次迭代。業(yè)務需求不斷發(fā)生變化,而技術(shù)能力也在不斷變化。實際數(shù)據(jù)以意想不到的方式變化。所有這些都可能對將模型部署到不同端點或新系統(tǒng)中提出新要求。而結(jié)束可能只是一個新的開始,因此最好確定以下內(nèi)容:
 
•對模型功能的下一個要求;
•擴大模型培訓以涵蓋更大的能力;
•改善模型的性能和準確性;
•改進模型的運行性能;
•不同部署的操作要求;
•針對“模型漂移”或“數(shù)據(jù)漂移”的解決方案,這些解決方案可能會由于實際數(shù)據(jù)的變化而導致性能變化。
 
組織需要反思在其模型中哪些有效,哪些是正在進行的工作。要在機器學習模型構(gòu)建中取得成功,最可靠的方法就是不斷地尋找改進和更好的方法來滿足組織不斷發(fā)展的業(yè)務需求。
 
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責任的權(quán)利。

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號