多分类学习
多分类学习的基本思路是“拆解法”,即将多分类任务拆为若干个二分类任务求解。
最经典的拆分策略有三种:“一对一”(One vs. One,简称OvO) 、“一对其余” (One vs. Rest ,简称OvR)和“多对多” (Many vs. Many,简称MvM)。
一种最常用的MvM 技术“纠错输出码” (Error Correcting Output Codes,简称ECOC)。
ECOC 工作过程主要分为两步:
- 编码
对N个类别做M次划分,每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集;这样一共产生M个训练集,可训练出M个分类器。 - 解码
M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。
类别不平衡问题(class-imbalance)
一般情况下,分类学习方法都有一个基本假设,即不同类别的训练样例数目相当。
类别不平衡(class-imbalance)就是指分类任务中不同类别的训练样例数目差别很大的情况。
使用线性回归模型进行分类处理时,事实上是用阈值对预测值进行的划分(切割)。
阈值设置为0.5即认为正、反样例数目相同。
类别不平衡学习的一个基本策略一“再缩放“(rescaling),亦称“再平衡“(rebalance)。
常见的三类做法:
“欠采样” (undersampling) ,即去除一些反倒使得正、反例数目接近;
“过采样” (oversampling) ,即增加一些正例使得正、反例数目接近;
“阔值移动” (threshold-moving),直接基于原始训练集进行学习,但在用训练好的分类器进行预测时,调整阀值。