VC的一些理解

2021-06-28 16:07:55 字數 1022 閱讀 2187

vc維就是乙個係數,這個係數就是為了度量一組函式集的容量(capacity)。注意這裡的「函式」是廣義的,線性函式、多項式函式當然都是函式;對於乙個多層的神經網路,權值大小不知道(訓練神經元網路就是為了確定權值),每組權值就可以認為對應乙個函式。

而容量就反映了一組函式集對樣本的區分能力,容量越大,對應的一組函式集區分能力就越大;注意容量的大小跟這組函式集自由引數的多少是沒有必然聯絡的(不確信這樣說是否合適),因為函式集的vc為即為無窮大。

還有乙個應該注意的問題是:vapnik定義vc維是指能夠找到n個樣本可以被一組函式集打散(不是任意n個樣本都滿足這個條件)的最大n。比如說二維平面上空間上對於所有的線性分類面,能夠找到3個點可以被線性分類面打散,但不是任意三個點都能夠滿足這個條件(是不是?很簡單的,相信你能夠找到這樣的三個點)。再說說svm,說白了就是個線性分類面,不過是定義在高維特徵空間上的,跟感知機演算法相比就多了乙個最大間隔,沒別的,呵呵。(當然,暫時不考慮核函式對映問題)。那為啥最大間隔最好呢?vapnik用vc維解釋這回事:所有把兩類樣本以d間隔分開的線性函式組成的集合,假如記為f(隨便了,statistical learning theory中好像不是這樣記的,忘了),那麼d越大,函式集f的vc維就越小(vapnik的書有證明),d取極限情況不就是最大間隔超平面嗎?那為何vc維越小越好呢,就是因為這時推廣能力(或者說泛化能力,generalization,隨呢咋叫)好。統計學習理論中被叫爛了的那個結構風險最小化就是說這個事的。簡單的說就是推廣能力有兩個因素決定:訓練錯誤和置信範圍(置信範圍這個叫法很土),也就是stl中乙個很重要不等式右邊兩項,而結構風險最小化就是最小化前面那兩個的和;對於svm,既然都被線性分開了,訓練錯誤當然就是零了,那分類器的泛化效能就只由置信範圍來決定了,而vc維越小,置信範圍就越小了。

因此,svm就是在最小化經驗風險的基礎上從vc維最小的函式集裡面選擇函式,不是嗎?

(別忘了,vapnik也給什麼是機器學習下了個定義,就是從一組函式集裡面選擇函式,

就這麼簡單)我們當然也可以用別的方法尋找最好的函式,只要在尋找的時候記住結構

風險最小,那我們就可能找到別的機器學習演算法了。

一些VC外掛程式的簡介

1.visual assist 簡稱va va從5.0一直到現在的 vax,功能越來越強大,除了以前版本中的自動識別各種關鍵字,系統函式,成員變數,自動給出輸入提示,自動更正大小寫錯誤,自動標示錯誤等等以外,最新的版本中還在 workspace 視窗中加入乙個 va view 可以更方便的查詢工程中...

一些VC外掛程式的簡介

1.visual assist 簡稱va va從5.0一直到現在的vax,功能越來越強大,除了以前版本中的自動識別各種關鍵字,系統函式,成員變數,自動給出輸入提示,自動更正大小寫錯誤,自動標示錯誤等等以外,最新的版本中還在workspace視窗中加入乙個va view,可以更方便的查詢工程中的檔案 ...

VC控制項的一些原理

記得 vb中是怎麼處理控制項的吧,so easy 了。先在視窗上畫出乙個控制項,然後給他起個名字 name 然後 中所有的對於該控制項的操作都通過這個 name 來引用。例如,你要改變這個控制項的某些屬性,那麼通過這個 name 呼叫它的屬性,並相應的給屬性賦上你期望的值,那麼一切搞定。再如,你要條...