Machine Learning Foundations 作业二 Question 10 解答

台大线上课程的Machine Learning Foundations,作业二 Question 10:




这个题目的解答,可以参考网路上这位仁兄所写的:

http://beader.me/2014/02/22/vc-dimension-three/


我也是先参考这篇文章后,思考了一段时间,才真正了解这道题目的意思。想将自己理解的过程分享大家,故有此文。


在解这道题之前,先了解题目在讲什么?什么是Simplified Decision Trees?H所代表的是那一种型式的Hypothesis Set?我们很容易被题目里出现的一大堆不熟悉的数学符号唬住。所以,先了解这些数学符号,才是首要之务。


我们先将d设为2,这样可以简化问题,去理解H到底是什么样的Hypothesis Set?先看看,这时候,S长什么样子?


S a collection of vectors in {0, 1}^2


{0, 1}^2是什么意思?


请参考WIKI的Cartesian Product (笛卡尔积)


https://en.wikipedia.org/wiki/Cartesian_product


也可以参考 数学指南 实用数学手册 笛卡尔积 p644, p887, p895


所以:



于是


S a collection of vectors in {0, 1}^2


这句话就是


S a collection of vectors in {(0, 0), (0, 1), (1, 0), (1, 1)}


这又是什么意思呢?意思是,S的集合里的元素,是由这4个vector组合而成的:

s1 = (0, 0), s2 = (0, 1), s3 = (1, 0), s4 = (1, 1)


共有几种这样的S?这是Power Set的概念,请参考WIKI


https://en.wikipedia.org/wiki/Power_set



所以S共有16种可能。列举其中几种可能:


S = empty

S = {s4}

S = {s1, s2}

S = {s1, s3, s4}

S = {s1, s2, s3, s4}


接下来,解释这个式子:



还是一头雾水,到底这个式子是在讲什么?有数学式子是这样写的吗?我们把i拆解开来:


因为 d = 2,所以 i = 1, 2。


v1 = [[ x1 > t1 ]]

v2 = [[ x2 > t2 ]]


还好我写过程式,可以用程式的角度去想,>做的是逻辑运算,若成立,就是1,否则为0。那么,为何要被 [[ 和 ]] 包围起来?这是要强调被 [[ 和 ]] 包围起来,表示里面是在做逻辑运算,其结果不是1就是0。举一例:


x = (3, 4)

t = (5, 2)


v1 = [[x1 > t1]] = [[3 > 5]] = 0

v2 = [[x2 > t2]] = [[4 > 2]] = 1


v = (v1, v2) = (0, 1)


所以我们发现,原来



是在做座标转换。什么意思?画图表示:



接下来,解释这道式子:



先看看这个


被 [[ 与 ]] 包围的,就是在做逻辑运算。意思就是,当v属于S,则为1,否则为0。举两个例子:


Case 1:



Case 2:



这样大家是不是了解H所代表的Hypothesis Set长什么样子的吧?其实很简单,就是当d=2的情况下,以t为中心,将平面切成4个区域:s1, s2, s3, s4


该了解的都了解之后,我们可以开始回答问题本身:


What is the VC-dimension of the “simplified decision trees” hypothesis set?


还是一样,先看d=2的情况,假设有4个点,p1, p2, p3, p4,是否都可以从H找到h来区分这4个点?



共有16个情况,只列前面8种,是因为将前面的8种,反过来,就是后面的8种。这16种情况,都能从H找到h,区分4个点。如上图,要满足第2个情况:(p1, p2, p3, p4) = (+, +, +, -),t要摆在那里?摆在4个点的中间。S要长什么样子?如下:



考虑平面上有5个点:p1, p2, p3, p4, p5

p1 = p2 = p3 = p4 = +1

p5 = -1


因为t只能将平面切成4个部份。所以,第5个点,p5,不管怎么放,都会和另外1个点处在同一区域。如下图p2和p5处在同一位置。这样一下,经过座标转换,p2和p5就贴在一起,变成(1,0)。可是同一个点,不能同时为+1,与-1,所以这种情况不可能发生。




所以:

d = 2, dvc = 4 = 2^2


t能将三维空间,分为8块,所以:

d = 3, dvc = 8 = 2^3


然后,d维空间,用数学归纳法,可以得到:  

dvc = 2^d


-Count


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值