模型評估與風險控制 python大戰機器學習——模型評估、選擇與驗證

python大戰機器學習——模型評估、選擇與驗證

 

一、損失函數和風險函數html

(1)損失函數:常見的有 0-1損失函數  絕對損失函數  平方損失函數  對數損失函數python

(2)風險函數:損失函數的指望      經驗風險:模型在數據集T上的平均損失機器學習

  根據大數定律,當N趨向於∞時,經驗風險趨向於風險函數函數

二、模型評估方法post

(1)訓練偏差與測試偏差性能

  訓練偏差:關於訓練集的平均損失學習

  測試偏差:定義模型關於測試集的平均損失。其反映了學習方法對未知測試數據集的預測能力測試

(2)泛化偏差:學到的模型對未知數據的預測能力。其越小,該模型越有效。泛化偏差定義爲所學習模型的指望風險url

(3)過擬合:對已知數據預測得很好,對未知數據預測得不好的現象。緣由是將訓練樣本自己的一些特色當作了全部潛在樣本都具備的通常性質,這會形成泛化能力的降低。經常使用的防止過擬合的辦法爲正則化。正則化是基於結構化風險最小化策略的實現。htm

三、模型評估

(1)留出法:直接將數據劃分爲三個互斥的部分,而後在訓練集上訓練模型,在驗證集上選擇模型,最後用測試集上的偏差做爲泛化偏差的估計。

(2)交叉驗證法(S折交叉驗證法):數據隨機劃分爲S個互不相交且大小相同的子集,利用S-1個子集數據訓練模型,利用餘下的一個子集測試模型。對S種組合依次重複進行,獲取測試偏差的均值。

(3)留一法:留出一個樣例做爲測試集。其缺點就是當數據集比較大時計算量太大

(4)自助法:先從T中隨機取出一個樣本放入採樣集TS中,再把該樣本放回T中。通過N次隨機採樣操做,獲得包含N個樣本的採樣集TS。將TS用做訓練集,T-TS用過測試集。

四、性能度量

(1)測試準確率和測試錯誤率

(2)混淆矩陣

  查準率:P=TP/(TP+FP)  ,即全部預測爲正類的結果中,真正的正類的比例

  查全率:R=TP/(TP+FN),即正真的正類中,被分類器找出來的比例

  不一樣的問題中,判別標準不一樣。對於推薦系統,更側重於查準率(即推薦的結果中,用戶真正感興趣的比例);對於醫學診斷系統,更側重於查全率(即疾病被發現的比例)

  2/F1=1/P+1/R

五、ROC曲線

  真正例率:TPR=TP/(TP+FN)

  假正例率:FPR=FP/(TN+FP),刻畫的是分類器錯認爲正類的負實例佔全部負實例的比例

  以真正例率爲縱軸、假正例率爲橫軸做圖,就獲得ROC曲線。在ROC圖中,對角線對應於隨機猜測模型。點(0,1)對應於理想模型。一般ROC曲線越靠近點(0,1)越好。

六、誤差方差分解

代碼以下:

相關文章
相關標籤/搜索