Machine Learning Foundations 作业二 Question 10 解答
2018-01-27 01:55
525 查看
台大线上课程的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
这个题目的解答,可以参考网路上这位仁兄所写的:
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
相关文章推荐
- 機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 课后习题解答
- 機器學習基石 机器学习基石(Machine Learning Foundations) 作业1 习题解答
- 機器學習基石(Machine Learning Foundations) 机器学习基石 作业二 课后习题解答
- Machine Learning Foundations 作业二 Question 4
- 機器學習基石(Machine Learning Foundations) 机器学习基石 作业四 课后习题解答
- 機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 课后习题解答
- 機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 Q13-15 C++实现
- 機器學習基石 (Machine Learning Foundations) 作业1 Q15-17的C++实现
- 機器學習基石 (Machine Learning Foundations) 作业1 Q15-17的C++实现
- 機器學習基石 (Machine Learning Foundations) 作业1 Q18-20的C++实现(pocket)
- Week 10:Large Scale Machine Learning课后习题解答
- 機器學習基石(Machine Learning Foundations) 机器学习基石 作业四 Q13-20 MATLAB实现
- 機器學習基石(Machine Learning Foundations) 机器学习基石 作业四 Q13-20 MATLAB实现
- Week 10:Large Scale Machine Learning课后习题解答
- 機器學習基石 机器学习基石 (Machine Learning Foundations) 作业二 Q19-20 C++实现
- 機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 Q18-20 C++实现
- Week 10:Large Scale Machine Learning课后习题解答
- Machine Learning Foundations(NTU) 第一次作业
- machine-learning第三周 上机作业
- Week6_Machine Learning System Design课后习题解答