机器学习之——多类分类问题

1,180 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

在之前的博客中,我们讨论了**逻辑回归模型 (Logistic Regression) **解决分类问题。但是我们发现,逻辑回归模型解决的是二分问题,即:模型的结果只有两个值,y=0 or y=1 。但是在现实情境下,我们的训练集往往包含多个类(>2),我们就无法用一个二元变量(y=0|y=1)来做判断依据了。举个例子,我们预测天气,天气的情况就分为:晴天、阴天、雨天、多云、雪天、雾天等等。

下面是一个**多类分类问题 (Multiclass Classification) **可能的情况:

三个不同的形状,表示三种不同的分类。

一种解决这类问题的途径,是采用**一对多 (One-vs-All) **方法。在一对多方法中,我们将多类分类问题转变成二元分类问题。为了能实现这样的转变,我们将多个类中的一个类标记为正向类(y=1),然后将其他所有的类都标记成负向类(y=0),这个模型记作:

接着,相同的,我们选择另外一个类标记为正向类(y=2),再将其他的类都标记为负向类,将这个模型记作:

以此类推。

最后,我们得到一系列的模型,简记为:

其中 i = 1,2,3,...,k

步骤可以记作下图:

最后,在我们需要做预测时,我们将所有的分类机都运行一遍,然后对于每一个输入变量,都选择最高可能性的输出变量。

这便是解决多类分类问题的一对多方法。

下一次,我们讨论关于训练集数据拟合问题的**归一化问题 (Regularization) **。