![快乐机器学习](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=1738988860-0hXnxTawzDlfSpG3AE41IVp3gQDS4IoQ-0-7baec8eef18f6daef7efa65c8a444cf2)
续表
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_44_1.jpg?sign=1738988860-ZOl5OuQAxkUw2MVcbihBbkj7wa8f0Fkd-0-c72ac4d017f11f61dfa5b8251ad45b30)
本章在证明机器学习是可行的同时,仅以二分类问题来举例。细心的读者可能会看出来,在上面的例子中,红心和绿圆正好是线性可分的,但是在有些情况下样例是线性不可分的,如下图所示。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_44_2.jpg?sign=1738988860-H9St2wSYQH1WtZf8k09AfuD0bpg1X44S-0-d6e76cff3c4184f0f0223db223065f08)
线性不可分的例子
左图所示的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=1738988860-i63cYMIBCdMulxb0F2nAnqzgvvSLB0GL-0-598979321d1b4c7fae6bdd8bf1ac8ee3)
两个样例有4种不同的分类结果
假设之后经过某种操作H将红心和绿圆线性分开,则这种操作被定义为对分(Dichotomy)。如下图所示,对分操作可以被看成是用一条直线把红心和绿圆分开,两个样例的对分结果一共有4种。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_45_1.jpg?sign=1738988860-ozhpmeYSA12lyY3lg4llEhuGj8QQ2Bte-0-dfc08f7f827038ca141274daba6d5ff2)
两个样例的对分
因此,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=1738988860-Mk8wH0rPJ9trNtLzG501VSS8dzrQ9gYr-0-b43f9b990142c4b451bf254ae030bf9e)
续表
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_46_1.jpg?sign=1738988860-WdfHqIoFTW1lKzYzBVDWTtgrrFvxlDxI-0-e0360569258130f301f44a33aca61630)
下表中总结了各种二分类问题的对分结果种类dH(n)。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_47_1.jpg?sign=1738988860-3gxW9aQ7Het7ewiF9IxWvjv7kBaDo0OV-0-02703f704db5dfcfece9d48d9d933522)
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=1738988860-IDrgjH0SZ8c5k4L2247s03ZxMPV3af0i-0-e75cbc63c9e9fd2db65b9497b43ad872)
二维感知器:3个样例的两种对分情况
这样看来,在进行对分时有一点麻烦,因为对分不仅与样例的个数n有关,还与样例的分布情况有关。我们定义一个只与n有关的函数:增长函数(Growth Function),它取每个n在对分时的最大值。
增长函数值越大,则操作H的表示能力越强(后来我们把这个操作H定义成机器学习的假设空间H),其复杂度越高,模型学习任务的适应能力也越强。下表中总结了各种二分类问题对应的增长函数。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_47_3.jpg?sign=1738988860-HHNDsvoAtB39J12WjRCgfz0lxmKCX30V-0-2eec6ac0b33252364ba0b6779a40c56d)
2.1.4 突破点
假设经过某种操作H,能实现数据集上所有数据的对分,则称此数据集能被这个操作H打散(Shatter)。既然能实现所有数据的对分,那么打散时对应的增长函数为2n。下图所示的就是一个将两个样例(点)打散的案例,这里实现了所有点的对分,增长函数为22=4。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_48_1.jpg?sign=1738988860-YhysEEjQZN4w2AyRdUPONmfK2JvJ7Db7-0-71f04c91b2e682ed82194869b1f83314)
2个样例的对分情况
打散的概念固然重要,但理解“不打散”的概念更加重要。第一个没被打散的k点被称为突破点(Break Point)。下图中展示了各种二分类问题没有被打散的情况。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_48_2.jpg?sign=1738988860-xEeovPU06gcjOCVAtddVWEhrgIWfF8rT-0-c86a2df3b72bb953e57c2c374f10ecf5)
各种二分类问题的突破点
正射线:不能打散这样的两个点,因为红心一定要在绿圆右边,突破点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=1738988860-uqUA0Ww668lM6FP5Hx0UXgverXuUmVDf-0-0fcc5eb8788614d5452c2a2437577fcc)
从上表中可以观察出增长函数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阶多项式吗?