泛統計理論初探 模型泛化能力增強技巧

2021-10-07 18:27:29 字數 1829 閱讀 3246

機器學習模型泛化能力增強技巧簡介

在之前的文章中,我們已經介紹了三種提高模型泛化能力的方法,即前一篇文章介紹的l1正則化、l2正則化、dropout方法。在本文中,我們將會從資料角度、模型訓練角度、策略角度進行提高模型泛化能力的方法介紹,嘗試在處理問題的不同階段使用技巧提公升模型的泛化能力。本文主要介紹資料增強、引數共享、早停處理、多工學習這幾種技巧,下面分別進行介紹。

首先介紹資料增強方法,該方法其實在影象分析領域使用的較多,因為影象領域可以對原始的資料進行一些調整,在不改變影象含義的情況下最大程度的利用原始資料。比如對一幅可以進行翻轉操作、旋轉操作、縮放操作、移位操作、裁剪操作、黑白操作、模糊操作等,因為這些操作可以讓原始的資料的資訊充分使用,也防止神經網路等模型過擬合,加強了模型的泛化能力。當然這些方法都是比較低階和簡單的方法,在學習的後期,如果覺得資料量還不夠,可以嘗試使用對抗神經網路gan來進行訓練資料的生成,gan的原理在以後的文章會進行介紹,此處不展開。通過gan的資料生成,可以將裡的目標含義不變的情況下,改變內的環境等其他特徵,使得原有模型進行更好地學習,得到乙個泛化能力更強的機器學習模型。理論上來說資料增強方法是一種比較好的技巧,因為它不僅使得模型的泛化能力更強,也使得模型的穩健性更好,但其缺點在其他結構性資料或者自然語言處理領域很難在原有的資料集進行資料增強,除非增加新的資料。

下面介紹早停技巧,該技巧其實是在梯度下降方法中涉及到的一種方法,其實顧名思義,早停就是在訓練到中途的時候提早停止訓練,是神經網路裡面處理過擬合的一種方法。由於早停法會比較資料在訓練集和驗證集的效果,本質上是在尋找乙個點,這個點是模型在驗證集上的拐點,在這個點之後雖然訓練集的誤差還在減小,但是驗證集的誤差卻開始增加,因為這個時候模型可能在訓練集上已經過擬合了,實踐中有些使用者反映早停方法比l1正則化、l2正則化方法的效果要更好。但是早停技巧對於複雜的模型來說是很難使用的,因為早停很有可能使得模型停在乙個區域性最優點而無法進行繼續優化,特別是當前的神經網路結構如此複雜,而且通常是多個神經網路模型進行組合巢狀,早停技巧可能不一定很好,對於那些簡單的模型,使用早停的技巧是比較簡潔並且效果不錯的。下面的就很好的說明了這個早停技巧的原理,最好的模型引數是迭代到240步的時候,訓練集的誤差不是最低點,但是驗證集的誤差達到了最低的區域,這就是早停的技巧原理。

下面進行引數共享方法的介紹,之前的文章介紹過l1正則化方法和l2正則化方法,那些正則化方法的思路是一種懲罰,對引數偏離0均值誤差的懲罰,而有些場景需要減少引數的數量。比如在影象領域,最開始使用的是bp神經網路進行訓練,但由於多層神經網路的引數實在是太多,所以引入了cnn卷積神經網路,該網路的一大特點就是引數共享,將每一層的引數進行共享,也就是保持一致,使得引數的數量大大下降。其實引數共享方法一般在神經網路中使用的較多,其目的是避免多層神經網路進行過擬合,所以將一部分神經元的引數強行一致,從而避免了過擬合,也就達到了泛化能力變強的目標。

最後我們來介紹多工學習,該方法的思路是通過進行多個不同種類問題的學習來防止神經網路為了學習某一類特殊的問題而造成的過擬合,比如在經過基本的對映和歸一化處理後的兩份資料,乙份資料是學習識別貓和狗的影象資料,另乙份資料是學習去**下個月的房屋**是漲或者跌的資料,通過同樣的神經網路隱藏層來進行學習,這個隱藏層的引數是兩個問題所共享的,所以最後得到的神經網路可以有效地避免過擬合情況。

總的來說,模型的泛化能力增強還需要看實際問題的資料和使用場景,因為在條件允許的情況當然是增加新的資料,在影象分析領域可以進行原始資料的增強,在某些神經網路模型可以使用多工學習、引數共享或者早停技巧,而在機器學習還可以使用整合學習的思路,將模型進行組合,通過bagging或者boosting的策略進行整體模型的準確率提公升。對於初學者來說,不能盲目地追求訓練集準確率,要注意模型的穩健性和泛化能力,從而得到較好的模型。

泛統計理論初探 初探XGBoost方法

初探xgboost方法 在本文中將會繼續介紹整合學習裡的boosting思路,並且會選用xgboost方法來介紹。xgboost是一種優化過的提公升學習方法,該方法在一些競賽或者專案中經常被使用,它的 正確率是比較高的,總體來說效能不錯。其實從該方法的名字我們可以發現,這是一種在gbdt方法的基礎上...

泛統計理論初探 均值漂移演算法初探

均值漂移聚類演算法簡介 本文主要是介紹均值漂移聚類演算法,又稱為mean shift cluster,該演算法屬於無監督學習的聚類方法。主要從演算法的使用場景 步驟 核心思路等角度去介紹演算法。之前其實也介紹過一些聚類的演算法,比如kmeans dbscan等方法,本次介紹的均值漂移聚類演算法是一種...

泛統計理論初探 初探遺傳演算法

遺傳演算法理解與思路 本文將會簡要的介紹遺傳演算法,該方法也是一種啟發式搜尋的演算法,它是 於生物學進化規律的經典概念,就是適者生存 優勝劣汰的思路。該演算法是上個世紀70年代被提出的,它不需要像神經網路之類的方法需要對函式的連續性有要求,而是可以使用基於概率的思路去進行搜尋,結合遺傳 變異 選擇的...