首頁人工智能技術(shù)資訊正文

簡述機器學習流程【黑馬程序員】

更新時間:2020-09-21 來源:黑馬程序員 瀏覽量:

1、抽象成數(shù)學問題

明確問題是進行機器學習的第一步。機器學習的訓練過程通常都是一件非常耗時的事情,胡亂嘗試時間成本是非常高的。

這里的抽象成數(shù)學問題,指的明確我們可以獲得什么樣的數(shù)據(jù),抽象出的問題,是一個分類還是回歸或者是聚類的問題。

2、獲取數(shù)據(jù)

數(shù)據(jù)決定了機器學習結(jié)果的上限,而算法只是盡可能逼近這個上限。

數(shù)據(jù)要有代表性,否則必然會過擬合。

而且對于分類問題,數(shù)據(jù)偏斜不能過于嚴重,不同類別的數(shù)據(jù)數(shù)量不要有數(shù)量級的差距。

而且還要對數(shù)據(jù)的量級有一個評估,多少個樣本,多少個特征,可以估算出其對內(nèi)存的消耗程度,判斷訓練過程中內(nèi)存是否能夠放得下。如果放不下就得考慮改進算法或者使用一些降維的技巧了。如果數(shù)據(jù)量實在太大,那就要考慮分布式了。

3、特征預處理與特征選擇

良好的數(shù)據(jù)要能夠提取出良好的特征才能真正發(fā)揮作用。

特征預處理、數(shù)據(jù)清洗是很關(guān)鍵的步驟,往往能夠使得算法的效果和性能得到顯著提高。歸一化、離散化、因子化、缺失值處理、去除共線性等,數(shù)據(jù)挖掘過程中很多時間就花在它們上面。這些工作簡單可復制,收益穩(wěn)定可預期,是機器學習的基礎(chǔ)必備步驟。

篩選出顯著特征、摒棄非顯著特征,需要機器學習工程師反復理解業(yè)務(wù)。這對很多結(jié)果有決定性的影響。特征選擇好了,非常簡單的算法也能得出良好、穩(wěn)定的結(jié)果。這需要運用特征有效性分析的相關(guān)技術(shù),如相關(guān)系數(shù)、卡方檢驗、平均互信息、條件熵、后驗概率、邏輯回歸權(quán)重等方法。

4、訓練模型與調(diào)優(yōu)

直到這一步才用到我們上面說的算法進行訓練?,F(xiàn)在很多算法都能夠封裝成黑盒供人使用。但是真正考驗水平的是調(diào)整這些算法的(超)參數(shù),使得結(jié)果變得更加優(yōu)良。這需要我們對算法的原理有深入的理解。理解越深入,就越能發(fā)現(xiàn)問題的癥結(jié),提出良好的調(diào)優(yōu)方案。

5、模型診斷

如何確定模型調(diào)優(yōu)的方向與思路呢?這就需要對模型進行診斷的技術(shù)。

過擬合、欠擬合 判斷是模型診斷中至關(guān)重要的一步。常見的方法如交叉驗證,繪制學習曲線等。過擬合的基本調(diào)優(yōu)思路是增加數(shù)據(jù)量,降低模型復雜度。欠擬合的基本調(diào)優(yōu)思路是提高特征數(shù)量和質(zhì)量,增加模型復雜度。

誤差分析 也是機器學習至關(guān)重要的步驟。通過觀察誤差樣本全面分析產(chǎn)生誤差的原因:是參數(shù)的問題還是算法選擇的問題,是特征的問題還是數(shù)據(jù)本身的問題……

診斷后的模型需要進行調(diào)優(yōu),調(diào)優(yōu)后的新模型需要重新進行診斷,這是一個反復迭代不斷逼近的過程,需要不斷地嘗試, 進而達到最優(yōu)狀態(tài)。

6、模型融合

一般來說,模型融合后都能使得效果有一定提升。而且效果很好。

工程上,主要提升算法準確度的方法是分別在模型的前端(特征清洗和預處理,不同的采樣模式)與后端(模型融合)上下功夫。因為他們比較標準可復制,效果比較穩(wěn)定。而直接調(diào)參的工作不會很多,畢竟大量數(shù)據(jù)訓練起來太慢了,而且效果難以保證。

7、上線運行

這一部分內(nèi)容主要跟工程實現(xiàn)的相關(guān)性比較大。工程上是結(jié)果導向,模型在線上運行的效果直接決定模型的成敗。 不單純包括其準確程度、誤差等情況,還包括其運行的速度(時間復雜度)、資源消耗程度(空間復雜度)、穩(wěn)定性是否可接受。

這些工作流程主要是工程實踐上總結(jié)出的一些經(jīng)驗。并不是每個項目都包含完整的一個流程。這里的部分只是一個指導性的說明,只有大家自己多實踐,多積累項目經(jīng)驗,才會有自己更深刻的認識。


猜你喜歡:

在無監(jiān)督學習中如何進行文件聚類?

樸素貝葉斯為什么被稱為“樸素”?

人工智能高級軟件工程師課程

分享到:
在線咨詢 我要報名
和我們在線交談!