上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2.4 多分类问题
上述的对数概率回归模型可以很好地解决二分类问题,但是现实中更经常遇到的是多分类问题。给定数据集数据集D={X,Y},其中,,,,输出有N种可能的结果。解决的思路是将多分类问题拆解成若干个二分类问题,再利用若干个二分类模型来解决问题。
常用的拆分方法有以下三种:“一对一”、“一对多”和“多对多”。一对一方法是将N个类别进行两两配对,产生N(N-1)/2个分类模型,用Mij表示对Ci和Cj两个类别的分类模型,输出当前分类结果Ci和Cj哪一个可能性更高。在测试阶段,数据输入所有模型,得到N(N-1)/2个结果,把这些结果看作投票,最后得票最多的即为最终的输出结果。
一对一方法需要在每两个分类之间做出判断,因此当类别增加时,一对一方法将变得十分复杂。一对多模型则对每一个分类产生一个模型,一共产生N个分类模型,每个模型Mi输出属于Ci和不属于Ci哪一个可能性更高。如图2.5所示,在测试阶段,数据输入所有N个模型,当模型Mj输出为正,则该数据类别为Cj。一对多方法只需要训练出与类别数量相同个数的模型,因此存储和时间开销都优于一对一方法。
多对多方法每次将若干个分类划分为正类,剩下若干个分类划分为反类,再对正反两个类继续分类,直到只剩下一个类别。这种方法最少可以产生log(N)个分类模型完成任务,但是对于每一级分类的划分需要有特殊的考量,最终实现效果也跟类别的划分有关系。
图2.5 一对一和一对多方法示意图