c 怎麼擬合函式得到引數 為啥正則化能抑制過擬合

2021-10-13 20:23:26 字數 1121 閱讀 2803

正則化是抑制模型過擬合的重要方法。它的原理到底是啥,今天我來分析一下。

首先,以線性回歸為例,沒有正則化的情況,它的損失函式是平方損失函式。

損失是越小越好,如果擬合函式h越複雜,就越可能把損失擬合到0。那麼很顯然,就會發生過擬合。

熟悉吧,我們的模型因為太逼近訓練樣本,反而損失了泛化能力,這個對於模型是致命的哦。

那麼怎麼從損失函式的角度解決這個問題呢,這就要請出正則化方法,也就是在損失函式中加入另乙個由模型引數構造的函式來抑制過於逼近的問題

以l2正則方法為例,我們加入了l2_function=lambda*theta的平方項。

要理解這個l2,我們先看一下不用正則項時,損失函式的優化過程。以僅有兩個引數為例。

損失函式為了到達最優解,theta1和2是沿著梯度下降的方向,向全域性最優點(碗底)進發。

為了避免過擬合,也就是說,平方差項不是想拼命變小嗎,我給你加乙個函式,你越變小,我越變大

左下方以原點為心的圓就是l2正則的函式空間。這時,優化方法的目標就變成了這兩者同時兼顧的問題,也就是說,在這兩個函式空間的交匯處(切點),損失最低。直觀上說,正則就是不讓theta過分的大。

這時候就好解釋l1正則,l1正則的函式形狀是菱形。

那麼,切點如果靠近某些theta的軸,也就是說,其他正交的theta會趨向於0。這也就是為什麼l1有特徵選擇的能力。

不傳任何引數得到窗體物件例項 C

1 using system 2using system.drawing 3 using system.collections 4 using system.componentmodel 5 using system.windows.forms 6 using system.data 7 using...

根據Gridview列事件引數得到該行物件

1 gridview1 rowcommand object sender,gridviewcommandeventargs e 中根據gridviewcommandeventargs e得到該行物件gridviewrow gridviewrow linkbutton e.commandsource ...

複製 Excel 中使用公式或者函式得到的資料

例如,有如下使用函式得到的結果,其中人數列是使用函式得到的結果,函式的輸入引數是一系列 中的資料,分數段人數 60 3160 69 7370 79 11680 89 9190 1007 我們如果想將人數這一列複製,貼上到其它excel表中,由於新excel表中沒有原始資料 即公式函式的輸入引數 這時...