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

在之前的博客中,我们讨论了逻辑回归模型(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)

你可能感兴趣的:(机器学习)