貪心學院 關於模型過擬合現象,有哪些解決思路, 至少列出3項 (可以針對不同的模型來講述)?

時間 2021-06-08 05:05:11

1樓:Rock

假設這是一道面試題,而前面的同學答了很多,比自己知道的要多,那該如何回答?

過擬合,如果從模型下手的確有很多辦法優化。但我個人的經驗(心裡是模型優化我不熟哦)讓我相信一點:資料質量對結果的貢獻率是80%。那麼為什麼不把精力先放在資料上呢?

然後調取吳恩達教程裡有關資料優化的辦法扔出去。

這些做完後,再用剩下的精力快速的調整一下引數,調調正則如dropout等等。

學渣的生存法

2樓:起床啦123

過擬合的解決方法,其實是要在訓練集的損失函式和測試集乃至於未知資料的損失函式上做乙個平衡。在實踐中,除了正則化以外,我常用的方法有兩個,乙個是早停。

早停就是說迭代一定步數之後,如果測試集損失不下降,那麼停止訓練。

另外乙個常用的方法是模型融合。思想是不同模型過擬合的角度不同,用投票得到乙個泛用的模型。

3樓:hnuzl

1.增加模型訓練資料,讓模型在更多的資料中進行訓練,這樣就防止模型過度擬合小資料的規律;

2.可以減少模型複雜度,如多項式模型減少的多項式項,從3次多項式模型減少為2次多項式模型,讓模型複雜度降低;

3.可以增加L1orL2正則項,這樣模型訓練的時候會對權重過大的引數進行懲罰,降低對某些特徵的過度依賴;

4.對於深度學習的模型中,可以使用dropout,讓神經元的以一定的概率不往下傳遞引數,這樣就可以防止模型過度依賴訓練資料,讓其具有更好的泛化能力;

4樓:敵人就在本能寺

1、資料少的時候使用複雜的模型還是挺容易過擬合的,所以要增加樣本量。過擬合就好像乙個舔狗一樣對著那堆資料一直舔啊舔,但是其實很多因素不應該去解釋。或者說你這時候使用模型去硬(en四聲)解釋這是不對的!

所以要增加樣本量!

2、使用正則。正則可以使引數變得稀疏、低秩,四通八達。我們一般使用L1、L2正則。

3、剔除不必要的特徵。就好像乙個醫生在診斷病情,他不可能說是把患者的出生年月日、姓名家庭婚姻、過往病史、小孩上什麼學、妻子在幹什麼工作、一年前吃了什麼等等都考慮進去。所以醫生診斷病情就是看幾個關鍵的點,這就是要剔除不必要的特徵。

4、訓練的時間可以適當停止。

5、使用交叉驗證,就是把原始資料分成訓練組和測試組,比如簡單交叉驗證等等。

5樓:豆芽

從資料上來講,出現過擬合現象的解決思路:一、是因為模型學習了異常資料引起的,可通過對資料進行預處理,通過對資料進行清洗來去雜訊。

二、資料量太少也會導致出現過擬合的現象,解決辦法是增加資料量,可以通過資料增強手段增加資料量。

從模型上來講,過擬合現象的解決思路:

一、可通過更換模型得到改善,如果單一模型無法很好的擬合資料,可通過整合模型的方法進行擬合,降低單一模型的敏感性。

二、加入正則表達,控制權重的大小與資料,避免模型為擬合少數異常資料而加大了部分權重。

6樓:轉眼披風

就如題設所說的,我們的目的是構建出泛化能力強的模型,比如要求優秀的學生能舉一反三。而過擬合現象體現在,學生學習時是死記硬背的,思維混亂,沒有正真的理解問題。而導致在遇到類似的題型時不會解決。

1. 可能是資料導致的。就好像我們刷題時題庫同一類的題目數量太少,沒有完整的包括題目的各個反面的知識點。

所以我們可以刷更多的題,刷質量更好的優質題。我們可以增大資料集的量,把各種反面的資料都包括在內。同時我們的資料也要高質量,資料要是好的資料,完整的資料。

這樣可以通過對資料的的處理解決過擬合現象。

2. 可以新增正則來解決過擬合表現出的表達能力過強的問題。當模型的表達能力過強,處理問題時通常會導致結果出現偏差,我們可以給模型新增正則條件來對模型進行約束,從而隔絕那些錯誤的干擾。

3. 優化模型,選擇更好的擬合模型。就好比我們刷題時,如果我們的解題方法很複雜,我們在解題的過程中遇到錯誤的可能性就更大。

我們在構建模型性要盡可能的去優化模型,使模型更簡潔。選擇更好的,更合適的模型能幫助我們得到更好的更穩定的結果,可以一定程度上避免過擬合。

7樓:2fight41love

解決過擬合問題可以從三個角度出發

從資料層面看:

1.通過資料增強,爬蟲等方式擴充套件資料集。

2.通過資料清洗,特徵工程等方式提公升資料質量。

從模型層面看:

3.當過擬合發生時,可以選用複雜度更低的模型;降低模型參數量等方法。

4.神經網路層面還有非常常用的dropout以及spatial dropout。

5.可以通過整合學習融合多個模型來產生最終結果,降低單個模型的敏感度。

從先驗知識層面看:

6.增添正則項,常用的L1,L2以及L1L2的融合。

7.在損失函式上對權重進行加權,使權重對損失函式影響更小

8樓:

1. 多元多次線性回歸:如果訓練出的模型過於注重目標值微小的變化,從而出現上下波動, 那麼模型就會出現過度擬合的現象,可以採用降低特徵值次數的方法。

2. 模型使用過多的特徵數時: 可以採取正則方式來減少不明顯的特徵納入,比如lasso, ridge以及elastic net方法, 讓模型捨棄一些對目標值影響不大的特徵。

3. 神經網路:在使用神經網路進行模型訓練時,採取dropout 技術,讓一些神經元暫時失效,能夠防止神經網路過度擬合。

9樓:何大加

模型過擬合是指模型在訓練集上表現很好,但是在測試集上表現較差,分析模型的過擬合原因,一般來說,模型過擬合是由於我們的模型過於強大,在訓練集中不僅學習到資料分布規律,還學習到了很多噪音。通常從模型和資料角度解決:

1、降低模型的複雜度,我們一顆選擇小模型,如機器學習模型,如邏輯回歸等等,對於樹模型,我們可以選擇隨機森林,利用bagging的思想來實現模型融合;

2、在原來模型基礎上,我們加入一定的正則,如L1正則;

3、對於神經網路模型,我們加入drop機制,這裡提一下drop機制,在訓練時每一層的神經元以一定p的概率失活,是指輸出值經過啟用函式為0,其他神經元輸出值在乘以1/(1-p),測試的時候不需要失活,每一層輸出值經過啟用函式再乘以p;這裡當然還以用batch Normalization去解決過擬合;

4、我們可以增加資料集,使用一些資料增強手段擴充資料集

10樓:卡瑪花生公尺

模型過擬合是一種在訓練資料上表現很好,而在測試資料上表現很差的現象,一般來說模型越複雜,越容易過擬合,造成這種現象的原因主要是模型的引數過大。

所以有兩個解決思路:

1.降低模型的複雜度,比如可以使用比較簡單的模型,用線性模型代替非線性模型,用邏輯回歸等代替神經網路,也可以通過減少模型的層數來降低模型的複雜度

2.可以加入乙個關於引數w的懲罰項,其實也就是正則項,模型過擬合的原因是引數w值變得過大,而加入正則項後當引數變得很大,後面的正則項就變得更大,與目標函式最小化的目標矛盾,所以會從引數小的解空間中選擇最優解

3.可以考慮資料方面,資料量越大模型越不容易過擬合, 也可以加入dropout,每次訓練隨機丟棄一部分資料來避免過擬合。

11樓:翻天的猴子

1、過擬合問題,對於過擬合問題,先說一下,擬合問題,擬合是為了發現觀測資料背後的規律而進行的方法,如果資料量本身不能準確表達事情的本身,就無法得到資料背後的真諦,所以解決的思路有如下幾種方法

1.1、增加資料量,盡量讓資料能夠表達事情原來的樣子,不能像盲人摸象一樣,從區域性資料無法學習到整體的樣子。

1.2、增加先驗知識,能夠彌補一下資料不足問題,先驗知識,也相當於增加了懲罰項。

1.3、模型選擇,從基線的邏輯回歸到深度學習模型,先用簡單模型,簡單引數,逐步學習複雜模型,複雜引數。比如深度學習模型中間節點設定乙個範圍,然後利用組合方式(網格搜尋)訓練最優的隱層數量。

12樓:東四百

模型過擬合通常是由於模型太過複雜或者資料集的質量問題造成的,因此可以從以下幾點解決:

降低模型的複雜性:尤其是對於乙個問題的解決,通常是從最簡單的模型開始測試,一開始就使用很複雜的很容易造成模型的過擬合。

提高資料集的質量:這可以通過幾個方面來實現;一是增加資料集的數量和種類,盡可能覆蓋更多現實中的例子,不要讓樣本過於單一;二是降低樣本的雜訊,雜訊是指訓練資料中的干擾資料,過多的雜訊會使模型在訓練時記錄下雜訊的特徵。

加入一些懲罰項:例如L1和L2正則化,這也是通過降低模型複雜性來完成的。

dropout:這在神經網路中是比較常用的,很多模型通過忽視一些隱藏層中的神經元來降低模型複雜度,通常引數設定為0.5或者0.3。

提前終止:例如在訓練時,每隔乙個epoch都計算一下模型在驗證集上的loss,設定乙個閾值,判斷前後兩個epoch的loss的下降大小,如果小於設定的閾值,就提前終止訓練,因為可能模型在訓練集上loss下降的幅度還很大,但是在驗證集上loss幾乎不下降,繼續訓練可能就會導致過擬合。

13樓:SamHsiWu

拋磚引玉,期待從大佬分享中獲益

過擬合(over-fitting),本質是模型過於專注於已有的資料,導致模型學習到了一些有壞作用的「知識」

(不恰當)比如,nature曾經有篇文章,訓練乙個模型來區分哈士奇和狼,準確率高達90%。最後發現,因為大多數狼的背景都有雪,所以他們實際上開發的只是個積雪探測器

(恰當)比如下圖的綠色線[1]

(學習更普遍的知識)

資料質量(避免模型「學壞」)

引入高斯噪音[1] (當引入噪音存在於每乙個樣本,原本噪音的影響反而通過正則項懲罰被降低影響了)

更高質量資料集(減少資料集噪音比例,降低噪音影響)特徵工程(減少含噪音的樣本比例)

特徵選擇(減少噪音較多的特徵進而降低噪音)特徵降維(將特徵進行「組合」得到新特徵進而平衡噪音影響)資料數量(帶給模型更普遍的知識)

更大數量資料集(提高資料集的數量,即降低噪音比例)資料增強(人為利用高質量子資料集提高資料集數量,降低噪音比例)(降低壞知識出現的可能)

降低模型複雜度(讓模型變「笨」)

更簡單模型(更低複雜度演算法、dropout)更小模型引數(early stop)

降低模型出錯概率(讓模型「投票」)

整合學習(結合多個更強或更弱模型的知識,降低出錯概率)交叉驗證(提高模型穩定性,也就降低了出錯概率)(指導模型怎麼才是對的)

正則項權重加權 [2]

[1] 機器學習中用來防止過擬合的方法有哪些[2] 當機器學習具備先驗知識

貪心學院 深度學習是很多模型的疊加,這種深度模型跟淺層模型相比有什麼優勢呢?

Hanamaki 有一種說法 在自然語言領域,淺層模型解析的是語法結構,深層模型解析的是語義結構,例如 我愛北京和北京愛我 從語法上來說兩個都是對的,都是主謂賓,但是從意義上來說,第二句不對因為北京是個地點無法有愛這種動作。語義建模 或語義語法 通常與語言建模 或語言語法 相比較,我們現在從二者的定...

貪心學院 通過學習語言模型這節課程後,簡單描述下你對於語言模型的理解是什麼樣的呢?

張慶宇 語言模型是一種概率統計方法,用來判斷一句話從語法上是否通順。在機器翻譯,文字生成,拼寫糾錯等領域均依賴於語言模型。語言模型的實現主要依賴概率統計中的聯合概率,條件概率和邊緣概率。語言模型的本質就是根據條件概率和邊緣概率計算聯合概率,通過聯合概率判斷句子的合理性。語言模型的訓練是概率估計的過程...

貪心學院的NLP課程怎麼樣呢?

Ytfhj159 課程還是很好的,對比了幾家機構才選擇的貪心學院,也是看中了課程的口碑和貪心的品牌,課程內容和安排沒有什麼問題,有沒有對自己的狀況起到作用的話主要還是看自己的用心程度和對知識的接受程度吧。 Hippo 之前我也在網上學習過一些課程,但是整體的效果確實不太好,也很耽誤自己學習的時間,前...