最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

訓練誤差和泛化誤差

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

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

模型復雜性

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

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

模型選擇

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

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

驗證集

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

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

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

K折交叉驗證

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

欠擬合還是過擬合?

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

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

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

模型復雜性

在這里插入圖片描述

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

在這里插入圖片描述

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

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

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

相關文章

  • python taipy庫輕松地將數(shù)據(jù)和機器學習模型轉為功能性Web應用

    python taipy庫輕松地將數(shù)據(jù)和機器學習模型轉為功能性Web應用

    taipy 是一個開源的 Python 庫,任何具有基本 Python 技能的人都可以使用,對于數(shù)據(jù)科學家、機器學習工程師和 Python 程序員來說,它是一個方便的工具,借助 Taipy,你可以輕松地將數(shù)據(jù)和機器學習模型轉變?yōu)楣δ苄缘?nbsp;Web 應用程序
    2024-01-01
  • python環(huán)境功能強大的pip-audit安全漏洞掃描工具

    python環(huán)境功能強大的pip-audit安全漏洞掃描工具

    這篇文章主要為大家介紹了python環(huán)境中功能強大的pip-audit安全漏洞掃描工具的功能介紹及安裝使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-02-02
  • python實現(xiàn)bucket排序算法實例分析

    python實現(xiàn)bucket排序算法實例分析

    這篇文章主要介紹了python實現(xiàn)bucket排序算法,實例分析了Python排序的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • Python模塊的加載講解

    Python模塊的加載講解

    今天小編就為大家分享一篇關于Python模塊的加載講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 淺析PEP572: 海象運算符

    淺析PEP572: 海象運算符

    PEP572的標題是「Assignment Expressions」,也就是「賦值表達式」,也叫做「命名表達式」,不過它現(xiàn)在被廣泛的別名是「海象運算符」(The Walrus Operator)
    2019-10-10
  • python實現(xiàn)簡單俄羅斯方塊游戲

    python實現(xiàn)簡單俄羅斯方塊游戲

    這篇文章主要為大家詳細介紹了python實現(xiàn)簡單俄羅斯方塊游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python3 tkinter實現(xiàn)添加圖片和文本

    python3 tkinter實現(xiàn)添加圖片和文本

    這篇文章主要為大家詳細介紹了python3 tkinter實現(xiàn)添加圖片和文本,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 使用Python-pptx?告別繁瑣的幻燈片制作

    使用Python-pptx?告別繁瑣的幻燈片制作

    這篇文章主要介紹了使用Python-pptx?告別繁瑣的幻燈片制作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python樹狀打印項目路徑的實現(xiàn)

    python樹狀打印項目路徑的實現(xiàn)

    在Python中,要打印當前路徑,可以使用os模塊中的getcwd()函數(shù),本文主要介紹了python樹狀打印項目路徑,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • 命令行傳遞參數(shù)argparse.ArgumentParser的使用解析

    命令行傳遞參數(shù)argparse.ArgumentParser的使用解析

    這篇文章主要介紹了命令行傳遞參數(shù)argparse.ArgumentParser的使用解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論

牡丹江市| 陆丰市| 依兰县| 冕宁县| 乌鲁木齐县| 揭阳市| 金坛市| 芜湖市| 阳新县| 灵璧县| 广饶县| 惠安县| 呼伦贝尔市| 白河县| 凤庆县| 宁陵县| 龙南县| 屏山县| 岳西县| 浪卡子县| 邯郸县| 克东县| 巫山县| 枣强县| 那曲县| 黔南| 陈巴尔虎旗| 金平| 孟津县| 思南县| 徐水县| 庆安县| 宜都市| 贵阳市| 双辽市| 珠海市| 永仁县| 延津县| 高雄市| 双辽市| 溧阳市|