這篇文章是對自己早期一篇講正則化和回歸的補充。當時寫作那篇文章的時候自己還剛剛入門機器學習,許多知識是理解了,但是缺少從一定的高度上的總結。結合這篇來看原來的那篇,不容易亂。
首先要明確,正則化不是回歸的專利,回歸和分類都是可以使用的。在回歸中使用正則化就是嶺回歸(l2正則化)和lasso(l1正則化),在分類中使用就是我們常見的loss function中的正則項了(其實還有乙個方面的應用,知乎這位答主提到了,就是直接構造loss function,例如l1正則就構造成這樣:
,l2正則就構造成這樣:
),在例如sklearn中的模型中都有對應的引數選擇。
至於l1和l2正則的取捨,可以看上面我提到的知乎回答的其他一些答案:
徐梓薦其實從某一方面來說,分類和回歸的區別就體現了閾值的有無上,設定了閾值判斷的回歸就是分類。其實仔細想想,分類和回歸問題在機器學習和深度學習上差不多是半斤八兩,只是因為自己現在做的是計算機視覺的目標檢測,所以對分類模型比較重視,在其他的領域,例如****等等之類的場景,回歸問題還是很多的,兩者的區別就體現了網路結構的設計上,但是如果都是有監督學習的範疇內的話,區別真的不太大,例如這個知乎問題所說。l0範數:向量中非0元素的個數。
l1範數(lasso regularization):向量中各個元素絕對值的和。
l2範數(ridge regression):向量中各元素平方和求平方根。
l0範數和l1範數都能夠達到使引數稀疏的目的,但l0範數更難優化求解,l1範數是l0的最優凸相似且更易求解,故得到廣泛的應用。
l2範數主要作用是防止模型過擬合,提高模型的泛化能力。
魏晉l1是藍色的線,l2是紅色的線,很明顯,l1的分布對極端值更能容忍。那麼如果資料損失項使用l1 norm,很明顯,l1 norm對outlier沒有l2 norm那麼敏感;如果正則化損失項使用l1的話,那麼使學習到的引數傾向於稀疏,使用l2 norm則沒有這種傾向。
實踐中,根據quaro的data scientist 的經驗,實際應用過程中,l1 nrom幾乎沒有比l2 norm表現好的時候,優先使用l2 norm是比較好的選擇。
機器學習 分類與回歸
連續變數 定性輸出稱為分類,或者說是 離散變數 回歸問題通常是用來 乙個值 如 房價 未來的天氣情況等等,例如乙個產品的實際 為500元,通過回歸分析 值為499元,我們認為這是乙個比較好的回歸分析。乙個比較常見的回歸演算法是線性回歸演算法 lr 另外,回歸分析用在神經網路上,其最上層是不需要加上s...
機器學習 線性回歸 二 先驗與正則化
很多接觸過機器學習的同學的人都聽過正則化是為了防止過擬合,很簡單啊,不就是 l w 1 2 i 1n y i wx i 2 w 22 2 2 l w 1 2 i 1n y i wx i 2 w 22 重寫了損失函式,加入的後半部分是正則化項,整個損失函式的目的直觀上理解是既要讓模型擬合訓練樣本,又要...
機器學習 K NN分類 回歸
k近鄰 從字面上理解,就是 近朱者赤,近墨者黑。和誰離得近和誰歸為一類。1 演算法原理 1 計算測試資料與各個訓練資料之間的距離,方法 閔可夫斯基距離 2 按照距離的遞增順序排序 3 選取距離最小的k個點 4 確定前k個點所在類別的出現頻率 即為各個類別出現次數 5 返回前k個點所在類別的出現頻率,...