[一起面試AI]NO.5過擬合、欠擬合與正則化是什麼?

Q1 過擬合與欠擬合的區別是什麼,什麼是正則化

欠擬合指的是模型不能夠再訓練集上獲得足夠低的訓練誤差,往往由於特徵維度過少,導致擬合的函數無法滿足訓練集,導致誤差較大。

過擬合指的是模型訓練誤差與測試誤差之間差距過大;具體來說就是模型在訓練集上訓練過度,導致泛化能力過差。

所有為了減少測試誤差的策略統稱為正則化方法,不過代價可能是增大訓練誤差。

Q2 解決欠擬合的方法有哪些

降低欠擬合風險主要有以下3類方法。

  1. 加入新的特徵,對於深度學習來講就可以利用因子分解機、子編碼器等。

  2. 增加模型複雜度,對於線性模型來說可以增加高次項,對於深度學習來講可以增加網路層數、神經元個數。

  3. 減小正則化項的係數,從而提高模型的學習能力。

Q3 防止過擬合的方法主要有哪些

1.正則化

正則化包含L1正則化、L2正則化、混合L1與L2正則化。

L1正則化目的是減少參數的絕對值總和,定義為:

L2正則化目的是減少參數平方的總和,定義為:

**混合L1與L2**正則化是希望能夠調節L1正則化與L2正則化,定義為:

因為最優的參數值很大概率出現在坐標軸上,這樣就會導致某一維的權重為0,產生稀疏權重矩陣。而L2正則化的最優的參數值很小概率出現在坐標軸上,因此每一維的參數都不會是0。

所以由於L1正則化導致參數趨近於0,因此它常用於特徵選擇設置中。而機器學習中最常用的正則化方法是對權重施加L2範數約束

L1正則化與L2正則化還有個重要區別就是L1正則化可通過假設權重w的先驗分布為拉普拉斯分布,由最大後驗概率估計導出。L2正則化可通過假設權重w的先驗分布為高斯分布,由最大後驗概率估計導出。

2.Batch Normalization

Batch Normalization是一種深度學習中減少泛化誤差的正則化方法,主要是通過緩解梯度下降加速網路的訓練,防止過擬合,降低了參數初始化的要求。

由於訓練數據與測試數據分布不同會降低模型的泛化能力。因此,應該在開始訓練前對數據進行歸一化處理。因為神經網路每層的參數不同,每一批數據的分布也會改變,從而導致每次迭代都會去擬合不同的數據分布,增大過擬合的風險。

Batch Normalization會針對每一批數據在輸入前進行歸一化處理,目的是為了使得輸入數據均值為0,標準差為1。這樣就能將數據限制在統一的分布下。

3.Dropout

Dropout是避免神經網路過擬合的技巧來實現的。Dropout並不會改變網路,他會對神經元做隨機刪減,從而使得網路複雜度降低,有效的防止過擬合。

具體表現為:每一次迭代都刪除一部分隱層單元,直至訓練結束。

運用Dropout相當於訓練了非常多的僅有部分隱層單元的神經網路,每個網路都會給出一個結果,隨著訓練的進行,大部分網路都會給出正確的結果。

4.迭代截斷

迭代截斷主要是在迭代中記錄準確值,當達到最佳準確率的時候就截斷訓練。

5.交叉驗證

K-flod交叉驗證是把訓練樣本分成k份,在驗證時,依次選取每一份樣本作為驗證集,每次實驗中,使用此過程在驗證集合上取得最佳性能的迭代次數,並選擇恰當的參數。


hi 認識一下?

微信關注公眾號:全都是碼農 (allmanong)
你將獲得:
關於人工智慧的所有面試問題一網打盡!未來還有思維導圖哦!
回復121 立即獲得 已整理好121本python學習電子書
回復89 立即獲得 程式設計師史詩級必讀書單吐血整理四個維度系列89本書。
回復167 立即獲得 機器學習和python學習之路史上整理大數據技術書從入門到進階最全本(66本)
回復18 立即獲得 資料庫從入門到進階必讀18本技術書籍網盤整理電子書(珍藏版)
回復56 立即獲得 我整理的56本演算法與數據結構
未來還有人工智慧研究生課程筆記等等,我們一起進步呀!