機器學習實踐(十三)—sklearn之欠擬合與過擬合

當訓練數據訓練的很好誤差也不大的時候,爲什麼在測試集上面進行預測會有較大偏差呢?

當算法在某個數據集當中出現這種情況,可能就出現了過擬合現象。

一、什麼是過擬合與欠擬合

  • 欠擬合

    一個假設在訓練數據上不能獲得更好的擬合,並且在測試數據集上也不能很好地擬合數據,此時認爲這個假設出現了欠擬合的現象。(模型過於簡單)

  • 過擬合

    一個假設在訓練數據上能夠獲得比其他假設更好的擬合, 但是在測試數據集上卻不能很好地擬合數據,此時認爲這個假設出現了過擬合的現象。(模型過於複雜)

二、原因以及解決辦法

  • 原因

    • 欠擬合原因:

      • 學習到數據的特徵過少
      • 模型複雜度較低
      • 正則化係數過大
    • 過擬合原因:

      • 訓練數據過少
      • 原始特徵過多
      • 模型過於複雜
      • 正則化係數過小
  • 解決辦法

    幾種降低過擬合和欠擬合風險的方法

三、正則化

  • 什麼是正則化

    在學習的時候,數據提供的特徵有些影響模型複雜度或者這個特徵的數據點異常較多,所以算法在學習的時候儘量減少這個特徵的影響(甚至刪除某個特徵的影響),這就是正則化

    注:調整時候,算法並不知道某個特徵影響,而是去調整參數得出優化的結果

  • 正則化類別

    • L2 正則化
      • 作用:可以使得其中一些W的都很小,都接近於 0,削弱某個特徵的影響
      • 優點:越小的參數說明模型越簡單,越簡單的模型則越不容易產生過擬合現象
      • Ridge迴歸(嶺迴歸)
    • L1 正則化
      • 作用:可以使得其中一些W的值直接爲 0,刪除這個特徵的影響
      • LASSO迴歸(稀疏)
  • 原理

    • 線性迴歸的損失函數用最小二乘法,等價於當預測值與真實值的誤差滿足正態分佈時的極大似然估計;

    • 嶺迴歸的損失函數,是最小二乘法+L2範數,等價於當預測值與真實值的誤差滿足正態分佈,且權重值也滿足正態分佈(先驗分佈)時的最大後驗估計;

    • LASSO的損失函數,是最小二乘法+L1範數,等價於當預測值與真實值的誤差滿足正態分佈,且權重值滿足拉普拉斯分佈(先驗分佈)時的最大後驗估計

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章