深入理解Vapnik-Chervonenkis(VC)維度:機器學習泛化能力的理論基礎

引言

通過本篇閱讀,從理論上去理解為什么:

  1. ? ? ? ? 要選擇復雜度低的模型
  2. ? ? ? ? 過擬合的時候,增加樣本量有用
  3. ? ? ? ? 以及如何根據樣本量選擇特征個數
  4. ? ? ? ??PAC機器學習框架, VC 維是機器學習最重要的基礎理論之一

? ? ? ? ?在機器學習領域,模型泛化能力是衡量算法性能的核心指標。一個關鍵問題是:如何確保在有限訓練數據上訓練的模型能夠有效預測未知數據?這正是Vapnik-Chervonenkis(VC)維度理論要解決的核心問題。

? ?我們核心是了解下面公式

? ? ?

公式原理參考:https://www.youtube.com/watch?v=EmSVek5QMnE)

? ?VC理論的核心貢獻是建立了泛化誤差上界,當固定模型的復雜度,增加樣本量可以降低過擬合風險

如果是線性分類器,其VC維如下:


目錄:

  1. ? ??vc維定義
  2. ? ? Shattering
  3. ? ? 機器學習VC維
  4. ? ? ?使用VC維度理論選擇模型

一? VC維定義(Vapnik-Chervonenkis Dimension)

? ? ? ? VC維度(Vapnik-Chervonenkis Dimension)由統計學習理論先驅Vladimir Vapnik和Alexey Chervonenkis于1971年提出,是量化模型復雜度的數學工具。

? ? ? ? ?定義為能被H(Hypothesis Class:? 假設空間,指模型可以學習的所有可能函數的集合)完全打散(shatter)的最大樣本點數n。完全打散意味著對于這n個點的任意標簽組合,H中均存在一個假設能正確分類。

? ? ?核心概念

  1. 打散(Shattering):如果對于任意標簽分配方式,假設類H都能完美分離樣本點,則稱H打散了該點集

  2. VC維度:假設類H能夠打散的最大點集的大小

  3. 關鍵性質

    • 線性分類器的VC維度 = 特征維度 + 1

    • 有限VC維度 ? 可學習性

    • VC維度越大,模型擬合能力越強,但泛化風險越高


二? Shattering

? ? ?

? ??打散(Shattering):如果對于任意標簽分配方式,假設類H都能完美分離樣本點,則稱H打散了該點集。

? ? 我們期望的規律: G(x)??x\rightarrow y?代表真實的規律

? ? 如果輸入的是x,那么 P(y=G(x))=1 ,我們不知道這個G(x)

? ? 所以我們在各種假設空間里面,找到假設的函數,來對真實規律的猜測

模型假設空間類型表達能力過擬合風險適用場景
線性回歸線性函數集合線性關系數據(如簡單回歸)
邏輯回歸線性分類器集合二分類問題(如垃圾郵件檢測)
決策樹離散樹結構集合多特征交互數據(如用戶畫像)
SVM(線性核)線性決策邊界集合線性可分數據(如文本分類)
SVM(RBF 核)高維線性決策邊界集合復雜非線性數據(如圖像分類)
神經網絡無限維非線性函數集合極高極高復雜模式識別(如語音、圖像)

? ?

? ?

? ? ? 1: N=2 兩個點的情況(則共有2^N=4種組合)

? ? ??

? ? ? ?我們可以看到這些組合都可以被線性分類器Shattering

? ? ? ? ? A line can shatter 2 points on?R^2

? ? ? ? 2? ?N=3?(則共有2^N=8種組合)

? 但是這種情況可以被線性分類器shatter,但是同樣N=3 下面這種情況,如果共線就不能被shatter,所以shatter 并不是shatter 所有組合,只要shatter 其中一個組合就可以

? 3? ?N=4?(則共有2^N=16種組合)

? ??

? ? ? ?這個時候我們發現我們找不到一個線性分類器(特征個數為2) 能夠shatter 上面的集合,

所以其VC 維=d(特征個數+1=3

? ?所以上面能夠shatter 最大的點的個數是N=3?

? ?N= d+1(其中d 是特征個數,為2維度)

??

??


三? ?機器學習VC維

? ? ? ?在機器學習領域,模型的復雜度與性能之間存在著微妙的平衡,即欠擬合與過擬合的權衡。欠擬合指的是模型過于簡單,無法捕捉數據中的復雜模式,導致在訓練和測試數據上表現均不佳。而過擬合則是模型過于復雜,過度擬合了訓練數據中的噪聲,雖然在訓練數據上表現優異,但在測試數據上表現糟糕。

? ? ? ?模型的表示能力,即其學習或表示數據復雜模式的能力,是影響模型性能的關鍵因素。表示能力越強的模型,越能夠捕捉數據中的復雜關系,但同時也可能更容易過擬合。因此,在選擇模型時,需要根據具體問題的復雜度來權衡模型的表示能力。

? ? ?為了量化模型的表示能力,機器學習領域引入了VC維(Vapnik-Chervonenkis維度)這一概念。VC維提供了模型能夠分類的最大點集數量的一個指標,VC維越高,模型的表示能力通常也越強。然而,高VC維也意味著模型更容易過擬合,因此在實際應用中,需要結合具體問題和數據特征來選擇合適的模型復雜度。

總之,在機器學習中,理解欠擬合與過擬合的權衡、模型的表示能力以及VC維等概念,對于選擇和優化模型具有重要的指導意義。

3.1??機器學習中的風險與經驗風險

? ? ? 在機器學習中,我們通常假設訓練數據是從某個分布?p(x)?中獨立同分布采樣得到的。為了評估模型的性能,我們引入了兩個重要概念:風險經驗風險

  • 風險(R(θ))代表了模型的“長期”測試誤差,即模型在未見過的數據上的預期表現。其數學表達式為:

    其中,δ?是指示函數,當條件滿足時取值為1,否則為0;

  • ? c?是真實標簽,c^(x;θ)?是模型預測的標簽。

  • 經驗風險(Remp(θ))則是我們在訓練數據上觀察到的誤差,也稱為訓練誤差。其數學表達式為:

    其中,m?是訓練樣本的數量,c(i)?和?x(i)?分別是第?i?個樣本的真實標簽和特征。

風險與經驗風險之間的關系反映了模型的過擬合程度:

  • 欠擬合領域,風險與經驗風險非常相似,意味著模型在訓練和測試數據上的表現相近,但都可能不夠理想。
  • 過擬合領域,經驗風險可能很低(模型在訓練數據上表現很好),但風險卻可能很高(模型在測試數據上表現糟糕)。

3.2? 跟VC dimension 的關系

3.3??? shattering

? ? ? 假設我們特征的個數是2 ,我們可以看到其可以正確分類所有2個點的集合

常見機器學習模型的VC維度:
--------------------------------------------------
? 線性分類器 (d維空間)        → d+1
? 決策樹 (k個葉子節點)        → k
? 神經網絡 (含L層,W個參數)   → O(WL)
? 支持向量機 (RBF核)         → ∞ (理論上)
? k近鄰算法 (k=1)            → ∞
? 簡單閾值函數                → 1


四? ?使用VC維度理論選擇模型

? ? 在機器學習中,避免過擬合選擇合適復雜度的模型至關重要。除了常用的交叉驗證(Cross-Validation)外,VC 維度(Vapnik-Chervonenkis Dimension)?提供了一種基于理論的方法來指導模型選擇。

? ? ?核心思想:結構風險最小化 (SRM)

  1. 衡量模型復雜度:?VC 維度 (h) 量化了一個模型類(例如,所有可能的線性分類器、所有特定深度的決策樹)的“擬合能力”或復雜度。VC 維度越高的模型類,擬合復雜模式的能力越強,但也更容易過擬合。

  2. 泛化誤差邊界:?統計學習理論提供了基于 VC 維度的泛化誤差邊界。這個邊界通常具有以下形式:
    測試誤差 ≤ 訓練誤差 + 懲罰項(VC維度 h, 樣本量 N, 置信度 δ)
    這個懲罰項隨著模型 VC 維度 (h) 的增加而增大,隨著訓練樣本量 (N) 的增加而減小。

  3. 模型選擇流程 (SRM):

    1. 定義一組具有不同 VC 維度的候選模型結構(例如,不同次數的多項式、不同層數的神經網絡、不同最大深度的樹)。

    2. 對于每個候選結構:

      • 在訓練數據上找到該結構下表現最好的模型(最小化訓練誤差)。

      • 計算該模型的訓練誤差

      • 計算基于該結構 VC 維度 (h) 和樣本量 (N) 的懲罰項

      • 計算泛化誤差上界?= 訓練誤差 + 懲罰項。

    3. ?選擇那個給出最小泛化誤差上界的模型結構。


?[VC Dimension]https://www.youtube.com/watch?v=puDzy2XmR5c&t=833s

[Model Complexity and VC Dimension]https://www.youtube.com/watch?v=8yWG7fhCpTw

[Understanding VC Dimension(Vapnik Chervonenkis Dimension) - Simplified Explanation for?]

[]https://www.youtube.com/watch?v=7O7RL5jHHNM

Machine Learning 15: VC-Dimension
[]https://www.youtube.com/watch?v=7O7RL5jHHNM

https://www.youtube.com/watch?v=XxPB9GlJEUk

https://www.youtube.com/watch?v=EmSVek5QMnE

  1. Vapnik, V. N., & Chervonenkis, A. Y. (1971). On the Uniform Convergence of Relative Frequencies of Events to Their Probabilities.

  2. Shalev-Shwartz, S., & Ben-David, S. (2014). Understanding Machine Learning: From Theory to Algorithms.

  3. Mohri, M., Rostamizadeh, A., & Talwalkar, A. (2018). Foundations of Machine Learning (2nd ed.).

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913083.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913083.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913083.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

redis持久化-純緩存模式

redis持久化-純緩存模式 文檔 redis單機安裝redis常用的五種數據類型redis數據類型-位圖bitmapredis數據類型-基數統計HyperLogLogredis數據類型-地理空間GEOredis數據類型-流Streamredis數據類型-位域bitfieldredis持久化-RDBredis持久化-AOFredis持久化-RDBAOF混合模式 官…

HTML DOM 訪問

HTML DOM 訪問 引言 HTML DOM(文檔對象模型)是現代Web開發中不可或缺的一部分。它允許開發者通過JavaScript操作HTML文檔中的元素,從而實現豐富的交互效果。本文將詳細介紹HTML DOM的訪問方法,包括如何獲取元素、如何修改元素屬…

雙系統如何做接口認證-V1

現有A系統,B系統,A系統啟動的時候調用B系統的注冊接口API1(把A系統配置信息注冊到B系統),A系統定時向B系統接口AP2發送心跳信息,B系統根據業務情況,調用A系統的業務接口AP3,請設計兩…

Wireshark TS | 詭異的光貓網絡問題

前言 來自于朋友分享的一個案例,最后定位的原因是光貓問題,而類似這類的設備所產生的網絡問題,也曾碰到過兩三次,但這一次的數據包現象挺特別,分析思路和過程也有所不同,故記錄分享一下。 問題背景 用戶所反…

mac mini m4安裝node.js@16以下版本方法

設備:mac mini m4 目的:使用nvm 安裝 node.js14.x 版本 結果:安裝不上 原因:Node.js 14 發布時,Apple Silicon(M1/M2)尚未普及,因此 沒有官方預編譯的 macOS ARM64 版本 處理方案&am…

系統安全設計方案,軟件系統安全設計方案

1.1 總體設計 1.1.1 設計原則 1.2 物理層安全 1.2.1 機房建設安全 1.2.2 電氣安全特性 1.2.3 設備安全 1.2.4 介質安全措施 1.3 網絡層安全 1.3.1 網絡結構安全 1.3.2 劃分子網絡 1.3.3 異常流量管理 1.3.4 網絡安全審計 1.3.5 網絡訪問控制 1.3.6 完整性檢查 1.…

Python入門Day3

Python的基礎數據類型 1.Python中提供了六種內置的數據類型,一般用于存儲數據: –數值Number –字符串String –列表List –元組Tuple –字典Dictionary –集合Set 2.Python中的數據類型可以做以下幾個分類: –有序:可以使用下標…

前端富文本添加錄音功能方案

為富文本編輯器添加錄音功能可以增強內容創作的多樣性。以下是幾種實現方案: 方案一:基于Web Audio API原生實現 實現步驟獲取用戶麥克風權限 navigator.mediaDevices.getUserMedia({ audio: true }).then(stream > { /* 處理音頻流 */ }).catch(err …

解鎖阿里云Hologres:開啟實時數據分析新時代

引言在當今這個數字化浪潮洶涌澎湃的大數據時代,數據就如同企業和組織的 “數字石油”,成為了最具價值的資產之一。隨著信息技術的飛速發展,各行業所產生和收集的數據量正以指數級的速度增長,從社交媒體上的用戶互動信息&#xff…

python學習打卡day59

DAY 59 經典時序預測模型3 知識點回顧: SARIMA模型的參數和用法:SARIMA(p, d, q)(P, D, Q)m模型結果的檢驗可視化(昨天說的是摘要表怎么看,今天是對這個內容可視化)多變量數據的理解:內生變量和外部變量多變…

java中agent的作用

一 java中agent1.1 agent-javaagent 是 Java 虛擬機 (JVM) 提供的一個啟動參數,用于在 Java 程序 main 方法執行之前,加載一個特殊的 Java 代理程序(Java Agent)。它的核心作用是對運行中的 Java 程序進行字節碼層面的動態修改、監…

[C/C++內存安全]_[中級]_[如何避免數組訪問越界]

場景 C/C的標準在C26以前還沒支持內存安全的訪問連續內存的類或特性。在開發分析內存數據或文件數據的程序時,經常需要把一段內存數據復制到另一個堆空間里。 這時目標內存空間由于起始地址的移動,剩余大小的計算錯誤,經常會導致訪問越界錯誤…

rabbitmq 與 Erlang 的版本對照表 win10 安裝方法

win10 64位系統 安裝的版本 otp_win64_27.3.3.exe rabbitmq-server-4.1.1.exe rabbitmq 與 Erlang 的版本對照表 Erlang Version Requirements This guide covers Erlang/OTP version requirements https://www.rabbitmq.com/docs/which-erlang Erlang 28 is not currently…

kali安裝教程

kali教程 我下載的是kali的集成環境,可以直接進行打開,無需進行安裝。 Get Kali | Kali Linux, 官網下載路徑 直接按enter鍵 安裝完成 生成一個小皮安裝鏈接 會給你生成一個外網和內網地址, 可以進行瀏覽 點擊我同意這個協議…

微信小程序入門實例_____快速搭建一個快遞查詢小程序?

🌷🌷之前幾篇博文我們一起開發了天氣查詢、單詞速記和待辦事項小程序,這次我們來對生活中常用的功能 —— 快遞查詢來探索相關的小程序。網購已經成為大家生活的一部分,有了自己的快遞查詢小程序,不用切換多個應用&…

【防火墻基礎之傳統墻到 UTM 到 NGFW 再到 AI 的變化】

防火墻技術演進與未來趨勢:從傳統防御到AI驅動的智能安全 防火墻技術歷經數十年發展,已從早期的簡單包過濾演進為融合AI的智能安全平臺。當前,傳統爬蟲防護技術如頻率限制和人機校驗已無法應對現代攻擊,而全面風控體系通過多維協同…

【仿muduo庫實現并發服務器】Poller模塊

仿muduo庫實現并發服務器 1.Poller模塊成員變量創建epoll模型對于一個描述符添加或修改事件監控對于一個描述符移除事件監控啟動epoll事件監控,獲取所有活躍連接 1.Poller模塊 Poller模塊主要是對任意的描述符進行IO事件監控。 它是對epoll的封裝,可以讓…

小程序學習筆記:使用 MobX 實現全局數據共享,實例創建、計算屬性與 Actions 方法

在小程序開發過程中,組件間的數據共享是一個常見且關鍵的問題。今天,我們就來深入探討一下如何在小程序中實現全局數據共享,借助 MobX 相關的包,讓數據管理變得更加高效便捷。 什么是全局數據共享 全局數據共享,也被…

觀測云 × AWS SSO:權限治理可觀測實踐

AWS IAM Identity Center 介紹 AWS IAM Identity Center(原 AWS Single Sign-On)是 AWS 提供的一項云原生身份與訪問管理(IAM)服務,旨在集中簡化多 AWS 賬戶、多業務應用的安全訪問控制。 觀測云 觀測云是一款專為 …

springboot整合配置swagger3

一. swagger3介紹 Swagger 3 是基于 OpenAPI 規范 3.0 的 API 文檔工具,用于設計、構建和消費 RESTful API。它通過標準化描述 API 的接口、參數、響應等元數據,實現以下核心功能: 自動生成交互式文檔API 測試與調試代碼生成(客…