在分类算法中,**One-vs-Rest(OvR)与One-vs-One(OvO)**是两种将二分类模型扩展至多分类问题的策略,核心区别体现在分类器构建方式和适用场景上:
------
1. 策略原理
• One-vs-Rest(OvR)
• 训练过程:对每个类别单独训练一个二分类器,将该类作为正样本,其他所有类别合并为负样本。若有K个类别,需构建K个分类器。
• 预测方式:新样本输入所有K个分类器,选择置信度(如概率、决策函数值)最高的类别作为最终结果。
• One-vs-One(OvO)
• 训练过程:对每两个类别组合训练一个二分类器。若有K个类别,需构建C(K,2)=K(K-1)/2个分类器(如5类需10个分类器)。
• 预测方式:新样本输入所有二分类器进行投票,得票最多的类别胜出。
------
2. 计算复杂度对比
【表格】
维度 OvR OvO
分类器数量 K个(与类别数线性相关) K(K-1)/2个(平方级增长)56
训练数据量 每个分类器使用全量数据 每个分类器仅用两类的数据58
适用场景 类别数较多(K较大)时更高效 类别数较少(K较小)时更精确56
------
3. 优缺点分析
• OvR的局限性:
• 类别不平衡:负样本数量远多于正样本(如10类时负样本占90%),可能导致分类器偏向负类。
• 置信度冲突:多个分类器可能对新样本给出高置信度,需依赖阈值或归一化处理。
• OvO的优势与代价:
• 数据均衡性:每个分类器仅处理两类数据,缓解类别不平衡问题。
• 计算开销大:分类器数量随K呈平方增长,训练和预测时间成本高(如100类需4950个分类器)。
------
4. 实际应用示例
• OvR适用场景:
• 逻辑回归(Logistic Regression)默认使用OvR策略处理多分类问题。
• 文本分类(如新闻主题分类,类别较多且数据量大)。
• OvO适用场景:
• 支持向量机(SVM)在类别较少时(如手写数字识别,10类)常采用OvO策略。
• 需要高精度的小规模分类任务(如医疗影像的疾病亚型区分,类别数≤10)。
------
总结
• 选择依据:
• 若类别数多(K>10)或需快速部署,优先选OvR;
• 若类别数少(K<10)且追求精度,优先选OvO。
• 实现工具:
• Sklearn中可通过OneVsRestClassifier或OneVsOneClassifier显式指定策略。