逻辑回归实现多元分类可以从两个方面入手:
(1)从类别入手:将二元分类扩展到多元分类就是将多分类任务拆为若干个二分类任务求解。
有一对一(OvO)、一对多(OvR)、多对多(MvM)三种拆分策略。
- OvO:一次选取任意两个类别的样本,在选取的两个样本之间构建一个二元分类器。如果是n个类别样本就需要构建n(n-1)/2个二元分类器。在测试一组数据时,对这n(n-1)/2个分类器的预测结果进行集成以获得最终分类结果,最终的结果为所有预测结果中最多的那一个。
例如:数据集中有 4 种类别,两两配对可以产生 6个二分类器,将测试样本输入分类器中可得到6个预测结果,通过投票取最多的预测结果类别 1 作为最后的预测结果。
- OvR:将n元分类问题转化为n个二元分类问题,即每次将一个类的样例作为正例,所有其他类别的样例作为反例,这样用n个样本类别来训练n个二元分类器,用这n个二元分类器进行预测,将未知样本分类为具有最大假设函数值的那个类别。
例如:数据集中共 4 个类别,产生 4 个二分类器,类别 2 对应的分类器 2 预测结果为正例,则最终预测结果为类别 2。
- MvM:将若干类作为正例,将若干其他类别作为反例。MvM 的正、反类构造必须有特殊的设计,而不是随意选取,通常采用“纠错输出码(ECOC)”,产生编码矩阵后划分类别。OvO与OvR是MvM的特例。
编码:将 N 个类做 M 次划分,每次划分一些是正类,一些是负类。共产生 M 个二分类器。
解码:M 个分类器对新样本测试,其结果组成一个编码,与各个类别的编码比较,返回距离最小的类别为最终结果。
(2)从算法入手
softmax回归:是逻辑回归算法在多元分类问题上的推广。通过修改逻辑回归的损失函数将逻辑回归变为softmax回归。
对于输入数据有k个类别,即 ,softmax 回归主要估算输入数据归属于每一类的概率,即
其中,是模型的参数,乘以是为了让概率位于[0,1]并且概率之和为1,softmax 回归将输入数据归属于类别的概率为