欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python機器學習pytorch模型選擇及欠擬合和過擬合詳解

 更新時間:2021年10月11日 15:32:08   作者:Supre_yuan  
如何發(fā)現(xiàn)可以泛化的模式是機器學習的根本問題,將模型在訓練數(shù)據(jù)上過擬合得比潛在分布中更接近的現(xiàn)象稱為過擬合,用于對抗過擬合的技術(shù)稱為正則化

訓練誤差和泛化誤差

訓練誤差是指,我們的模型在訓練數(shù)據(jù)集上計算得到的誤差。
泛化誤差是指,我們將模型應(yīng)用在同樣從原始樣本的分布中抽取的無限多的數(shù)據(jù)樣本時,我們模型誤差的期望。

在實際中,我們只能通過將模型應(yīng)用于一個獨立的測試集來估計泛化誤差,該測試集由隨機選取的、未曾在訓練集中出現(xiàn)的數(shù)據(jù)樣本構(gòu)成。

模型復(fù)雜性

在本節(jié)中將重點介紹幾個傾向于影響模型泛化的因素:

可調(diào)整參數(shù)的數(shù)量。當可調(diào)整參數(shù)的數(shù)量(有時稱為自由度)很大時,模型往往更容易過擬合。參數(shù)采用的值。當權(quán)重的取值范圍較大時,模型可能更容易過擬合。訓練樣本的數(shù)量。即使模型非常簡單,也很容易過擬合只包含一兩個樣本的數(shù)據(jù)集。而過擬合一個有數(shù)百萬個樣本的數(shù)據(jù)集則需要一個極其靈活的模型。

模型選擇

在機器學習中,我們通常在評估幾個候選模型后選擇最終的模型。這個過程叫做模型的選擇。有時,需要進行比較的模型在本質(zhì)上是完全不同的(比如,決策樹與線性模型)。又有時,我們需要比較不同的超參數(shù)設(shè)置下的同一類模型。

例如,訓練多層感知機模型時,我們可能希望比較具有不同數(shù)量的隱藏層、不同數(shù)量的隱藏單元以及不同的激活函數(shù)組合的模型。為了確定候選模型的最佳模型,我們通常會使用驗證集。

驗證集

原則上,在我們確定所有的超參數(shù)之前,我們不應(yīng)該用到測試集。如果我們在模型選擇過程中使用了測試數(shù)據(jù),可能會有過擬合測試數(shù)據(jù)的風險。
如果我們過擬合了訓練數(shù)據(jù),還有在測試數(shù)據(jù)上的評估來判斷過擬合。
但是如果我們過擬合了測試數(shù)據(jù),我們又應(yīng)該怎么知道呢?

我們不能依靠測試數(shù)據(jù)進行模型選擇。也不能僅僅依靠訓練數(shù)據(jù)來選擇模型,因為我們無法估計訓練數(shù)據(jù)的泛化誤差。

解決此問題的常見做法是將我們的數(shù)據(jù)分成三份,除了訓練和測試數(shù)據(jù)集之外,還增加一個驗證數(shù)據(jù)集(validation dataset),也叫驗證集(validation set)。
但現(xiàn)實是,驗證數(shù)據(jù)和測試數(shù)據(jù)之間的界限非常模糊。在之后實際上是使用應(yīng)該被正確地稱為訓練數(shù)據(jù)和驗證數(shù)據(jù)的東西,并沒有真正的測試數(shù)據(jù)集。因此,之后的準確度都是驗證集準確度,而不是測試集準確度。

K折交叉驗證

當訓練數(shù)據(jù)稀缺時,我們甚至可能無法提供足夠的數(shù)據(jù)來構(gòu)成一個合適的驗證集。這個問題的一個流行的解決方案是采用 K K K折交叉驗證。這里,原始訓練數(shù)據(jù)被分成 K個不重疊的子集。然后執(zhí)行K次模型訓練和驗證,每次在K−1個子集上進行訓練,并在剩余的一個子集(在該輪中沒有用于訓練的子集)上進行驗證。最后,通過K次實驗的結(jié)果取平均來估計訓練和驗證誤差。

欠擬合還是過擬合?

當我們比較訓練和驗證誤差時,我們要注意兩種常見的情況。
首先,我們要注意這樣的情況:訓練誤差和驗證誤差都很嚴重,但它們之間僅有一點差距。如果模型不能降低訓練誤差,這可能意味著我們的模型過于簡單(即表達能力不足),無法捕獲我們試圖學習的模式。此外,由于我們的訓練和驗證誤差之間的泛化誤差很小,我們有理由相信可以用一個更復(fù)雜的模型降低訓練誤差。這種現(xiàn)象被稱為欠擬合。

另一方面,當我們的訓練誤差明顯低于驗證誤差時要小心,這表明嚴重的過擬合。注意,過擬合并不總是一件壞事。

我們是否過擬合或欠擬合可能取決于模型的復(fù)雜性和可用數(shù)據(jù)集的大小,這兩個點將在下面進行討論。

模型復(fù)雜性

在這里插入圖片描述

告誡多項式函數(shù)比低階多項式函數(shù)復(fù)雜得多。高階多項式的參數(shù)較多,模型函數(shù)的選擇范圍較廣。因此在固定訓練數(shù)據(jù)集的情況下,高階多項式函數(shù)相對于低階多項式的訓練誤差應(yīng)該始終更低(最壞也是相等)。事實上,當數(shù)據(jù)樣本包含了 x的不同取值時,函數(shù)階數(shù)等于數(shù)據(jù)樣本數(shù)量的多項式函數(shù)可以完美擬合訓練集。在下圖中,我們直觀地描述了多項式的階數(shù)和欠擬合與過擬合之間的關(guān)系。

在這里插入圖片描述

數(shù)據(jù)集大小

訓練數(shù)據(jù)集中的樣本越少,我們就越可能(且更嚴重地)遇到過擬合。隨著訓練數(shù)據(jù)量的增加,泛化誤差通常會減小。此外,一般來說,更多的數(shù)據(jù)不會有什么壞處。

以上就是Python機器學習pytorch模型選擇及欠擬合和過擬合詳解的詳細內(nèi)容,更多關(guān)于pytorch模型選擇及欠擬合和過擬合的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 解決jupyter運行pyqt代碼內(nèi)核重啟的問題

    解決jupyter運行pyqt代碼內(nèi)核重啟的問題

    這篇文章主要介紹了解決jupyter運行pyqt代碼內(nèi)核重啟的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python Numpy之linspace用法說明

    Python Numpy之linspace用法說明

    這篇文章主要介紹了Python Numpy之linspace用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Python基于Tkinter的HelloWorld入門實例

    Python基于Tkinter的HelloWorld入門實例

    這篇文章主要介紹了Python基于Tkinter的HelloWorld入門實例,以一個簡單實例分析了Python中Tkinter模塊的使用技巧,需要的朋友可以參考下
    2015-06-06
  • Python將圖片轉(zhuǎn)為漫畫風格的示例

    Python將圖片轉(zhuǎn)為漫畫風格的示例

    本文主要介紹了Python將圖片轉(zhuǎn)為漫畫風格的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • Python中re.findall()用法詳解

    Python中re.findall()用法詳解

    本文主要介紹了Python中re.findall()用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • python爬取淘寶商品詳情頁數(shù)據(jù)

    python爬取淘寶商品詳情頁數(shù)據(jù)

    這篇文章主要為大家詳細介紹了python爬取淘寶商品詳情頁數(shù)據(jù)的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python實現(xiàn)求取表格文件某個區(qū)域內(nèi)單元格的最大值

    Python實現(xiàn)求取表格文件某個區(qū)域內(nèi)單元格的最大值

    這篇文章主要介紹基于Python語言,基于Excel表格文件內(nèi)某一列的數(shù)據(jù),計算這一列數(shù)據(jù)在每一個指定數(shù)量的行的范圍內(nèi)(例如每一個4行的范圍內(nèi))的區(qū)間最大值的方法,需要的朋友可以參考下
    2023-08-08
  • opencv調(diào)用yolov3模型深度學習目標檢測實例詳解

    opencv調(diào)用yolov3模型深度學習目標檢測實例詳解

    這篇文章主要為大家介紹了opencv調(diào)用yolov3模型深度學習目標檢測實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 基于OpenCV實現(xiàn)小型的圖像數(shù)據(jù)庫檢索功能

    基于OpenCV實現(xiàn)小型的圖像數(shù)據(jù)庫檢索功能

    下面就使用VLAD表示圖像,實現(xiàn)一個小型的圖像數(shù)據(jù)庫的檢索程序。下面實現(xiàn)需要的功能模塊,分步驟給大家介紹的非常詳細,對OpenCV圖像數(shù)據(jù)庫檢索功能感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • python人工智能算法之人工神經(jīng)網(wǎng)絡(luò)

    python人工智能算法之人工神經(jīng)網(wǎng)絡(luò)

    這篇文章主要為大家介紹了python人工智能算法之人工神經(jīng)網(wǎng)絡(luò)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03

最新評論