1 抽象成數(shù)學(xué)問題
明確問題是進(jìn)行機(jī)器學(xué)習(xí)的第一步旧困。機(jī)器學(xué)習(xí)的訓(xùn)練過程通常都是一件非常耗時(shí)的事情,胡亂嘗試時(shí)間成本是非常高的傻唾。
這里的抽象成數(shù)學(xué)問題湃崩,指的我們明確我們可以獲得什么樣的數(shù)據(jù),目標(biāo)是一個(gè)分類還是回歸或者是聚類的問題专挪,如果都不是的話及志,如果劃歸為其中的某類問題。
2 獲取數(shù)據(jù)
數(shù)據(jù)決定了機(jī)器學(xué)習(xí)結(jié)果的上限狈蚤,而算法只是盡可能逼近這個(gè)上限困肩。
數(shù)據(jù)要有代表性,否則必然會(huì)過擬合脆侮。
而且對(duì)于分類問題锌畸,數(shù)據(jù)偏斜不能過于嚴(yán)重,不同類別的數(shù)據(jù)數(shù)量不要有數(shù)個(gè)數(shù)量級(jí)的差距靖避。
而且還要對(duì)數(shù)據(jù)的量級(jí)有一個(gè)評(píng)估潭枣,多少個(gè)樣本,多少個(gè)特征幻捏,可以估算出其對(duì)內(nèi)存的消耗程度盆犁,判斷訓(xùn)練過程中內(nèi)存是否能夠放得下。如果放不下就得考慮改進(jìn)算法或者使用一些降維的技巧了篡九。如果數(shù)據(jù)量實(shí)在太大谐岁,那就要考慮分布式了。
3 特征預(yù)處理與特征選擇
良好的數(shù)據(jù)要能夠提取出良好的特征才能真正發(fā)揮效力。
特征預(yù)處理伊佃、數(shù)據(jù)清洗是很關(guān)鍵的步驟窜司,往往能夠使得算法的效果和性能得到顯著提高。歸一化航揉、離散化塞祈、因子化、缺失值處理帅涂、去除共線性等议薪,數(shù)據(jù)挖掘過程中很多時(shí)間就花在它們上面。這些工作簡(jiǎn)單可復(fù)制媳友,收益穩(wěn)定可預(yù)期斯议,是機(jī)器學(xué)習(xí)的基礎(chǔ)必備步驟。
篩選出顯著特征庆锦、摒棄非顯著特征捅位,需要機(jī)器學(xué)習(xí)工程師反復(fù)理解業(yè)務(wù)。這對(duì)很多結(jié)果有決定性的影響搂抒。特征選擇好了艇搀,非常簡(jiǎn)單的算法也能得出良好、穩(wěn)定的結(jié)果求晶。這需要運(yùn)用特征有效性分析的相關(guān)技術(shù)焰雕,如相關(guān)系數(shù)、卡方檢驗(yàn)芳杏、平均互信息矩屁、條件熵、后驗(yàn)概率爵赵、邏輯回歸權(quán)重等方法吝秕。
4 訓(xùn)練模型與調(diào)優(yōu)
直到這一步才用到我們上面說的算法進(jìn)行訓(xùn)練。現(xiàn)在很多算法都能夠封裝成黑盒供人使用空幻。但是真正考驗(yàn)水平的是調(diào)整這些算法的(超)參數(shù)烁峭,使得結(jié)果變得更加優(yōu)良。這需要我們對(duì)算法的原理有深入的理解秕铛。理解越深入约郁,就越能發(fā)現(xiàn)問題的癥結(jié),提出良好的調(diào)優(yōu)方案但两。
5 模型診斷
如何確定模型調(diào)優(yōu)的方向與思路呢鬓梅?這就需要對(duì)模型進(jìn)行診斷的技術(shù)。
過擬合谨湘、欠擬合 判斷是模型診斷中至關(guān)重要的一步绽快。常見的方法如交叉驗(yàn)證芥丧,繪制學(xué)習(xí)曲線等。過擬合的基本調(diào)優(yōu)思路是增加數(shù)據(jù)量坊罢,降低模型復(fù)雜度娄柳。欠擬合的基本調(diào)優(yōu)思路是提高特征數(shù)量和質(zhì)量,增加模型復(fù)雜度艘绍。
誤差分析 也是機(jī)器學(xué)習(xí)至關(guān)重要的步驟。通過觀察誤差樣本秫筏,全面分析誤差產(chǎn)生誤差的原因:是參數(shù)的問題還是算法選擇的問題诱鞠,是特征的問題還是數(shù)據(jù)本身的問題……
診斷后的模型需要進(jìn)行調(diào)優(yōu),調(diào)優(yōu)后的新模型需要重新進(jìn)行診斷这敬,這是一個(gè)反復(fù)迭代不斷逼近的過程航夺,需要不斷地嘗試, 進(jìn)而達(dá)到最優(yōu)狀態(tài)崔涂。
6 模型融合
一般來說阳掐,模型融合后都能使得效果有一定提升。而且效果很好冷蚂。
工程上缭保,主要提升算法準(zhǔn)確度的方法是分別在模型的前端(特征清洗和預(yù)處理,不同的采樣模式)與后端(模型融合)上下功夫蝙茶。因?yàn)樗麄儽容^標(biāo)準(zhǔn)可復(fù)制艺骂,效果比較穩(wěn)定。而直接調(diào)參的工作不會(huì)很多隆夯,畢竟大量數(shù)據(jù)訓(xùn)練起來太慢了钳恕,而且效果難以保證。
7 上線運(yùn)行
這一部分內(nèi)容主要跟工程實(shí)現(xiàn)的相關(guān)性比較大蹄衷。工程上是結(jié)果導(dǎo)向忧额,模型在線上運(yùn)行的效果直接決定模型的成敗。 不單純包括其準(zhǔn)確程度愧口、誤差等情況睦番,還包括其運(yùn)行的速度(時(shí)間復(fù)雜度)、資源消耗程度(空間復(fù)雜度)调卑、穩(wěn)定性是否可接受抡砂。
這些工作流程主要是工程實(shí)踐上總結(jié)出的一些經(jīng)驗(yàn)。并不是每個(gè)項(xiàng)目都包含完整的一個(gè)流程恬涧。這里的部分只是一個(gè)指導(dǎo)性的說明注益,只有大家自己多實(shí)踐,多積累項(xiàng)目經(jīng)驗(yàn)溯捆,才會(huì)有自己更深刻的認(rèn)識(shí)丑搔。