機器學習項目如何管理(3):工作內容

前一篇文章介紹了機器學習的基本過程,然后討論了如何對機器學習項目設置期望的問題喜最。我們了解到庄蹋,度量準確率的指標可以有多種迷雪,需要根據應用場景來選擇虫蝶。一旦選好了度量指標,接下來就可以圍繞這個指標來劃分任務能真、監(jiān)控進度粉铐、管理風險。

機器學習項目涉及哪些工作

站在非常宏觀的角度蝙泼,機器學習系統(tǒng)工作的方式是:你有一個模型,你把一堆數(shù)據輸入給它织鲸,然后你以某種方式使用它提供給你的輸出茎活。所以機器學習項目要完成的任務也是三大塊:處理輸入;獲得模型载荔;提供產出采桃。

處理輸入

a. 你需要獲得已有的數(shù)據

b. 你需要對數(shù)據做矢量化操作,把原本豐富多樣的數(shù)據變成有若干列的矢量

c. 你需要對數(shù)據做特征工程工扎,找出可能蘊涵了知識衔蹲、值得被學習的那些特征項

獲得模型

a. 實際上很多時候你可以使用現(xiàn)成的模型,包括:(i)下載現(xiàn)成的離線模型橱健,或者(ii)使用在線的人工智能服務

b. 如果沒有現(xiàn)成的模型沙廉,你也可以考慮使用現(xiàn)有的數(shù)據來自行訓練模型

提供產出

a. 機器學習的結果可能通過某種人-機(UI)或機-機界面(API)被用戶直接使用

b. 作為項目的產出,機器學習模型需要被嵌入到整個數(shù)據流水線中

c. 作為項目的產出珊皿,機器學習模型的開發(fā)、測試蟋定、部署需要有DevOps的支撐

在所有這些任務中,只有2.b“自行訓練模型”(上圖右下角標星星的部分)需要新的技能和管理方法维费,其他都是傳統(tǒng)的軟件開發(fā)任務促王,可以用標準的Scrum等敏捷方法拆分任務和管理。也就是說阅畴,如果你需要的人工智能能力已經有一個現(xiàn)成的模型提供迅耘,那么整個項目就是一個傳統(tǒng)的軟件開發(fā)項目,只是需要使用一些新的工具或API而已颤专。

下面我們聚焦討論需要自行訓練模型時,這部分工作應該如何拆分春塌、如何管理進度和風險簇捍。

自行訓練模型的流程

在自行訓練模型的情況下,如上圖所示吼句,你會用歷史數(shù)據(X和Y)來訓練一個模型事格,然后用這個模型對未來的生產數(shù)據(X-hat)做預測(算出Y-hat)。不論采用什么指標來度量準確率驹愚,模型在訓練數(shù)據上的表現(xiàn)一定好于在生產數(shù)據上的表現(xiàn),這是因為模型從訓練數(shù)據中“學到”的知識不一定在生產數(shù)據中完全重現(xiàn)终娃,或者用黑話來說,模型在訓練過程中“擬合”了訓練數(shù)據的特征余佛。也就是說窍荧,如果一個模型對訓練數(shù)據表現(xiàn)出了95%的準確率(先不管采用哪個準確率指標),其實你并不知道這個模型對生產數(shù)據會表現(xiàn)什么水平的準確率蕊退,于是你也不知道這個模型是否好到可以上線運行。

為了更有效地衡量模型的表現(xiàn)净蚤,我們會在開始訓練模型之前先拿出一小部分歷史數(shù)據(例如全部歷史數(shù)據的10%)用于測試输硝,整個訓練過程不接觸這部分數(shù)據。于是我們就有了“訓練集”(training set)和“測試集”(test set)橘荠。很多時候我們還會分出一小部分數(shù)據作為“驗證集”(validation set)郎逃,為了簡化問題,我們可以先采用“訓練集+測試集”這種設置褒翰。

把歷史數(shù)據分成訓練集和測試集以后,可以預期错邦,模型在訓練集上的表現(xiàn)會優(yōu)于在測試集上的表現(xiàn)型宙,這兩個表現(xiàn)通常都會低于項目期望值伦吠。我們把“【模型在訓練集上的表現(xiàn)】與【期望值】之間的差距”叫做Bias,把“【模型在訓練集上的表現(xiàn)】與【模型在測試集上的表現(xiàn)】之間的差距”叫做Variance搁嗓。

于是就有3種可能的情況:

High Bias:模型在訓練集上的表現(xiàn)遠低于期望箱靴,模型還不能實用(此時Variance如何并不重要);

Low Bias, High Variance:模型在訓練集上表現(xiàn)好棍矛,但是在測試集上表現(xiàn)差,模型還不能實用够委;

Low Bias, Low Variance:模型在訓練集和測試集上表現(xiàn)都好,可以投入實用玉罐。

我們通常會從簡單的機器學習算法潘拨、手邊立即能獲得的數(shù)據開始嘗試。這時候通常Bias會高铁追,因為過于簡單的模型不足以呈現(xiàn)數(shù)據背后的知識脂信,這時我們說模型“擬合不足”(Under-fitting)。在這種情況下狰闪,可以采用的措施包括:

使用更復雜的機器學習算法

使用更復雜的神經網絡架構

用更復雜的機器學習算法和神經網絡訓練出來的模型埋泵,通常能更好地擬合訓練集,進入“Low Bias”的狀態(tài)丽声。這時我們再關注模型在測試集上的表現(xiàn),如果測試集的表現(xiàn)遠差于訓練集的表現(xiàn)浴井,就說明模型過度地針對訓練集的特征做了優(yōu)化霉撵,我們說模型“過度擬合”(Over-fitting)訓練數(shù)據。在這種情況下可以采用的措施包括:

引入Regularization通常能降低over-fitting的程度

通過特征工程可以避免一些over-fitting的情況撕氧,例如排除掉一些嚴重過度擬合的特征

引入更多的訓練數(shù)據喇完,包括數(shù)據量和特征量

最終我們的目標是得到Bias和Variance雙低的模型。

潛在風險點

從上述的工作流程中不脯,我們可以預先識別一些潛在的風險:

在Under-fitting的狀態(tài)下,如果人員能力不足跨新,就無法應用更復雜的算法

在Under-fitting的狀態(tài)下富腊,如果計算資源不足域帐,就無法訓練更復雜的模型

在Over-fitting的狀態(tài)下,如果數(shù)據質量不足民假,就無法開展有效的特征工程

在Over-fitting的狀態(tài)下龙优,如果數(shù)據數(shù)量不足,就無法訓練高效的模型

如果整個項目涉及的數(shù)據基礎設施不足彤断,就無法快速迭代實驗

于是宰衙,訓練一個機器學習模型就不再是一個神秘的、盲目的供炼、隨機的過程。借助Bias冀墨、Variance涛贯、迭代實驗的頻率等量化數(shù)據,IT管理者和不懂技術的業(yè)務代表能更清晰地看到項目的進展含懊,整個團隊能更好地判斷接下來需要做什么:是需要嘗試更高級的神經網絡呢衅胀?還是需要想辦法獲得更多的數(shù)據酥筝?或者是需要更多的計算資源?還是需要尋找某些特定的知識和技能?這樣就避免了業(yè)務代表懷有不切實際的期望茁影、又不知道技術團隊在做什么而感到恐慌丧凤。

在下一篇文章里,我會更加具體地介紹愿待,如何借鑒Scrum和看板等敏捷方法的思路仍侥,把訓練一個機器學習模型的工作拆分成更小粒度、更易于管理的任務农渊,以及如何對機器學習項目進行可視化管理。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末传于,一起剝皮案震驚了整個濱河市醉顽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盛末,老刑警劉巖否淤,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異檐嚣,居然都是意外死亡啰扛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門鞍帝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來煞茫,“玉大人摄凡,你說我怎么就攤上這事蚓曼。” “怎么了床绪?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵其弊,是天一觀的道長。 經常有香客問我末秃,道長籽御,這世上最難降的妖魔是什么练慕? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任技掏,我火速辦了婚禮,結果婚禮上哑梳,老公的妹妹穿的比我還像新娘。我一直安慰自己悯仙,他們只是感情好吠卷,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布祭隔。 她就那樣靜靜地躺著,像睡著了一般疾渴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搔谴,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天桩撮,我揣著相機與錄音慌核,去河邊找鬼申尼。 笑死垫桂,一個胖子當著我的面吹牛,可吹牛的內容都是我干的霹粥。 我是一名探鬼主播疼鸟,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼浩淘!你這毒婦竟也來了吴攒?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤署惯,失蹤者是張志新(化名)和其女友劉穎镣隶,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體安岂,經...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年蜕依,在試婚紗的時候發(fā)現(xiàn)自己被綠了琉雳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡檐束,死狀恐怖束倍,靈堂內的尸體忽然破棺而出盟戏,到底是詐尸還是另有隱情甥桂,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布蝇摸,位于F島的核電站办陷,受9級特大地震影響,放射性物質發(fā)生泄漏啡专。R本人自食惡果不足惜制圈,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望病附。 院中可真熱鬧亥鬓,春花似錦、人聲如沸嵌戈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽庵朝。三九已至,卻和暖如春椎瘟,著一層夾襖步出監(jiān)牢的瞬間侄旬,已是汗流浹背肺蔚。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工宣羊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仇冯。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓赞枕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親炕婶。 傳聞我的和親對象是個殘疾皇子莱预,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內容

  • 本文介紹機器學習算法的性能評估的方法依沮,包括算法高偏差還是高方差的診斷,學習曲線等危喉。從工程應用的角度來講,算法只需要...
    kamidox閱讀 3,222評論 2 21
  • 交叉驗證 犀利的開頭 在機器學習中,我們用訓練數(shù)據集去訓練(學習)一個model(模型)毫深,通常的做法是定義一個Lo...
    聽風1996閱讀 22,757評論 2 21
  • 本文主要回顧下幾個常用算法的適應場景及其優(yōu)缺點哑蔫! 機器學習算法太多了,分類闸迷、回歸、聚類稿黍、推薦、圖像識別領域等等言沐,要...
    Helen_Cat閱讀 400評論 0 2
  • week6課程更多地是講解類似best practice的工程實踐。講述了實際訓練模型過程中我們會遇到的兩大類問題...
    geekpy閱讀 870評論 0 0
  • 前段時間,極少看綜藝節(jié)目的我妙痹,突然愛上了看《幻樂之城》,更確切的說怯伊,是愛看首次上綜藝節(jié)目的王菲,愛上她那種真誠判沟、純...
    薩拉閱讀 227評論 1 4