分类是监督学习的一种,是目前使用很广泛的一种算法。
比如说:
- 判断垃圾邮件
- 判断交易是否是骗人的
- 判断肿瘤是否是恶性的
这些例子有一个共同的特点,它们的输出
0: 表示负类(negative class),例如,不是垃圾邮件;
1: 表示正类(positive class),例如,是垃圾邮件。
把那一类归为 “正类” 一般是看输出值所占比例的大小,占小比例的一般被当作 “正类” 。
当然也可以有多个输出,例如
, 这是一个多类的问题,在了解多类问题前,先了解一下二元分类(binary classification problem)的情况。

上图是随着肿瘤的大小,判断恶性肿瘤的散点图。可以看出输出只在0和1这两个值之间交替
我们先忽略是离散值,采用旧的线性回归算法来尝试预测
。 先使用线性回归的预测函数
这样得出的预测是一条直线,但是这样的预测函数,我们会得到或者
的情况出现,这样的结果是不准确的。我们期望是有一个预测函数,它的输出值在0到1之间:
函数是一个关于指数的S型函数(Sigmoid Function):
其中参数
所以分类问题的预测函数可以写成:

这是函数的曲线图,从图中,可以看出输出值的范围在0到1之间,这个满足我们需要的条件,当
越小是就无限趋向于0,反之则无限趋向于1。
该函数得到的是连续的值,而分类算法需要的到的是离散的数(0, 1),因此我们可以将函数得到的值看成是输出某个值的概率。
假设使用该预测函数得到,我们可以认为肿瘤是恶性的概率是70%,可以用一个式子表示:
该式子表示在给定特征和对应的参数
下,
的概率。
因为只能在(0, 1)的范围内,所以
决策边界(decision boundary)
假设预测当函数返回值 时认定
,即当概率大于50%则认为会发生。
当参数时,
,这样就要求:
所以预测结果可以写成:
因此就是决策边界,当大于等于的就是
,当小于的就是
。
例子:
假如预测函数,以及参数
分别为(-3,1,1),这样这个预测函数的决策边界就是:

上图红线就是决策边界,在红线的右上方就是,左下方就是
。
除了线性的决策边界,还可以是更复杂的非线性的。例如
。且
这个的决策边界就是:
这个的图像就是一个圆形。

在圆形之外的,在圆内的就是
。
转载自:
https://codeeper.com/2020/01/09/tech/machine_learning/classification.html
网友评论