以“點(diǎn)一份披薩外賣”為例:了解機(jī)器學(xué)習(xí)工作流程

1 評(píng)論 4990 瀏覽 8 收藏 8 分鐘

我們有沒有想過在點(diǎn)一份外賣的背后,有哪些工作流程呢?

想象一下你點(diǎn)了一份披薩外賣,過了一會(huì)兒美味熱騰騰的披薩就送到家門口了。

你有沒有想過從下單點(diǎn)外賣到披薩送過來當(dāng)中的工作流程呢?我指的是完成的工作流程,包括從種下披薩上的西紅柿到外賣騎手送單到你的樓下。其實(shí)這一系列過程與與機(jī)器學(xué)習(xí)工作流程并沒有什么不同,不妨讓我們來看看。

1. 播種

農(nóng)民播種的種子之后會(huì)長(zhǎng)為披薩的配料,比如:西紅柿等。

這相當(dāng)于數(shù)據(jù)生成過程,例如:用戶操作、移動(dòng)、觸發(fā)傳感器等。

2. 收獲

接著到了收獲的時(shí)節(jié),也就是蔬菜或水果成熟的時(shí)候。

這相當(dāng)于數(shù)據(jù)收集,也就是瀏覽器或傳感器將用戶操作或觸發(fā)傳感器的事件轉(zhuǎn)換為實(shí)際數(shù)據(jù)。

3. 運(yùn)輸

收獲后,產(chǎn)品會(huì)被運(yùn)到目的地,作為披薩中的原料。

這相當(dāng)于將數(shù)據(jù)提取到存儲(chǔ)庫中,以便之后從中獲取數(shù)據(jù)庫,如數(shù)據(jù)庫或數(shù)據(jù)湖。

4. 選擇廚具和設(shè)備

每種原料都需要適合的用具來處理。如果要切片,就用刀;如果要攪拌,就用勺子。設(shè)備方面也是如此,如果要烤,就用烤箱;如果要炒,就用爐子,你還可以使微波爐等更復(fù)雜的設(shè)備。

在機(jī)器學(xué)習(xí)中,廚具是用于預(yù)處理數(shù)據(jù)的技術(shù),而設(shè)備就相當(dāng)于線性回歸、隨機(jī)森林等算法。你也可以使用微波爐等復(fù)雜的設(shè)備,這也就相當(dāng)于深度學(xué)習(xí)。當(dāng)中不同的就是超參數(shù),在簡(jiǎn)單的設(shè)備(算法)中只有少數(shù)參數(shù)。而復(fù)雜設(shè)備(算法)中,涉及到的參數(shù)更多,但這并不意味著復(fù)雜的算法就能提供更好的性能。因此,你需要明智地選擇算法。

5. 選擇菜譜

僅有原料和用具是不夠的。你還需要菜譜,當(dāng)中包括你準(zhǔn)備這道菜的所有步驟。

這就是模型,記住模型與算法不同,模型包括所有算法需要的預(yù)處理和之后的處理過程。

6. 準(zhǔn)備配料

我敢打賭,大多數(shù)菜譜的第一條指令都是:“切片”,削皮等等。而不是洗蔬菜等,因?yàn)檫@是理所當(dāng)然的,沒人想吃沒洗的蔬菜。

同樣,數(shù)據(jù)也是如此,沒有人想要臟數(shù)據(jù)。你必須清理數(shù)據(jù),即處理缺失值和異常值。然后需要進(jìn)行削皮和切片,也就是進(jìn)行預(yù)處理,對(duì)變量進(jìn)行分類(例如:男性或女性)編碼為數(shù)字變量(0或1)。

沒有人喜歡清洗這個(gè)部分,無論是數(shù)據(jù)科學(xué)家還是廚師。

7. 特別準(zhǔn)備

有時(shí)你可以用原料來創(chuàng)新,以達(dá)到更好的品味或更復(fù)雜的表現(xiàn)。你可以將牛排風(fēng)干獲得不同的風(fēng)味,或者將胡蘿卜削成玫瑰的形狀作為裝飾。

這就是特征工程。這是一個(gè)重要的步驟,如果完成得好能夠顯著提高模型的性能。

幾乎每個(gè)數(shù)據(jù)科學(xué)家都喜歡這個(gè)環(huán)節(jié),我猜廚師們也是如此。

8. 烹飪

這是最重要的步驟,如果不開火炒菜一切都是徒勞。你將準(zhǔn)備好的配料放入炊具中,調(diào)節(jié)油溫等等。

這就模型訓(xùn)練的環(huán)節(jié)。你將數(shù)據(jù)提供給算法,調(diào)整其超參數(shù)并等待一段時(shí)間再重新檢查。

9. 嘗一嘗

即使你嚴(yán)格按照菜譜來做菜,你也不能保證一切都是完全正確的。那么,怎么知道你是否做對(duì)了?品嘗它!如果不好你可以添加更多鹽來調(diào)味。或者調(diào)解下火力,繼續(xù)烹飪。

但有時(shí)披薩會(huì)燒糊,或者味道糟糕到難以挽救。那么只能扔進(jìn)垃圾箱,吸取教訓(xùn)并重新開始。堅(jiān)持不懈加上一點(diǎn)點(diǎn)運(yùn)氣就能做出美味的披薩。

品嘗就是評(píng)估過程。你需要評(píng)估模型,檢查它是否運(yùn)行正常。如果沒有,你需要添加更多特征,還可以更改超參數(shù),但你繼續(xù)訓(xùn)練!

不幸的是,有時(shí)你的模型不會(huì)得出合適的解決方案,或者做出錯(cuò)誤的預(yù)測(cè),沒有任何辦法修改和挽救。那么這時(shí)你只能放棄這個(gè)模型,從中吸取教訓(xùn)然后重新開始。

堅(jiān)持不懈和一點(diǎn)點(diǎn)運(yùn)氣將會(huì)產(chǎn)生一個(gè)高性能的模型。

10. 送餐

在廚師看來,他的工作已經(jīng)完成了,做好了一道美味的披薩。但是,如果披薩沒有及時(shí)送到顧客的手中也是不成功的。

披薩做好后必須立即包裝,保持溫度,及時(shí)送給顧客。如果外賣騎手沒有到達(dá)目的地,或在途中丟失了披薩,或者把披薩顛簸得面目全非,之前所有的功夫都將是徒勞的。

送餐就相當(dāng)于部署。不是部署披薩,而是預(yù)測(cè)。預(yù)測(cè)必須好好包裝,不是用餐盒,而是包裝成數(shù)據(jù)產(chǎn)品,因此才能送到用戶手里。如果這個(gè)流程出了問題,中間崩潰了或者預(yù)測(cè)發(fā)生了變動(dòng),那么前面花費(fèi)力氣所做的模型訓(xùn)練和驗(yàn)證工作也就沒有價(jià)值了。

結(jié)語

就是這樣,機(jī)器學(xué)習(xí)就像點(diǎn)外賣一樣,當(dāng)中需要許多人參與,合作付出努力,但最終結(jié)果都很美味!

總結(jié)幾個(gè)要點(diǎn):

  1. 如果原料有問題,菜品也會(huì)有問題。沒有任何菜譜或炊具能解決這個(gè)問題。
  2. 如果你是廚師,那不要忘了,如果沒有送餐這一步,烹飪就沒有意義,因?yàn)闆]有人會(huì)品嘗到美味的食物 ;
  3. 如果你是餐館老板,不要強(qiáng)迫你的廚師使用某種炊具或設(shè)備,有時(shí)微波爐并不是最好的選擇。如果讓廚師花大量的時(shí)間在清洗和切食材上,這也會(huì)讓廚師很不開心。

好了不說了,去點(diǎn)披薩吃了。

 

作者:Daniel Godoy

翻譯:Mika

本文由 @Mika 翻譯發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 來來來

    回復(fù)