
譯者 | 布加迪
審校 | 重樓
這篇實(shí)用指南幫助你從概念驗(yàn)證邁入到生產(chǎn)就緒的機(jī)器學(xué)習(xí)。
構(gòu)建能夠切實(shí)解決實(shí)際問題的機(jī)器學(xué)習(xí)模型不僅僅需要在測試時(shí)取得高準(zhǔn)確率得分,更需要構(gòu)建能夠在生產(chǎn)環(huán)境中持續(xù)運(yùn)行的系統(tǒng)。
本文介紹了七個(gè)實(shí)用技巧,幫助你專注于構(gòu)建能夠提供可靠業(yè)務(wù)價(jià)值而非僅僅追求出色指標(biāo)的模型。讓我們開始吧!
1. 從問題而非算法入手。
機(jī)器學(xué)習(xí)項(xiàng)目中最常見的錯(cuò)誤是,在理解所要解決的問題之前一味盯著某種特定技術(shù)。在開始為梯度提升模型或神經(jīng)網(wǎng)絡(luò)編寫代碼或開始進(jìn)行超參數(shù)調(diào)優(yōu)之前,請(qǐng)花大量時(shí)間與將實(shí)際使用模型的人進(jìn)行溝通。
實(shí)踐操作如下:
- 跟蹤現(xiàn)有流程至少一周。
- 了解誤報(bào)和漏報(bào)帶來的實(shí)際成本。
- 規(guī)劃出模型將適用的整個(gè)工作流程。
- 明確“足夠好”的性能對(duì)于模型和所解決的問題意味著什么。
一個(gè)能發(fā)現(xiàn)95%的欺詐行為,卻將20%的合法交易標(biāo)記為可疑交易的欺詐檢測模型在數(shù)學(xué)層面上可能令人印象深刻,但在業(yè)務(wù)操作上毫無用處。最好的模型常常是最簡單的、能夠可靠地推動(dòng)業(yè)務(wù)發(fā)展的模型。
2. 將數(shù)據(jù)質(zhì)量視為最重要的特性。
模型的好壞取決于你的數(shù)據(jù),但大多數(shù)團(tuán)隊(duì)將80%的時(shí)間花在算法上、將20%的時(shí)間花在數(shù)據(jù)質(zhì)量上。這個(gè)比率應(yīng)該倒過來。干凈、有代表性、易于理解的數(shù)據(jù)每次都勝過那些用劣質(zhì)數(shù)據(jù)訓(xùn)練的花哨算法。
盡早養(yǎng)成以下習(xí)慣:
- 創(chuàng)建自動(dòng)隨每個(gè)管道運(yùn)行的數(shù)據(jù)質(zhì)量檢查。
- 跟蹤生產(chǎn)環(huán)境中的數(shù)據(jù)漂移指標(biāo)。
- 跟蹤數(shù)據(jù)源和轉(zhuǎn)換。
- 關(guān)鍵統(tǒng)計(jì)屬性發(fā)生變化時(shí)發(fā)出警報(bào)。
切記:使用高質(zhì)量數(shù)據(jù)訓(xùn)練的線性回歸通常勝過使用不一致、有偏差或過時(shí)的信息訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)。致力于搭建數(shù)據(jù)基礎(chǔ)設(shè)施,就像貴公司依賴它一樣,因?yàn)榇_實(shí)依賴它。
3. 一開始就為確??山忉屝远O(shè)計(jì)。
在學(xué)習(xí)機(jī)器學(xué)習(xí)時(shí),“黑盒”模型可能效果很好。但對(duì)于生產(chǎn)環(huán)境而言,添加可解釋性始終是更明智的做法。當(dāng)你的模型做出影響重大的錯(cuò)誤預(yù)測時(shí),你需要了解其原因以及如何避免。
實(shí)用的可解釋性策略包括如下:
- 使用SHAP或LIME等歸因方法來解釋單個(gè)預(yù)測。
- 嘗試使用適用于不同算法的模型無關(guān)解釋。
- 創(chuàng)建決策樹或基于規(guī)則的模型作為可解釋的基準(zhǔn)。
- 用簡單明了的語言記錄驅(qū)動(dòng)預(yù)測的特征。
這不僅僅關(guān)乎合規(guī)或調(diào)試??山忉尩哪P涂梢詭椭惆l(fā)現(xiàn)有關(guān)問題領(lǐng)域的新見解,并獲得利益相關(guān)者的信任。能夠解釋其推理過程的模型可以系統(tǒng)地予以改進(jìn)。
4. 針對(duì)真實(shí)場景而不僅僅是測試集進(jìn)行驗(yàn)證。
傳統(tǒng)的訓(xùn)練/驗(yàn)證/測試拆分常常忽略最重要的問題:當(dāng)條件發(fā)生變化時(shí),這個(gè)模型是否有效?真實(shí)世界的部署涉及數(shù)據(jù)分布變化、極端情況以及你精挑細(xì)選的測試集從未預(yù)料到的對(duì)抗性輸入。
除了基本驗(yàn)證外,還應(yīng)該:
- 使用來自不同時(shí)間段、地域或用戶群的數(shù)據(jù)進(jìn)行測試。
- 模擬真實(shí)的極端情況和故障模式。
- 使用對(duì)抗性驗(yàn)證等技術(shù)來檢測數(shù)據(jù)集偏移。
- 創(chuàng)建壓力測試,使你的模型不僅限于面對(duì)正常的運(yùn)行條件。
如果你的模型面對(duì)上個(gè)月的數(shù)據(jù)表現(xiàn)良好,但面對(duì)今天的流量模式卻失敗了,那么它實(shí)際上毫無幫助。一開始就應(yīng)該將穩(wěn)健性測試納入到你的驗(yàn)證流程。
5. 部署前實(shí)施監(jiān)控。
大多數(shù)機(jī)器學(xué)習(xí)團(tuán)隊(duì)將監(jiān)控視為事后才考慮的環(huán)節(jié),但生產(chǎn)模型的性能會(huì)悄無聲息地、不可預(yù)測地下降。等到你通過業(yè)務(wù)衡量指標(biāo)注意到性能問題時(shí),可能已經(jīng)造成了重大損失。
必要的監(jiān)控組件包括如下:
- 輸入數(shù)據(jù)分布跟蹤(在漂移影響預(yù)測之前檢測漂移)。
- 預(yù)測置信度評(píng)分和異常值檢測。
- 持續(xù)跟蹤模型性能衡量指標(biāo)。
- 業(yè)務(wù)衡量指標(biāo)相關(guān)性分析。
- 異常行為自動(dòng)警報(bào)。
在開發(fā)期間而不是在部署后搭建監(jiān)控基礎(chǔ)設(shè)施。你的監(jiān)控系統(tǒng)應(yīng)該能夠在用戶發(fā)現(xiàn)問題之前檢測到問題,讓你有時(shí)間在業(yè)務(wù)受到影響之前重新訓(xùn)練或回滾。
6. 規(guī)劃模型更新和重新訓(xùn)練。
模型的性能并非始終一致。用戶行為、市場形勢和數(shù)據(jù)模式都會(huì)發(fā)生變化。除非你采用系統(tǒng)性的方法使模型保持最新狀態(tài),否則今天運(yùn)行良好的模型會(huì)隨著時(shí)間的推移逐漸變得不那么有用。
構(gòu)建可持續(xù)的更新流程需要做以下工作:
- 自動(dòng)化數(shù)據(jù)管道更新和特征工程。
- 根據(jù)性能下降閾值創(chuàng)建重新訓(xùn)練時(shí)間表。
- 實(shí)施模型更新的A/B 測試框架。
- 維護(hù)模型、數(shù)據(jù)和代碼的版本控制。
- 規(guī)劃增量更新和完整模型重建。
目的并非創(chuàng)建一個(gè)完美的模型,而是創(chuàng)建一個(gè)能夠適應(yīng)不斷變化的條件并保持可靠性的系統(tǒng)。模型維護(hù)并非一次性的工程任務(wù)。
7. 為業(yè)務(wù)影響而非衡量指標(biāo)而優(yōu)化。
準(zhǔn)確性、精確率和召回率雖然有用,但它們并非業(yè)務(wù)衡量指標(biāo)。最有用的機(jī)器學(xué)習(xí)模型是針對(duì)可衡量的業(yè)務(wù)成果進(jìn)行優(yōu)化的:增加收入、降低成本、提高客戶滿意度或加快決策速度。
將技術(shù)衡量指標(biāo)與業(yè)務(wù)價(jià)值相結(jié)合:
- 根據(jù)業(yè)務(wù)成果定義成功標(biāo)準(zhǔn)。
- 當(dāng)不同的錯(cuò)誤導(dǎo)致不同的業(yè)務(wù)成本時(shí),使用成本敏感型學(xué)習(xí)。
- 長期跟蹤模型的投資回報(bào)率和成本效益。
- 在模型預(yù)測和業(yè)務(wù)結(jié)果之間建立反饋循環(huán)。
能夠?qū)I(yè)務(wù)流程改進(jìn)10%且準(zhǔn)確率達(dá)到85%的模型其價(jià)值遠(yuǎn)高于準(zhǔn)確率達(dá)到99%卻并不改進(jìn)業(yè)務(wù)流程的模型。致力于構(gòu)建能夠創(chuàng)造可衡量價(jià)值的系統(tǒng),而不是只圖出色的基準(zhǔn)分?jǐn)?shù)。
結(jié)語
構(gòu)建實(shí)用的機(jī)器學(xué)習(xí)模型不僅僅需要思考算法,更要思考整個(gè)系統(tǒng)生命周期。先要明確定義問題,致力于確保數(shù)據(jù)質(zhì)量,為可解釋性和監(jiān)控而設(shè)計(jì),并始終以實(shí)際業(yè)務(wù)影響為目標(biāo)進(jìn)行優(yōu)化。
最成功的機(jī)器學(xué)習(xí)從業(yè)者不一定是那些對(duì)尖端算法擁有最深厚知識(shí)的人,而是能夠持續(xù)交付在生產(chǎn)環(huán)境中可靠運(yùn)行的系統(tǒng),并為其組織創(chuàng)造可衡量價(jià)值的人。
請(qǐng)記?。阂粋€(gè)易于理解、得到適當(dāng)監(jiān)控且符合業(yè)務(wù)需求的簡單模型總是比一個(gè)在開發(fā)環(huán)境中完美運(yùn)行,但在實(shí)際環(huán)境中莫名失敗的復(fù)雜模型更有幫助。
原文標(biāo)題:Tips for Building Machine Learning Models That Are Actually Useful,作者:Bala Priya C






























