目錄
LP範數
# L2範數是最熟悉的,它就是歐幾里德距離,公式如下:
引入PRML一個經典的圖來說明下L1和L2範數的區別,如下圖所示:
Dropout
Batch Normalization
歸一化、標準化 & 正規化
歸一化和標準化的區別:
為什麼要標準化和歸一化?
首頁 科技週邊 人工智慧 機器學習必備:如何防止過擬合?

機器學習必備:如何防止過擬合?

Apr 13, 2023 pm 06:37 PM
機器學習 演算法 深度學習

其實正則化的本質很簡單,就是對某一問題加以先驗的限製或約束以達到某種特定目的的一種手段或操作。在演算法中使用正規化的目的是防止模型出現過擬合。一提到正規化,很多同學可能馬上會想到常用的L1範數和L2範數,在總結之前,我們先看下LP範數是什麼?

LP範數

範數簡單可以理解為用來表徵向量空間中的距離,而距離的定義很抽象,只要滿足非負、自反、三角不等式就可以稱之為距離。

LP範數不是一個範數,而是一組範數,其定義如下:

機器學習必備:如何防止過擬合?

p的範圍是[1,∞)。 p在(0,1)範圍內定義的並不是範數,因為違反了三角不等式。

根據pp的變化,範數也有不同的變化,借用一個經典的有關P範數的變化圖如下:

機器學習必備:如何防止過擬合?

##上圖表示了p從0到正無窮變化時,單位球(unit ball)的變化。在P範數下定義的單位球都是凸集,但是當0

那問題來了,L0範數是啥玩意? L0範數表示向量中非零元素的個數,用公式表示如下:

機器學習必備:如何防止過擬合?

#我們可以透過最小化L0範數,來找出最少最優的稀疏特徵項。但不幸的是,L0範數的最佳化問題是一個NP hard問題(L0範數同樣是非凸的)。因此,在實際應用中我們經常對L0進行凸鬆弛,理論上有證明,L1範數是L0範數的最優凸近似,因此通常使用L1範數來代替直接優化L0範數。

L1範數

根據LP範數的定義我們可以很輕鬆的得到L1範數的數學形式:

機器學習必備:如何防止過擬合?

通過上式可以看到,L1範數就是向量各元素的絕對值總和,也稱為是"稀疏規則算子"(Lasso regularization)。那麼問題來了,為什麼我們希望稀疏化呢?稀疏化有很多好處,最直接的兩個:

    特徵選擇
  • 可解釋性
  • ##L2範數

# L2範數是最熟悉的,它就是歐幾里德距離,公式如下:

機器學習必備:如何防止過擬合?L2範數有很多名稱,有人把它的回歸叫做「嶺回歸」(Ridge Regression),也有人叫它「權值衰減」(Weight Decay)。以L2範數作為正則項可以得到稠密解,即每個特徵對應的參數ww都很小,接近於0但是不為0;此外,L2範數作為正則化項,可以防止模型為了迎合訓練集而過於複雜造成過擬合的情況,進而提高模型的泛化能力。

L1範數和L2範數的區別

引入PRML一個經典的圖來說明下L1和L2範數的區別,如下圖所示:

機器學習必備:如何防止過擬合?

機器學習必備:如何防止過擬合?如上圖所示,藍色的圓圈表示問題可能的解範圍,橘色的表示正規項可能的解範圍。而整個目標函數(原問題 正規項)有解當且僅當兩個解範圍相切。從上圖可以很容易地看出,由於L2範數解範圍是圓,所以相切的點有很大可能不在座標軸上,而由於L1範數是菱形(頂點是凸出來的),其相切的點更可能在座標軸上,而座標軸上的點有一個特點,其只有一個座標分量不為零,其他座標分量為零,即是稀疏的。所以有以下結論,L1範數可以導致稀疏解,L2範數導致稠密解。

從貝葉斯先驗的角度看,當訓練一個模型時,僅依靠當前的訓練資料集是不夠的,為了實現更好的泛化能力,往往需要加入先驗項,而加入正規項相當於加入了一種先驗。

  • L1範數相當於加入了一個Laplacean先驗;
  • L2範數相當於加入了一個Gaussian先驗。

如下圖所示:

機器學習必備:如何防止過擬合?

Dropout

Dropout是深度學習中常採用的正規化方法。它的做法可以簡單的理解為在DNNs訓練的過程中以機率pp丟棄部分神經元,即使得被丟棄的神經元輸出為0。 Dropout可以實例化的表示為下圖:

機器學習必備:如何防止過擬合?

我們可以從兩個面向直觀地理解Dropout的正規化效果:

  • 在Dropout每一輪訓練過程中隨機丟失神經元的操作相當於多個DNNs進行取平均,因此用於預測時具有vote的效果。
  • 減少神經元之間複雜的共適應性。當隱藏層神經元被隨機刪除之後,使得全連結網路具有了一定的稀疏化,從而有效地減輕了不同特徵的協同效應。也就是說,有些特徵可能會依賴固定關係的隱含節點的共同作用,而透過Dropout的話,就有效地組織了某些特徵在其他特徵存在下才有效果的情況,增加了神經網路的魯棒性。

Batch Normalization

批次規範化(Batch Normalization)嚴格意義上來說屬於歸一化手段,主要用於加速網路的收斂,但也具有一定程度的正則化效果。

這裡借鏡下魏秀參博士的知乎回答中對covariate shift的解釋。

註:以下內容引自魏秀參博士的知乎回答大家都知道在統計機器學習中的一個經典假設是「來源空間(source domain)和目標空間(target domain)的資料分佈(distribution)是一致的」。如果不一致,那麼就出現了新的機器學習問題,如transfer learning/domain adaptation等。而covariate shift就是分佈不一致假設之下的一個分支問題,它是指源空間和目標空間的條件機率是一致的,但是其邊緣機率不同。大家細想便會發現,的確,對於神經網路的各層輸出,由於它們經過了層內操作作用,其分佈顯然與各層對應的輸入訊號分佈不同,而且差異會隨著網路深度增大而增大,可是它們所能「指示」的樣本標記(label)仍然是不變的,這便符合了covariate shift的定義。

BN的基本思想其實相當直觀,因為神經網路在做非線性變換前的激活輸入值(X=WU B,U是輸入)隨著網路深度加深,其分佈逐漸發生偏移或者變動(即上述的covariate shift)。之所以訓練收斂慢,一般是整體分佈逐漸往非線性函數的值區間的上下限兩端靠近(對於Sigmoid函數來說,意味著激活輸入值X=WU B是大的負值或正值) ,所以這導致後向傳播時低層神經網路的梯度消失,這是訓練深層神經網路收斂越來越慢的本質原因。而BN就是透過一定的規範化手段,把每層神經網路任意神經元這個輸入值的分佈強行拉回到均值為0方差為1的標準正態分佈,避免因為激活函數導致的梯度彌散問題。所以與其說BN的作用是緩解covariate shift,倒不如說BN可緩解梯度彌散問題。

歸一化、標準化 & 正規化

正則化我們以及提到過了,這裡簡單提一下歸一化和標準化。歸一化(Normalization):歸一化的目標是找到某種映射關係,將原始資料映射到[a,b]區間。一般a,b會取[−1,1],[0,1]這些組合。一般有兩種應用場景:

  • 把數變成(0, 1)之間的小數
  • 把有量綱的數轉換成無量綱的數

常用min-max normalization:

機器學習必備:如何防止過擬合?

#標準化(Standardization):以大數定理將資料轉換為標準常態分佈,標準化公式為:

機器學習必備:如何防止過擬合?

歸一化和標準化的區別:

我們可以這樣簡單地解釋:歸一化的縮放是「拍扁」統一到區間(僅由極值決定),而標準化的縮放是更「彈性」和「動態」的,和整體樣本的分佈有很大的關係。值得注意:

  • 歸一化:縮放僅跟最大、最小值的差異有關。
  • 標準化:縮放和每個點都有關係,透過變異數(variance)體現。與歸一化對比,標準化中所有數據點都有貢獻(透過平均值和標準差造成影響)。

為什麼要標準化和歸一化?

  • 提升模型精確度:歸一化後,不同維度之間的特徵在數值上有一定比較性,可以大幅提升分類器的準確性。
  • 加速模型收斂:標準化後,最優解的尋優過程明顯會變得平緩,更容易正確的收斂到最優解。如下圖所示:

機器學習必備:如何防止過擬合?

機器學習必備:如何防止過擬合?

以上是機器學習必備:如何防止過擬合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

一文帶您了解SHAP:機器學習的模型解釋 一文帶您了解SHAP:機器學習的模型解釋 Jun 01, 2024 am 10:58 AM

在機器學習和資料科學領域,模型的可解釋性一直是研究者和實踐者關注的焦點。隨著深度學習和整合方法等複雜模型的廣泛應用,理解模型的決策過程變得尤為重要。可解釋人工智慧(ExplainableAI|XAI)透過提高模型的透明度,幫助建立對機器學習模型的信任和信心。提高模型的透明度可以透過多種複雜模型的廣泛應用等方法來實現,以及用於解釋模型的決策過程。這些方法包括特徵重要性分析、模型預測區間估計、局部可解釋性演算法等。特徵重要性分析可以透過評估模型對輸入特徵的影響程度來解釋模型的決策過程。模型預測區間估計

超越ORB-SLAM3! SL-SLAM:低光、嚴重抖動和弱紋理場景全搞定 超越ORB-SLAM3! SL-SLAM:低光、嚴重抖動和弱紋理場景全搞定 May 30, 2024 am 09:35 AM

寫在前面今天我們探討下深度學習技術如何改善在複雜環境中基於視覺的SLAM(同時定位與地圖建構)表現。透過將深度特徵提取和深度匹配方法相結合,這裡介紹了一種多功能的混合視覺SLAM系統,旨在提高在諸如低光條件、動態光照、弱紋理區域和嚴重抖動等挑戰性場景中的適應性。我們的系統支援多種模式,包括拓展單目、立體、單目-慣性以及立體-慣性配置。除此之外,也分析如何將視覺SLAM與深度學習方法結合,以啟發其他研究。透過在公共資料集和自採樣資料上的廣泛實驗,展示了SL-SLAM在定位精度和追蹤魯棒性方面優

使用C++實現機器學習演算法:常見挑戰及解決方案 使用C++實現機器學習演算法:常見挑戰及解決方案 Jun 03, 2024 pm 01:25 PM

C++中機器學習演算法面臨的常見挑戰包括記憶體管理、多執行緒、效能最佳化和可維護性。解決方案包括使用智慧指標、現代線程庫、SIMD指令和第三方庫,並遵循程式碼風格指南和使用自動化工具。實作案例展示如何利用Eigen函式庫實現線性迴歸演算法,有效地管理記憶體和使用高效能矩陣操作。

可解釋性人工智慧:解釋複雜的AI/ML模型 可解釋性人工智慧:解釋複雜的AI/ML模型 Jun 03, 2024 pm 10:08 PM

譯者|李睿審校|重樓人工智慧(AI)和機器學習(ML)模型如今變得越來越複雜,這些模型產生的產出是黑盒子-無法向利害關係人解釋。可解釋性人工智慧(XAI)致力於透過讓利害關係人理解這些模型的工作方式來解決這個問題,確保他們理解這些模型實際上是如何做出決策的,並確保人工智慧系統中的透明度、信任度和問責制來解決這個問題。本文探討了各種可解釋性人工智慧(XAI)技術,以闡明它們的基本原理。可解釋性人工智慧至關重要的幾個原因信任度和透明度:為了讓人工智慧系統被廣泛接受和信任,使用者需要了解決策是如何做出的

你所不知道的機器學習五大學派 你所不知道的機器學習五大學派 Jun 05, 2024 pm 08:51 PM

機器學習是人工智慧的重要分支,它賦予電腦從數據中學習的能力,並能夠在無需明確編程的情況下改進自身能力。機器學習在各個領域都有廣泛的應用,從影像辨識和自然語言處理到推薦系統和詐欺偵測,它正在改變我們的生活方式。機器學習領域存在著多種不同的方法和理論,其中最具影響力的五種方法被稱為「機器學習五大派」。這五大派分別為符號派、聯結派、進化派、貝葉斯派和類推學派。 1.符號學派符號學(Symbolism),又稱符號主義,強調利用符號進行邏輯推理和表達知識。該學派認為學習是一種逆向演繹的過程,透過現有的

改進的檢測演算法:用於高解析度光學遙感影像目標檢測 改進的檢測演算法:用於高解析度光學遙感影像目標檢測 Jun 06, 2024 pm 12:33 PM

01前景概要目前,難以在檢測效率和檢測結果之間取得適當的平衡。我們研究了一種用於高解析度光學遙感影像中目標偵測的增強YOLOv5演算法,利用多層特徵金字塔、多重偵測頭策略和混合注意力模組來提高光學遙感影像的目標偵測網路的效果。根據SIMD資料集,新演算法的mAP比YOLOv5好2.2%,比YOLOX好8.48%,在偵測結果和速度之間達到了更好的平衡。 02背景&動機隨著遠感技術的快速發展,高解析度光學遠感影像已被用於描述地球表面的許多物體,包括飛機、汽車、建築物等。目標檢測在遠感影像的解釋中

Flash Attention穩定嗎? Meta、哈佛發現其模型權重偏差呈現數量級波動 Flash Attention穩定嗎? Meta、哈佛發現其模型權重偏差呈現數量級波動 May 30, 2024 pm 01:24 PM

MetaFAIR聯合哈佛優化大規模機器學習時所產生的資料偏差,提供了新的研究架構。據所周知,大語言模型的訓練常常需要數月的時間,使用數百甚至上千個GPU。以LLaMA270B模型為例,其訓練總共需要1,720,320個GPU小時。由於這些工作負載的規模和複雜性,導致訓練大模型存在著獨特的系統性挑戰。最近,許多機構在訓練SOTA生成式AI模型時報告了訓練過程中的不穩定情況,它們通常以損失尖峰的形式出現,例如Google的PaLM模型訓練過程中出現了多達20次的損失尖峰。數值偏差是造成這種訓練不準確性的根因,

C++技術中的機器學習:使用C++實作常見機器學習演算法的指南 C++技術中的機器學習:使用C++實作常見機器學習演算法的指南 Jun 03, 2024 pm 07:33 PM

在C++中,機器學習演算法的實作方式包括:線性迴歸:用於預測連續變量,步驟包括載入資料、計算權重和偏差、更新參數和預測。邏輯迴歸:用於預測離散變量,流程與線性迴歸類似,但使用sigmoid函數進行預測。支援向量機:一種強大的分類和回歸演算法,涉及計算支援向量和預測標籤。

See all articles