《机器学习:算法视角(原书第2版)》 —1.4.2 分类
1.4.2 分类
分类问题基于每一个类别的范例进行训练,对于给定的输入向量,决定它属于N个类别中的哪一个。分类问题最重要的一点在于它是离散的——每一个样本明确属于某一类,并且类别的集合覆盖了整个可能输出的空间。这两个约束条件并不总是成立,有的时候样本可能部分地属于两个类别。解决这一问题可以使用模糊(fuzzy)分类器,但我们不准备在本书中展开讨论。此外,也有很多情况,我们可能无法对每个可能输入都给出分类。比如,考虑自动售货机,我们使用一个神经网络来学习识别出所有不同的硬币。我们训练分类器使它能够识别所有的新西兰硬币,但是如果投进的是一枚英国硬币呢?在那种情况下,分类器将把它鉴别为在外表上最为接近的一种新西兰硬币。但实际上,这并不是我们想要的,分类器应该辨别出这不是它所训练过的任意一种硬币。这称为异常检测(novelty detection)。现在假设我们不会接收到不能对之正确分类的输入。
让我们考虑一下如何建立硬币分类器。当硬币被放入自动售货机时,机器将对它进行几个方面的测量,包括半径、重量,可能还有形状,这些是将生成输入向量的特征。在这种情况下,我们的输入向量将含有三个元素,每个元素对应于相应特征的测量值(选择表示形状的一个数字,将包含一个编码(encoding)的过程,例如用1表示圆形、2表示六边形等)。当然,还有很多我们能够测量的其他特征。如果自动售货机包含原子吸收分光镜,那么我们可以估计出材料的密度以及成分,或者如果有照相机的话,我们可以拍一张硬币的照片并把它提供给分类器。关于选择哪些特征,这并不总是一个简单的问题。我们既不希望使用太多的输入,因为那样会使训练时间变长(而且,随着输入维度的增长,所需数据点的数量将会急剧增长,这被称为维度灾难(curse of dimensionality),将在4.3节予以讨论),但是我们又需要确保根据已有的特征,能够把类别可靠地划分开来。举例来说,如果我们试图仅仅根据颜色来区分硬币,那么不会有很大进展,因为20分和50分的硬币都是银色的,1元和2元的硬币都是青铜色的。然而,如果使用颜色和半径,我们就能够出色地完成对新西兰硬币的分类。有一些特征是完全无用的。比如,知道一枚硬币是圆形的对于新西兰硬币来 图1-4 新西兰硬币 图1-5 左:分类问题的一组直线决策边界。右:另一组能更好地分开加号与闪电符号的决策边界,但需要一条曲线说,提供不了任何有价值的信息,因为所有的新西兰硬币都是圆的(见图 1-4)。然而,在其他国家,这可能就是有用的。
我们将在本书中见到的分类方法,对正确解的学习方式有很大的不同。本质上,它们致力于同样的事情:找到能够用来划分不同类别的决策边界。给定用作分类器输入的特征,我们要做的就是根据这些特征的值,决定当前的输入属于哪一个类别。图1-5给出了有三个不同类别的2D输入集,以及两个不同的决策边界。左边的都是直线,较为简单,但是不如右边非线性曲线的分类效果好。
既然我们已经了解了这两类问题,现在让我们从实践者的角度去了解机器学习的整个过程。
- 点赞
- 收藏
- 关注作者
评论(0)