前言
前幾天在回顧壓縮感知中的特征選擇與LASSO回歸發現了這個Tikhonov regularization,查了一下叫個如題的名字。先來淺說一下正則化這玩意:正則化(Regularization)是一種用來防止模型過擬合(Overfitting)的技術。過擬合指的是模型在訓練數據上表現得過于完美,但是當遇到新的、未見過的數據時,模型的表現卻大幅下降,即模型的泛化能力較差。這通常發生在模型過于復雜,以至于它開始捕捉訓練數據中的噪聲和隨機波動,而不是數據背后的真實規律。
正則化通過在損失函數(Loss Function)中添加一個懲罰項(Penalty Term)來實現,這個懲罰項與模型的復雜度相關。模型越復雜,懲罰項的值就越大,從而使得損失函數的總值也越大。在訓練過程中,模型會嘗試同時最小化原始損失函數(如均方誤差、交叉熵等)和正則化項,以達到一個平衡點。這樣,正則化就鼓勵模型在擬合訓練數據的同時,保持較低的復雜度,從而提高模型的泛化能力。
常見的正則化方法包括:
1、L1正則化(LASSO回歸):通過在損失函數中添加模型權重的絕對值之和作為懲罰項,來鼓勵模型產生稀疏的權重,即許多權重變為零。這有助于降低模型的復雜度,因為它實際上移除了對最終預測沒有貢獻的特征。
2、L2正則化(嶺回歸):通過在損失函數中添加模型權重的平方和作為懲罰項,來防止權重變得過大。這有助于減少模型的復雜度,因為它限制了權重的大小,使得模型在擬合數據時更加平滑,不易受到極端數據點的影響。
3、Dropout:在神經網絡中,Dropout通過在訓練過程中隨機丟棄(即將輸出設置為零)一部分神經元來工作。這可以被視為一種集成方法,因為它訓練了多個網絡(每個都丟棄了不同的神經元),然后在測試時使用這些網絡的平均輸出來做預測。Dropout有效地減少了神經網絡對特定神經元或連接的依賴,從而提高了模型的泛化能力。
4、早停法(Early Stopping):雖然不是直接對模型參數進行正則化,但早停法通過監控模型在驗證集上的性能,并在性能開始下降時停止訓練,來防止過擬合。這可以看作是一種對訓練過程的正則化。
5、彈性網絡:前兩種的結合。
吉洪諾夫正則化
接下來的內容就是別人的內容了,我先介紹完再做補充吧。吉洪諾夫正則化,說實話這篇文章是我搜集到的關于此內容寫的比較詳細的了,尤其是文中的公式推導方面。
下面說一下它的結果:
正則化的部分就是加了吉洪諾夫矩陣 Γ \Gamma Γ乘以變量 x x x,如果沒有這項的話,令導數為 0 0 0所得的結果: x = ( C T C ) ? 1 C T y x=(C^{T}C)^{-1}C^{T}y x=(CTC)?1CTy,也就是用 ( C T C + Γ T Γ ) ? 1 (C^{T}C+\Gamma ^{T}\Gamma)^{-1} (CTC+ΓTΓ)?1代替了 ( C T C ) (C^{T}C) (CTC)。
Tikhonov 正則化的本質是通過對非滿秩的矩陣 C C C的協方差矩陣 C T C C^{T}C CTC加入吉洪諾夫矩陣的協方差矩陣,使得奇異的協方差矩陣 C T C C^{T}C CTC求逆變為非奇異矩陣 ( C T C + Γ T Γ ) ? 1 (C^{T}C+\Gamma^{T}\Gamma)^{-1} (CTC+ΓTΓ)?1的求逆,從而大大改善求解非滿秩矩陣 y = C x y =Cx y=Cx的數值穩定性,增加的項對其施加一個懲罰,其得到的解比僅優化 C T C C^{T}C CTC更切合實際。
如果這個吉洪諾夫矩陣是單位矩陣的倍數,這樣說不太恰當,就是等于 λ I \lambda I λI的時候,此時退化為二范數懲罰項。
對于圖片中注釋的矩陣求導部分,在B站上找到了相關講解的視頻:(在例題中提到)。
矩陣求導
參考
除了上邊提到的兩個,還有以下幾個:
博客園吉洪諾夫正則化
騰訊云吉洪諾夫正則化更詳細一點