有關於VC維能夠在不少機器學習的理論中見到,它是一個重要的概念。在讀《神經網絡原理》的時候對一個實例不是很明白,經過這段時間觀看斯坦福的機器學習公開課及相關補充材料,又參考了一些網絡上的資料(主要是這篇,不過我的感受仍然沒有抓住重點),從新思考了一下,終於理解了這個定義所要傳達的思想。html
先要介紹分散(shatter)的概念:對於一個給定集合S={x1, ... ,xd},若是一個假設類H可以實現集合S中全部元素的任意一種標記方式,則稱H可以分散S。網絡
這樣以後纔有VC維的定義:H的VC維表示爲VC(H) ,指可以被H分散的最大集合的大小。若H能分散任意大小的集合,那麼VC(H)爲無窮大。在《神經網絡原理》中有另外一種記號:對於二分整體F,其VC維寫做VCdim(F)。機器學習
一般定義以後,會用二維線性分類器舉例說明爲何其VC維是3,而不能分散4個樣本的集合,這裏也就是容易產生困惑的地方。下面進行解釋。post
對於三個樣本點的狀況,下面的S1全部的標記方式是可使用線性分類器進行分類的,所以其VC維至少爲3(圖片來自於斯坦福機器學習公開課的materials,cs229-notes4.pdf):學習
雖然存在下面這種狀況的S2,其中一種標記方式沒法用線性分類器分類(圖片來自於斯坦福機器學習公開課的materials,cs229-notes4.pdf)url
但這種狀況並不影響,這是由於,上一種的S1中,咱們的H={二維線性分類器}能夠實現其全部可能標籤狀況的分類,這和S2不能用H分散無關。spa
而對於4個樣本點的狀況,咱們的H不能實現其全部可能標籤狀況的分類(這是通過證實的,過程不詳)以下圖中某個S和其中一種標籤分配狀況:htm
可見,H={二維線性分類器}的VC維是3。blog
從這個解釋過程能夠看出,對於VC維定義理解的前提是先理解分散的定義。分散中的集合S是事先選定的,而VC維是能分散集合中基數(即這裏的樣本數)最大的。所以,當VC(H)=3時,也可能存在S',|S'|=3但不能被H分散;而對於任意事先給定的S",|S"|=4,H不能對其全部可能的標籤分配方式進行分散。這裏所謂「事先給定」能夠看做其點在平面上位置已定,但所屬類別未定(便可能是任意一種標籤分配)。圖片
做者:五嶽
出處:http://www.cnblogs.com/wuyuegb2312 對於標題未標註爲「轉載」的文章均爲原創,其版權歸做者全部,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。