Machine Learning Foundations 作业二 Question 9 解法

自从发表了台大线上课程,Machine Learning Foundations作业一与作业二的某些题目的解法后,陆续接到许多朋友的要求,希望我提供更多题目的解法。当然,网路上有许可供参考,本人在做题目时,也的确参考了那些解法。只是有些解法对我来说是一步登天,对于问题的彻底了解帮助有限。花了一些时间了解之后,希望能用深入浅出的方式,把问题说清楚,答案讲明白。

这道题目是该课程作业二的第9题,其解答为D+1。接下来为各位朋友说明这道题目的解题过程。 

首先,我们撇开sign不看,发现这是一个多项式的式子。我们先看D = 1的情况: 


D = 1时,y = c0 + c1 * x , 代表直线,可以改写成 y = s (x - a1) 。我们从上图可以看出,s和a1,这两个参数可以决定这条直线的样子。所以当D = 1时,VC dimension = 2

我们再来看D = 2: 


D = 2时,此多项式为一元二次的曲线,我们把这个曲线改写成 y = s (x - a1) ( x - a2) 。从上图可以看出,s、a1、a2,这三个参数可以决定这条曲线的样子。所以当D = 2时,VC dimension = 3

最后,来看D = 3: 


D = 3时,此多项式为一元三次的曲线,此曲线可以改写成 y = s (x - a1) ( x - a2) (x - a3) 。从上图可以看出,s、a1、a2、a3,这四个参数足以决定这条曲线的样子。所以当D =3时,VC dimension = 4。

我们可以检验一下,这种想法是否正确。拿D = 2,也就是若我们的Hypothesis为一元二次的曲线,那么它的VC dimension为多少?下图解释,N = 3代表有3个点要做分类,N = 4代表有4个点要做分类。分类的方法都是指定用一元二次的曲线。

先看N = 3:我们发现,一元二次曲线完全可以对所有情况做分类。共有2^3 = 8种情况。所以对于该hypothesis set H而言,在N = 3的情况下,此set的最大数量为mH(3)。

再看N = 4:有一种情况,想将4个点分为(+, -, +, -),用一元二次曲线是不可行的,只能交由一元三次曲线做分类。如下图所示。 


所以依照VC dimension的定义

dVC(H) = 3, for D = 2

推广之

dVC(H) = D + 1, for degree D

-Count 



阅读更多
想对作者说点什么?
相关热词

博主推荐

换一批

没有更多推荐了,返回首页