天天看點

機器學習正則化、偏差和誤差了解總結

2018-08-21更新:考慮用ensemble方法降低模型bias 和  variance

偏差:即模型在訓練時候,衡量模型拟合程度的變量,訓練期間拟合的越好,偏差越小,通常也會使得模型變得越複雜。但是,并不是偏差越小越好,因為過小的偏差往往就是過拟合情況;過拟合會造成什麼影響,為什麼大家都擔心自己的模型會陷入過拟合情況?

解釋如下:模型發生過拟合之後,将會失去泛化能力,又有小夥伴會好奇,什麼是泛化能力?在實際工程中,我們訓練一個模型,目的不是在訓練集上表現的完美,而是希望它在測試集(現實資料中)表現的好,模型的泛化能力是指:模型對其他分布資料依然有較強的預測能力,也就是模型的預測平滑性。如果模型泛化能力低,那麼現實資料中或者測試集上将會産生一個較大的方差,模型也就會失去預測的能力;并且,根據吳恩達教授的推導的方差估計理(cs29那篇筆記裡面,有具體推導):方差與偏差是互相關聯量,網上有相關推導(PAC),模型誤差=偏差+方差+噪聲,這也是一個常用的誤差變形,并且,在這兩個變量中存在同一反置影響因素,也就是模型複雜度參數,是以會造成上述現象,我們一直在尋找的就是權衡兩個之間的那個模型複雜度參數

方差:正如前文所述,是衡量模型在測試集上的表現,通常情況下,我們需要的是低的方差(資料樣本失衡情況需要考慮召回率、準确度等等名額);

正則化:機器學習模型,可以了解為在已知資料和模型的情況下,求模型參數的過程,即:Af = g  其中g是資料,A是模型,f參數;然而實際生活中,這個求解過程是一個不适定問題,存在多個解,或者說無法求解。是以,我們就需要将模型參數求解過程進行轉換,正則項是轉化過程中常用的一種手段(或者有人了解是正則項是用來克服過拟合問題的);但是我們回到最初的求解過程,為什麼正則項能夠克服過拟合問題呢?

解釋:常見的L1、L2正則、随機性,就是在數學表達式上對模型進行一定的懲罰,取整個模型複雜度和其範數的極小化值,能夠防止模型過度複雜,導緻過拟合。L1與L2的差別在于:L1正則會懲罰若幹項系數為0,降低模型方程階次,使得其更加趨于線性化,這也是可以用L1正則作為嵌入式特征提取的一個重要原因;而L2懲罰是将若幹項系數賦予一個極小數,降低模型的複雜程度,使得模型曲線化、平滑化,所有的方法,隻能降低過拟合風險,而不是使得模型不會過拟合!

在Ensemble 中,常見的兩個方法就是bagging和boost,前者能夠降低模型的方差,後者能夠降低模型的偏差;

原理:Bagging采樣方法,能夠生成若幹子模型,雖然是有放回采樣,但是模型之間的相關性是存在的,通過內建若幹模型,能夠降低方差,可以看如下誤差公式:                                      

機器學習正則化、偏差和誤差了解總結

通過增加m,可以減少後者,以達到降低方差的目的;對于Boost方法而言,在拟合的過程中,通過下一個模型的生成,或者樣本的權重, 以減小模型訓練時産生的bias。PS:随機森林方法,很好的結合了兩者優勢。

繼續閱讀