天天看點

day03-誤差與梯度下降心得體會知識解析問題闡述

目錄

  • 心得體會
  • 知識解析
    • 一、過拟合與欠拟合
      • (1)什麼是欠拟合?
        • 如何解決欠拟合?
      • (2)什麼是過拟合?
        • 為什麼會出現過拟合現象?
        • 如何防止過拟合?
    • 二、梯度下降法
      • (1)基本思想
  • 問題闡述
    • 為什麼用比較簡單的模型,方差是比較小

心得體會

李宏毅老師的講課幽默風趣,舉了寶可夢的例子幫助了解,帶入其中來解決實際問題。主要學習了誤差與梯度下降,介紹了神經網絡訓練過程中的誤差是如何産生的(bias、var),兩種誤差産生的原因。也介紹了訓練模型時如何提高學習的效率,如何更新鞍點和局部極小值點。最後是梯度下降法本身的局限性。

在這裡感謝datawhale開源社群的小夥伴們給予的學習幫助,今後的學習也要一樣加油呀

提示:以下是本篇文章正文内容

知識解析

一、過拟合與欠拟合

day03-誤差與梯度下降心得體會知識解析問題闡述

(1)什麼是欠拟合?

欠拟合是指模型不能在訓練集上獲得足夠低的誤差。換句換說,就是模型複雜度低,模型在訓練集上就表現很差,沒法學習到資料背後的規律。

如何解決欠拟合?

欠拟合基本上都會發生在訓練剛開始的時候,經過不斷訓練之後欠拟合應該不怎麼考慮了。但是如果真的還是存在的話,可以通過增加網絡複雜度或者在模型中增加特征,這些都是很好解決欠拟合的方法。

(2)什麼是過拟合?

過拟合是指訓練誤差和測試誤差之間的差距太大。換句換說,就是模型複雜度高于實際問題,模型在訓練集上表現很好,但在測試集上卻表現很差。模型對訓練集"死記硬背"(記住了不适用于測試集的訓練集性質或特點),沒有了解資料背後的規律,泛化能力差。

day03-誤差與梯度下降心得體會知識解析問題闡述

為什麼會出現過拟合現象?

造成原因主要有以下幾種:

1、訓練資料集樣本單一,樣本不足。如果訓練樣本隻有負樣本,然後那生成的模型去預測正樣本,這肯定預測不準。是以訓練樣本要盡可能的全面,覆寫所有的資料類型。

2、訓練資料中噪聲幹擾過大。噪聲指訓練資料中的幹擾資料。過多的幹擾會導緻記錄了很多噪聲特征,忽略了真實輸入和輸出之間的關系。

3、模型過于複雜。模型太複雜,已經能夠“死記硬背”記下了訓練資料的資訊,但是遇到沒有見過的資料的時候不能夠變通,泛化能力太差。我們希望模型對不同的模型都有穩定的輸出。模型太複雜是過拟合的重要因素。

如何防止過拟合?

  • 擷取和使用更多的資料(資料集增強)——解決過拟合的根本性方法
  • 采用合适的模型(控制模型的複雜度)
  • 降低特征的數量
  • L1 / L2 正則化
  • Dropout
  • Early stopping(提前終止)

二、梯度下降法

(1)基本思想

梯度下降法的基本思想可以類比為一個下山的過程。假設這樣一個場景:一個人被困在山上,需要從山上下來(i.e. 找到山的最低點,也就是山谷)。但此時山上的濃霧很大,導緻可視度很低。是以,下山的路徑就無法确定,他必須利用自己周圍的資訊去找到下山的路徑。這個時候,他就可以利用梯度下降算法來幫助自己下山。具體來說就是,以他目前的所處的位置為基準,尋找這個位置最陡峭的地方,然後朝着山的高度下降的地方走,同理,如果我們的目标是上山,也就是爬到山頂,那麼此時應該是朝着最陡峭的方向往上走。然後每走一段距離,都反複采用同一個方法,最後就能成功的抵達山谷。

day03-誤差與梯度下降心得體會知識解析問題闡述

我們同時可以假設這座山最陡峭的地方是無法通過肉眼立馬觀察出來的,而是需要一個複雜的工具來測量,同時,這個人此時正好擁有測量出最陡峭方向的能力。是以,此人每走一段距離,都需要一段時間來測量所在位置最陡峭的方向,這是比較耗時的。那麼為了在太陽下山之前到達山底,就要盡可能的減少測量方向的次數。這是一個兩難的選擇,如果測量的頻繁,可以保證下山的方向是絕對正确的,但又非常耗時,如果測量的過少,又有偏離軌道的風險。是以需要找到一個合适的測量方向的頻率,來確定下山的方向不錯誤,同時又不至于耗時太多!

首先,我們有一個可微分的函數。這個函數就代表着一座山。我們的目标就是找到這個函數的最小值,也就是山底。根據之前的場景假設,最快的下山的方式就是找到目前位置最陡峭的方向,然後沿着此方向向下走,對應到函數中,就是找到給定點的梯度 ,然後朝着梯度相反的方向,就能讓函數值下降的最快!因為梯度的方向就是函數之變化最快的方向(在後面會詳細解釋)

是以,我們重複利用這個方法,反複求取梯度,最後就能到達局部的最小值,這就類似于我們下山的過程。而求取梯度就确定了最陡峭的方向,也就是場景中測量方向的手段。

問題闡述

為什麼用比較簡單的模型,方差是比較小

day03-誤差與梯度下降心得體會知識解析問題闡述

因為簡單的模型拟合能力不如複雜模型,是以對一些偏差較大的值不太敏感,受到不同訓練集的影響是比較小的。

參考資料:

過拟合與欠拟合:https://zhuanlan.zhihu.com/p/72038532

梯度下降法:https://www.jianshu.com/p/c7e642877b0e

機器學習視訊:https://www.bilibili.com/video/BV1Ht411g7Ef

繼續閱讀