亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                AI課堂第9講:DL深度學習-模型欠擬合和過擬合問題分析

                AI課堂第9講:DL深度學習-模型欠擬合和過擬合問題分析

                #我在頭條搞創(chuàng)作#

                上節(jié)課我們講了MLP在MNIST數(shù)據(jù)集上的分類應用,我們在構建模型時涉及到的模型結構和超參數(shù)可以自行更改去驗證更好的模型效果。我們在實驗過程中常會出現(xiàn)一種情況:模型在訓練數(shù)據(jù)集上效果很好,但是在測試數(shù)據(jù)集上效果一般或者比較差,這種現(xiàn)象被稱為——過擬合(overfitting)。

                與過擬合相對應的是欠擬合(underfitting),我們常用訓練誤差(training error)和泛化誤差(generalization error)區(qū)分兩者,誤差由損失函數(shù)計算所得(比如前面講的線性回歸用到的平方損失函數(shù)和 softmax 回歸用到的交叉熵損失函數(shù))。

                即訓練數(shù)據(jù)集表現(xiàn)得好,不代表實際測試數(shù)據(jù)集就一定表現(xiàn)好。因此,模型在訓練選擇時應更多地關注如何降低泛化誤差,提高泛化能力。

                模型選擇

                我們在訓練前需要確定超參數(shù)和模型參數(shù),過程中通過多次epoch來達到較好的訓練效果,每個epoch對應一個模型文件,那么如何選擇最佳的模型和設置超參數(shù)呢?此時需要驗證數(shù)據(jù)集(validation data set)輔助判斷,因為理論上,我們之前用的測試集只能在所有超參數(shù)和模型參數(shù)確定后使用一次,因此引入了驗證集。驗證集一般是從訓練集中隨機選取一部分作為驗證集。

                訓練集、驗證集和測試集比例一般是6:2:2。

                即驗證集可以輔助我們選擇誤差較小的模型文件。

                過擬合VS欠擬合

                欠擬合

                欠擬合可理解為模型對訓練數(shù)據(jù)的特征提取不充分,沒有學習到數(shù)據(jù)背后的規(guī)律,或者評判標準過于寬松,導致模型在測試數(shù)據(jù)集上無法做出正確判斷。表現(xiàn)為:訓練誤差和泛化誤差都相對較高。

                樣本特征較少、模型復雜度較低時,對樣本的特征提取不夠充分,就可能導致欠擬合問題。

                過擬合

                過擬合可理解為模型對特征信息提取過多,把數(shù)據(jù)噪聲當作規(guī)律學習,評判標準過于嚴格。表現(xiàn)為:訓練誤差低,泛化誤差高。

                當數(shù)據(jù)集質量不高、噪聲較大、訓練樣本數(shù)較少,或是模型復雜度較高、參數(shù)過多,就會導致學習到的特征并不普遍適用,模型高度擬合訓練數(shù)據(jù),出現(xiàn)過擬合問題。

                過擬合與欠擬合比喻圖解

                這兩種擬合問題是所有深度學習從事人員“深惡痛絕”的問題,打個比喻,某同學平時學習認真,模擬考試成績也很好,但是期末考試成績卻很難保證會一樣好或者更好??陀^原因一般是試卷難或者是平時模擬試卷做的少導致一些題型沒遇到。

                類比到深度學習模型擬合問題的導致因素主要有兩方面:模型復雜度(試卷難)和訓練數(shù)據(jù)集大?。ㄆ綍r學習的題型少)。

                模型復雜度

                為了模擬過擬合和欠擬合兩種現(xiàn)象,我們選擇一個復雜的模型和一個簡單的模型來測試。

                高復雜度模型選擇高階多項式函數(shù)

                低復雜度模型選擇低階多項式函數(shù):一階多項式函數(shù)又稱為線性函數(shù):y=wx+b

                上面兩個模型函數(shù)均采用平方損失函數(shù)來擬合模型。

                給定訓練數(shù)據(jù)集,如果模型的復雜度過低,很容易出現(xiàn)欠擬合;如果模型復雜度過高,很容易出現(xiàn)過擬合。應對擬合和過擬合的個辦法是針對數(shù)據(jù)集選擇合適復雜度的模型。

                訓練數(shù)據(jù)集

                影響欠擬合和過擬合的另一個重要因素是訓練數(shù)據(jù)集的大小。一般來說,如果訓練數(shù)據(jù)集中樣本數(shù)過少,特別是模型參數(shù)數(shù)量(按元素計)更少時,過擬合更容易發(fā)生。隨著我們增加訓練數(shù)據(jù)量,泛化誤差通常會減少。因此,在硬件允許的情況下應盡可能增加訓練數(shù)據(jù)集,特別是當模型復雜度較高時。

                實驗過程展示如下(基于Pytorch):

                我們將生成一個人工數(shù)據(jù)集。在訓練數(shù)據(jù)集和測試數(shù)據(jù)集中,給定樣本特征x,我們使用如下的三階多項式函數(shù)來生成該樣本的標簽

                噪聲項服從正態(tài)分布,平均值為0,標準差為0.1。我們將為訓練集和測試集各合成100個樣本

                1.三階多項式函數(shù)擬合(正常情況)

                我們先是與數(shù)據(jù)生成函數(shù)同階的三階多項式函數(shù)擬合。實驗表明,這個模型的訓練誤差和在測試數(shù)據(jù)集的誤差都較低。訓練出的模型參數(shù)也接近真實值:w1 = 1.2, w2 = 3.4, w3 = 5.6, b= 5。

                2.線性函數(shù)擬合(擬合)

                我們再試試線性函數(shù)擬合。很明顯,該模型的訓練誤差在迭代早期下降后便很難繼續(xù)降低。在完成最后次迭代周期后,訓練誤差依舊很大,即模型復雜度不夠。

                3.訓練量不足(過擬合)

                事實上,即便是與數(shù)據(jù)成模型同階的三階多項式函數(shù)模型,如果訓練量不足,該模型依然容易過擬合。讓我們僅僅使用5個樣本來訓練模型。顯然,訓練樣本過少了,甚至少于模型參數(shù)的數(shù)量。這使模型顯得過于復雜,以至于容易被訓練數(shù)據(jù)中的噪音影響。在迭代過程中,即便訓練誤差較低,但是測試數(shù)據(jù)集上的誤差卻很大 。這是典型的過擬合現(xiàn)象。

                前面提到,增大訓練數(shù)據(jù)集可能會減輕過擬合,但是獲取額外的訓練數(shù)據(jù)往往代價高昂。在訓練數(shù)據(jù)集固定的情況下,一般使用權重衰減和丟棄法來解決過擬合問題。后續(xù)我們將繼續(xù)講解解決過擬合問題的方法。

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權歸原作者所有,如有侵權請聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月20日 06:12
                下一篇 2022年6月20日 06:12

                相關推薦

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時間:周一至周五,10:30-18:30,節(jié)假日休息