1. 程式人生 > >機器學習深入與強化--工作流程與模型優化

機器學習深入與強化--工作流程與模型優化

實際建模之前,需要做資料的處理,首先是資料清洗,2點,然後是資料取樣,因為大部分模型對正負樣本的比例都十分敏感。
之後非常重要的就是特徵工程,它包括特徵處理和特徵選擇兩部分,首先是特徵處理,針對不同型別的特徵值進行處理。特徵選擇包括
過濾型、包裹型和內嵌型,過濾型考慮單個特徵與y值之間的相關度,挑選最相關的特徵留下來。包裹型是指逐步取特徵的子集,在子集上跑演算法,看效果是否比在特徵全集上好,比如準確率,比如AUC,效果差不多甚至好的話,說明踢掉的特徵
是無用的特徵,直到滿足預先設定的特徵數量百分比,或者達到了AUC、準確率的標準,即可停止演算法。嵌入型主要基於模型,基於L1正則化,具有截斷的作用,當特徵很多的時候,使用L1正則化拿到的結果中,對於沒有作用的特徵,它的權重會變為0。






交叉驗證:k折交叉驗證,資料分為k+1部分,前k折分別用於做模型選擇,最後1折做驗證集。前k折中,選擇k-1折做訓練集,選1折做交叉驗證集(CV),經過一輪選擇後,計算出相應的評價指標,比如準確率;之後再進行一輪,選1折做交叉驗證集,剩下k折做測試集。
經過k輪之後,計算每個模型的平均評價指標,選出最好的模型。(交叉驗證可以用於模型選擇,但一般情況下多用於選擇引數)


C:正則化的係數,C太小,弱化了正則化的效果,容易導致過擬合,C比較合適的話是一個比較圓滑的曲線,將正負樣本分割的差不多,C如果太大,導致做梯度下降時,最小化的是正則化那部分引數,而不是前面標準的損失函式部分,模型準確度會降低。


模型狀態:過擬合和欠擬合


評定模型狀態:x-->不同量的訓練樣本 y-->準確度  兩條直線:訓練集和驗證集
              欠擬合時,兩個資料集的準確率都不高,到最後,兩條曲線逐漸貼近
              過擬合時,訓練集準確度高,隨著樣本增多,訓練集曲線會逐漸下降,因為資料越多越複雜,全部擬合越困難,但下降的幅度不會很大,但在驗證集上,樣本少的時候,比較隨機,準確度不高,隨著樣本增多,擬合狀態逐漸變好,但二者之間準確率永遠存在差距。








全部的資料做訓練,發現過擬合了,可以看到,圖中某些區域只有一個紅色的點,但為了遷就著一個點,開出了這麼大一塊紅色區域。很容易受到干擾值干擾。
運用Bagging演算法,使用五棵樹分別做分類,最後投票決定。



符號變大了,就是要多給它一些權重,重視他


每次調整樣本的權重,都得到了一個分類器,最後對這些分類器的結果進行疊加,如線性組合,得出最終的結果,這些分類器原本均為線性分類器,但組合之後就變成了非線性分類器了。




紅:預測值
綠:差值
預測值疊加差值,不斷根據差值進行調整,逼近真實值。