上一講中主要描述了機器學習特徵工程的基本流程,其內容在這裏:機器學習(一)特徵工程的基本流程html
本次主要說明以下:網絡
1)數據處理:此部分已經在上一節中詳細討論機器學習
2)特徵工程:此部分已經在上一節中詳細討論函數
3)模型選擇工具
4)交叉驗證性能
5)尋找最佳超參數學習
首先看下總圖:測試
1)交叉驗證spa
2)K折交叉驗證:htm
在Python中有這樣的函數用於在交叉驗證過程當中對參數的選擇
a. 過擬合:過擬合(overfitting)是指在模型參數擬合過程當中的問題,因爲訓練數據包含抽樣偏差,訓練時,複雜的模型將抽樣偏差也考慮在內,將抽樣偏差也進行了很好的擬合。
b. 欠擬合 :模型在訓練過程當中沒有訓練充分,致使模型很好的表現出數據原有性質。
模型狀態驗證工具:學習曲線
經過在給定訓練樣本增長的時候,測試機和訓練集中準確率的變化趨勢能夠看到如今模型的狀態。
怎麼防止過擬合呢?
a)從數據源頭採集更多數據
b) 經過必定規則擴充數據集,如加入隨機噪聲,圖的旋轉平移縮放
c) 採樣技術
怎樣防止欠擬合? (通常不多出現)
1)線下模型權重分析:線性或者線性kernel的model
2)對權重絕對值高/低的特徵
3) Bad-case分析
分類問題
迴歸問題
1)平均法
1. 簡單平均法(simple averaging)
2. 加權平均法(weighted averaging)
注意:必須使用非負權重才能確保集成性能優於單一最佳個體學習器,所以在集成學習中通常對學習器的權重法以非負約束。
簡單平均法實際上是加權平均法令w=1/T的特例。集成學習中的各類結合方法其實均可以視爲加權平均法的特例或變體。加權平均法的權重通常是從訓練數據中學習而得。因爲現實任務中樣本不充分或存在噪聲,使得學得的權重不徹底可靠,有時加權平均法未必必定優於簡單平均法。
2)投票法
對分類任務來講,最多見的結合策略使用投票法
1. 絕對多數投票法(majority voting):即若某標記得票過半數,則預測爲該標記;不然拒絕預測
2. 相對多數投票法(plurality voting):即預測爲得票最多的標記,若同時有多個標記獲最高票,則從中隨機選取一個。
3. 加權投票法(weighted voting):絕對多數投票法在可靠性要求較高的學習任務中是一個很好的機制,若必須提供結果,則使用相對多數投票法。
以上兩種不能混用,若基學習器產生分類置信度,例如支持向量機的分類間隔值,需使用一些技術如Platt縮放、等分迴歸、等進行校準後才能做爲類機率使用。若基學習器的類型不一樣,則其類機率值不能直接進行比較,可將類機率輸出轉化爲類標記輸出而後再投票。
3)Stacking:Stacking方法是指訓練一個模型用於組合其餘各個模型。首先咱們先訓練多個不一樣的模型,而後把以前訓練的各個模型的輸出爲輸入來訓練一個模型,以獲得一個最終的輸出。理論上,Stacking能夠表示上面提到的兩種Ensemble方法,只要咱們採用合適的模型組合策略便可。但在實際中,咱們一般使用logistic迴歸做爲組合策略。
關於集成學習這裏也有更詳細的描述:集成學習
參考