一、前言
對於理解機器學習或者深度學習的人來說,需要了解基本的學習框架是什麼?無論是聚類、回歸,對於引數的求解以及引數的正則化(防止過擬合的措施)**於什麼原理或者基於什麼?,這是需要我們理解的。一般而言從誤差出發,有式子:
loss_function=est_error+regularization of parameters
下面我們來說說估計誤差中的損失函式以及模型優化的手段。
二、常見的損失函式以及應用
三、train_data、validation_data、test_data之間的聯絡與區別
對應某個問題,我們獲得樣本集合data=,備選的模型有很多,分類問題就可以使用決策樹、lr、rf、gbdt等,先假設有備選模型的集合為.現在問題是選擇哪個模型?該模型對應的引數是多少?模型效果怎樣?
一般地,data分為兩個部分(7:3),一部分作為模型的訓練,通常叫做train_data;另外一部分作為模型的測試,通常叫做 test_data。
但是對於多個模型比較或者某個模型它本身具有超引數,此時就需要validation_data,也叫做驗證資料,比如神經網路模型,超引數就是隱層層數與隱層節點數。其實就是將原來的 train_test分成了兩個部分,訓練集合new_train_test(為了區分)以及validation_data。有時候因為前人的多次實踐,我們已經知道了最優的超引數,此時就不需要 validation_data來驗證,這就是我們常見的只有train_data,test_data。
一般的過程為:
四、模型過擬合與欠擬合
1.過擬合與欠擬合
假設需要擬合下面的點,得到兩個擬合結果:
左圖欠擬合,高偏差,是指模型未訓練出資料集的特徵,導致模型在訓練集、測試集上的精度都很低。
右圖過擬合,高方差(high variance),是指模型訓練出包含噪點在內的所有特徵,導致模型在訓練集的精度很高,但是應用到新資料集時,精度很低。
2.如何判斷過擬合與欠擬合------繪製損失函式隨資料集增加的學習曲線
3.模型欠擬合與過擬合的優化方法
欠擬合:增加特徵、提公升模型複雜度、減少正則項權重
過擬合:增加樣本數量、減少特徵數目、增加正則項權重
五、模型優化的方法
無論是回歸還是分類問題,目的都是找到最好或者說比較好的模型去擬合原來的問題,這裡的好就就是使得損失函式的值較小且模型的泛化能力好。
(1)交叉驗證
上面已經介紹了主要思想,這個主要是選擇最優的模型以及最優的超引數,對於某個模型來說,最優引數與預設引數對模型的提高不會很大。
(2)特徵選擇
特徵工程是建模的核心,如果特徵選擇好,那麼模型的效果至少好了一半,模型準確率提高特徵工程是佔絕對作用的。常見的特徵選擇,我們可以從兩個方面去考慮:
1)從已有的特徵中選擇-----特徵選擇
基於aic\bic\cp值等統計指標:前進法、後退法、前進後退法
基於資訊熵:決策樹(id3、cd4.5、cart)
基於編碼分箱:woe與iv
2)獲取新的特徵--------特徵提取
(3)正則化以及常見正則化手段
六、為何正則化可以避免過擬合?
1.dropout為什麼可以減少overfitting?
一般情況下,對於同一組訓練資料,利用不同的神經網路訓練之後,求其輸出的平均值可以減少overfitting。dropout就是利用這個原理,每次丟掉一定比率的隱藏層神經元,相當於在不同的神經網路上進行訓練,這樣就減少了神經元之間的依賴性,即每個神經元不能依賴於某幾個其他的神經元(指層與層之間相連線的神經元),使神經網路更加能學習到與其他神經元之間的更加健壯robust的特徵。在dropout的作者文章中,測試手寫數字的準確率達到了98.7%!所以dropout不僅減少overfitting,還能提高準確率。
2.l1、l2正則化為何可以減少overfitting?
回到為什麼會減少overfitting這個問題,兩個解釋:
1.從上面可以看出,正則化後效果是均能夠使得權值減小。更小的權值w,從某種意義上說,表示網路的複雜度更低,對資料的擬合剛剛好(這個法則也叫做奧卡姆剃刀)
2.過擬合的時候,擬合函式的係數往往非常大,為什麼?因為擬合函式需要顧忌每乙個點,最終形成的擬合函式波動很大。在某些很小的區間裡,函式值的變化很劇烈。這就意味著函式在某些小區間裡的導數值(絕對值)非常大,由於自變數值可大可小,所以只有係數足夠大,才能保證導數值很大。而正則化是通過約束引數的範數使其不要太大,所以可以在一定程度上減少過擬合情況。
《機器學習》筆記 2 模型的損失函式與正則化
度量模型一次 的好壞 l y,f x 度量平均意義下的模型 的好壞,即損失函式的期望。關於 聯行分布的期望,未知,無法直接計算 模型關於訓練資料集的平均損失,當樣本容量n 經驗風險趨於期望風險。經驗風險最小化,保證模型有很好的學習效果。為防止過擬合而提出,在經驗風險的基礎上加上了正則化項或罰項。結構...
偏差 方差分解 損失函式和正則化
一 偏差 方差分解 以回歸演算法為例 偏差 方差分解是解釋學習演算法泛化效能的一種重要工具。誤差是測量值與真實值之間的差值。偏差度量了學習演算法的期望 與真實結果的偏離程度。方差度量了同樣大小的訓練集的變動所導致的學習效能的變化,刻畫了資料擾動所造成的影響。雜訊則表達了在當前任務上任何學習演算法所能...
神經網路損失函式的正則化
無論l1 l2正則化方法,本質上都是乘法引數w使其等於或者趨向於0 但有沒有可能有一種正則化方法會使引數w趨向於非零值呢?答案是 可以這樣做 將w約束到a附近。為什麼會產生這樣的結果呢?可以從兩種角度去解釋 解釋1 黃色區域表示正則項限制,藍色區域表示優化項的等高線,要滿足在二者交點上的點才符合最優...