一般情況下,監督學習最小化問題的通式

2021-09-24 07:18:57 字數 1726 閱讀 9884

本文作為學習筆記,內容摘抄自網頁+自己的感想。如有錯誤的地方,還望指正。

監督學習最小化問題的通用目標函式

機器學習中的監督學習問題通常即是在規則化引數的同時最小化誤差。最小化誤差是為了讓模型擬合訓練資料,而規則化引數是防止模型過分擬合訓練資料,但訓練誤差小並不是最終目標,最終目標是希望模型的測試誤差小,也就是能準確的**新樣本。所以需要保證模型「簡單」的基礎上最小化訓練誤差,這樣得到的引數才具有良好的泛化效能(也就是測試誤差也小),而模型「簡單」就是通過規則函式來實現的。

通常情況下,監督學習可以看作最小化下面的目標函式:

(正則化代價函式)=(經驗代價函式)+(正則化引數)×(正則化項)

經驗代價函式是為了測量模型**與實際結果的誤差,因為要擬合訓練樣本,所以要求這一項最小,也就是要求模型盡量的擬合訓練資料。但不僅需要保證訓練誤差最小,更希望模型的測試誤差小,故需要加上(正則化引數)×(正則化項)來約束模型盡可能的簡單。

機器學習中大部分帶參模型都和這個型很相似,大部分情況下就是變換這兩項。對於第一項損失函式,如果是square loss,那就是最小二乘了;如果是hing loss,那就是著名的svm了;如果是exp-loss,那就是boosting了;如果是log-loss,那就是logistic regression了。不同的loss函式具有不同的擬合特性,得具體問題具體分析。

正則化項

本文主要闡述下l0範數,l1範數與l2範數分別具有的意義及作用。

* l0範數

l0範數是指向量中非0元素的個數。如果用l0範數來規則化乙個引數矩陣w的話,就是希望w的大部分元素都是0,換句話說,讓引數w是稀疏的。(l0範數很難優化求解,屬於np難問題,而l1範數是l0範數的最優凸近似,且l1範數比l0範數更容易優化求解,故一般稀疏都會想到l1範數)

* l1 範數

l1範數是指向量中各個元素的絕對值之和,也叫「稀疏規則運算元」(lasso regularization)。l1範數可以進行特徵選擇,即讓特徵的係數變為0。

l1範數為什麼會使權值稀疏????

因為l1範數是l0範數的最優凸近似。實際上,任何的規則化運算元,如果它在w

i=0的地方不可微,並且可以分解為乙個「求和」的形式,那麼這個規則化運算元就可以實現稀疏。這說是這麼說,w的l1範數是絕對值,|w|在w=0處是不可微的,但這還是不夠直觀,所以需要和l2範數進行對比分析。

* l2範數

l2範數是指向量中各元素的平方和然後求平方根,記為||w||

2。在回歸裡面,它的回歸叫「嶺回歸」(ridge regression),也叫它「權值衰減weight decay」。l2範數可以防止過擬合,提公升模型的泛化能力。

為什麼l2範數可以防止過擬合????

為了讓l2範數的規則項||w||

2最小,可以使得w的每個元素都很小,都接近於0,但與l1範數不同,l2範數不會讓它等於0,只是接近於0,這裡有很大的區別。

而越小的引數說明模型越簡單,越簡單的模型則越不容易產生過擬合現象。為什麼越小的引數說明模型越簡單?原因:限制引數很小,實際上就限制了多項式某些分量的影響很小,這就相當於減少引數個數。

l1與l2 範數的區別

下降速度:最小化權值引數l1比l2變化的快

模型空間的限制:l1會產生稀疏,l2不會。通過l2範數,可以實現對模型空間的限制,從而在一定程度上避免了過擬合。

[內容出處] zhuanlan.zhihu.com/p/23503640

機器學習實踐一般流程(監督學習)

觀察資料集,正負樣本是否均衡 看正負樣本資料量是否差別過大 不均衡 under sample 隨機取樣 或者over sample 利用imblearn中的smote演算法 觀察缺失值,進行補全,要是標籤缺失,直接drop 資料歸一化處理 觀察可以合併的資料集,將多個特徵變為乙個 例如特徵裡有公分和...

03 二次準則函式及其求解(一般情況下的判別函式)

對於兩類問題,設n 1維增廣訓練模式 x 1 x 2 x n 已經符號規範化 如果訓練模式是線性不可分,不等式組沒解。目標 最少的訓練模式被錯分 n維餘量向量b 0 不等式方程組 xw leq b 0 要使盡可能多的不等式被滿足 其中 x begin x 1 t x 2 t x n t end 如果...

析構函式一般在什麼情況下會被定義成虛函式?

今天去了kindsoft的筆試,關於c 有道題目大概是問 析構函式一般在什麼情況下會被定義成虛函式?1.首先看一下這段 吧 include using namespace std class clxbase clxbase void dosomething class clxderived publ...