VC维理论

来源:互联网 发布:vr全景拼接软件 编辑:程序博客网 时间:2024/05/17 23:45

支持向量机是建立在统计学中的结构风险最小化和VC维理论基础之上的

结构风险最小化 = 经验风险 + 置信风险

经验风险  = 分类器在给定样本上的误差

置信风险  = 分类器在非指定样本上的误差 (即:推广能力的误差)


置信风险影响因素:

样本数量越大,学习结果越有可能正确,此时置信风险就越少; 而对于VC维,该值越大,则推广能力越差,置信风险就越大;所以综上来说,提高样本数量,降低VC维,便会降低置信风险


以前机器学习的目标是降低经验风险,要降低经验风险,就要提高分类函数的复杂度,导致VC维很高,VC维高,置信风险就高,所以,结构风险也高。 这是SVM比其他机器学习具有优势的地方。

VC维的直观定义是:对一个指标函数集,如果存在h 个样本能够被函数集中的函数按所有可能的2h种形式分开,则称函数集能够把h个样本打散;函数集的VC维就是它能打散的最大样本数目h。若对任意数 目的样本都有函数能将它们打散,则函数集的VC维是无穷大,有界实函数的VC维可以通过用一定的阀值将它转化成指示函数来定义。

故有这样的结论,平面内只能找到3个点能被直线打散而不找到第4个。

对于这个结论我是如下理解的:

(1)平面内只能找到3个点能被直线打散:直线只能把一堆点分成两堆,对于3个点,要分成两堆加上顺序就有23种。其中A、B、C表示3个点,+1,-1表示堆的类别, {A→-1,BC→+1}表示A分在标号为-1的那堆,B和C分在标号为+1的那堆。这就是一种分发。以此类推。则有如下8种分法:

{A→-1,BC→+1},{A→+1,BC→-1}

{B→-1,AC→+1},{B→+1,BC→-1}

{C→-1,AB→+1},{C→+1,BC→-1}

{ABC→-1},{ABC→+1}

(2)找不到4个点。假设有,则应该有24=16分法,但是把四个点分成两堆有:一堆一个点另一对三个点(1,3);两两均分(2,2);一堆四个另一堆没有(0,4)三种情况。对于第一种情况,4个点可分别做一次一个一堆的,加上顺序就有8种:

{A→-1,BCD→+1},{A→+1,BCD→-1}

{B→-1,ACD→+1},{B→+1,ACD→-1}

{C→-1,ABD→+1},{C→+1,ABD→-1}

{D→-1,ABC→+1},{D→+1,ABC→-1};

对于第二种情况有4种:

{AB→-1,CD→+1},{AB→+1,CD→-1}

{AC→-1,BD→+1},{AC→+1,BD→-1}

没有一条直线能使AD在一堆,BC在一堆, 因为A、D处在对角线位置,B、C处在对角线位置。(这是我直观在图上找出来的)

对于第三种情况有2种;

{ABCD→-1}

{ABCD→+1}

所以总共加起来只有8+4+2=14种分法,不满足24=16分法,所以平面找不到4个点能被直线打散。

0 0