读书笔记《机器学习》: 第三章:线性模型

3.1 基本形式
3.2 线性回归
3.3 对数几率回归
3.4 线性判别分析
3.5 多分类学习
3.6 类别不平衡问题


3.5 多分类学习

三种经典的拆解法:
一对一(One vs. One, OvO):N个类别两两配对,产生N(N-1)/2个分类器,测试的时候得到N(N-1)/2个结果,最终结果由投票结果决定。

一对其余(One vs. Rest, OvR):每次把一个类的样例作为正例,所有其他类的作为反例,训练N个分类器。如果测试结果只有一个分类器分类为正类,则直接归为这一类;如果有多个分类器分类为正类,则看分类器的置信度,选择置信度最大的那个。

多对多(Many vs. Many, MvM):选若干类作为正例,若干类作为反例,但不能随意选择,必须有特殊的设计。
这里写图片描述
纠错输出码:包括编码和解码。
编码:对N个类别做M次划分,得到M个分类器
解码:用M个分类器预测,预测编码与每个类别的编码相比较,取距离最小的类别。


3.6 类别不平衡问题

类别不平衡的一个基本策略:再缩放(rescaling),也叫再平衡(rebalance)
主要有三类做法:
1.对训练集反例进行欠采样(undersampling)
2.对训练集正例进行过采样(oversampling)
3.直接基于原始数据训练,但最终预测结果乘上缩放因子(m-)/(m+),也叫阈值移动(threshold moving)

过采样不能简单的对正例样本重复采样,容易导致过拟合,可以对训练集中的正例插值产生额外的正例(SMOTE算法)。 欠采样代表算法EasyEnsemble,利用集成学习机制,将反例划分成若干个集合供不同学习器使用,这样每个学习器看起来都进行了欠采样,但全局不会丢失重要信息。