![快乐机器学习](https://wfqqreader-1252317822.image.myqcloud.com/cover/216/32375216/b_32375216.jpg)
2.1 基础知识
2.1.1 二分类
二分类(Binary Classification)问题是将一组数据按照某个规则分为两类:用h(x)=1表示正类,用h(x)=-1表示负类。具体的二分类例子包括正射线、正间隔、一维感知器和二维感知器,具体介绍如下所示。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_43_1.jpg?sign=1739381370-bnFV2SemjCVwNMR4Axo7GkJAX3WMNzy2-0-02c2c8a24b4b997a5a6d395a74f2be38)
续表
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_44_1.jpg?sign=1739381370-OBzabmda7oqZHmqM2KwOUC55L2rypSbu-0-ad968bb761de3916520ebcd1c91d7973)
本章在证明机器学习是可行的同时,仅以二分类问题来举例。细心的读者可能会看出来,在上面的例子中,红心和绿圆正好是线性可分的,但是在有些情况下样例是线性不可分的,如下图所示。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_44_2.jpg?sign=1739381370-x2SZFYMl7ixy6whPkXC09QPN8wM4xjMh-0-a0db2aeee7a72ba2edd801c241701aeb)
线性不可分的例子
左图所示的4种二分类问题根据其定义都不可能用一条直线把红心和绿圆分开,而我们感兴趣的是,对于每个二分类问题,在什么情况下n个样例能被线性对分?
2.1.2 对分
假设数据集中包含n个样例,每个样例可以被分为两类,n个样例就有2n种分类结果。例如,当n=2时,正类为红心,负类为绿圆,将两个点分别设为红心或绿圆,则一共有22=4种分类结果。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_44_3.jpg?sign=1739381370-WronQm75my5hZM7aW4fXIP3Je8TbWC3f-0-12f1e1e2fac4acf09e2f9b0e5fd9f947)
两个样例有4种不同的分类结果
假设之后经过某种操作H将红心和绿圆线性分开,则这种操作被定义为对分(Dichotomy)。如下图所示,对分操作可以被看成是用一条直线把红心和绿圆分开,两个样例的对分结果一共有4种。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_45_1.jpg?sign=1739381370-MzDMrX8sufagdWgjCkW0s5UrEUHIwgiO-0-9f9e77acb8765b214bd751c9c68f15c1)
两个样例的对分
因此,n个样例的对分结果最多有2n种,但是通常会少于2n种。
下面分析2.1.1节介绍的4种二分类问题的对分结果有多少种。这里将对分结果定义为dH(n),其中H是某种对分操作,n是数据的个数。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_45_2.jpg?sign=1739381370-UXf52yxc17gM3BrUNgY37j1SAd7oRPci-0-3f1c0da3f217d2aad23154de878af7d9)
续表
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_46_1.jpg?sign=1739381370-Mc72qfL5CWwC58dg8vM8fSXqvlCTzMKi-0-42ac8ff50deba130cabf719e052de0cc)
下表中总结了各种二分类问题的对分结果种类dH(n)。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_47_1.jpg?sign=1739381370-IVr7uw5idCpZYypdKrKzixRr7meglbiz-0-0ae7ee1cf2940c1dcdd128d37a1a9e1b)
2.1.3 增长函数
由于对分结果dH(n)在固定为n个样例的情况下可能有多个值,比如在二维感知器有3个样例的情况下,dH(3)等于6或8,这3个样例不同的分布情况如下图所示。
mH(n)=max (dH(n))
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_47_2.jpg?sign=1739381370-iNkxFlD0K4FHxRYZNkXSl6CamMzHdJS7-0-ec41635767e39ab988c272c216e8bb78)
二维感知器:3个样例的两种对分情况
这样看来,在进行对分时有一点麻烦,因为对分不仅与样例的个数n有关,还与样例的分布情况有关。我们定义一个只与n有关的函数:增长函数(Growth Function),它取每个n在对分时的最大值。
增长函数值越大,则操作H的表示能力越强(后来我们把这个操作H定义成机器学习的假设空间H),其复杂度越高,模型学习任务的适应能力也越强。下表中总结了各种二分类问题对应的增长函数。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_47_3.jpg?sign=1739381370-ym9pDEykgBjexmLhILTQoSpmWJQ8Ukiq-0-7487383ae999b029d9071ee7e6524ca0)
2.1.4 突破点
假设经过某种操作H,能实现数据集上所有数据的对分,则称此数据集能被这个操作H打散(Shatter)。既然能实现所有数据的对分,那么打散时对应的增长函数为2n。下图所示的就是一个将两个样例(点)打散的案例,这里实现了所有点的对分,增长函数为22=4。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_48_1.jpg?sign=1739381370-Am41X3ggPcuzBv3sdRHrtk5fv8lZ88nZ-0-62689e0888bd3579ea2507297c82d4cd)
2个样例的对分情况
打散的概念固然重要,但理解“不打散”的概念更加重要。第一个没被打散的k点被称为突破点(Break Point)。下图中展示了各种二分类问题没有被打散的情况。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_48_2.jpg?sign=1739381370-u3P6Iqb7JGSKjkIJF4XRcN2anlnYx90Y-0-2af39bcc5aada562eec64caff543d79a)
各种二分类问题的突破点
正射线:不能打散这样的两个点,因为红心一定要在绿圆右边,突破点k=2。
正间隔:不能打散这样的3个点,因为红心一定要在绿圆中间,突破点k=3。
一维感知器:不能打散这样的3个点,因为红心或绿圆一定要连在一起,突破点k=3。
二维感知器:不能打散这样的4个点,突破点k=4。
二维感知器在有3个点的情况下不是也不能被打散吗?为什么突破点不是3呢?因为也有3个点能被打散的情况,只要有一种情况能被打散就属于能被打散。而4个点在各种情况下都不能被打散,因此突破点是4。
下表中总结了各种二分类问题的突破点。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_48_3.jpg?sign=1739381370-z2bQCX3tuzTZ48xspkd7C3ovIMvv30TY-0-13acfd2223a56b655cdea773c2ad884e)
从上表中可以观察出增长函数mH(n)是n阶多项式,而n小于k-1,比如,
● 正射线mH(n)是一阶多项式,而突破点k=2,即k-1=1。
● 正间隔mH(n)是二阶多项式,而突破点k=3,即k-1=2。
● 一维感知器mH(n)是一阶多项式,而突破点k=3,即k-1=2≥1。
那么二维感知器的增长函数mH(n)也是k-1阶多项式吗?