Part5关于多分类学习
以上两种方法可以从存储开销和训练时间两个角度来分析模型的优势。
海明距离:就是比较测试实例中与上面的每一行不同的个数
欧式距离:以测试集和第一行为例,sqrt[(1-(-1))2+(-1-1))2+(1-(-1))2]=sqrt(12)
关于习题答案
习题3.1:试分析在什么情况下,在以下式子中不比考虑偏置项b
线性模型y=wtx+by=wtx+b,两个实例相减得到yi−y0=wt(xi−x0),以此消除了b。所以可以对训练集每个样本都减去第一个样本,然后对新的样本做线性回归,只需要用模型y=wtx。
习题3.6:LDA仅在线性可分数据上能获得理想结果,试设计一个改进方法,使其能较好地用于非线性可分数据。
在当前维度线性不可分,可以使用适当的映射方法,使其在更高一维上可分,典型的方法有KLDA,可以很好的划分数据。
习题3.7:令码长为9,类别数为4,试给出海明距离意义下理论最优的EOOC二元码并证明之。
对于ECOC二元码,当码长为2n时,至少可以使2n个类别达到最优间隔,他们的海明距离为2(n−1)。因此当类别数为4时,一共可能的分类器共有24−2种(排除了全1和全0),在码长为8的最优分类器后添加一列没有出现过的分类器,就是码长为9的最优分类器。
习题3.9:使用OvR和MvM将多分类任务分解为二分类任务求解时,试述为何无需专门针对类别不平衡性进行处理。
书中提到,对于OvROvR,MvMMvM来说,由于对每个类进行了相同的处理,其拆解出的二分类任务中类别不平衡的影响会相互抵消,因此通常不需要专门处理。以ECOCECOC编码为例,每个生成的二分类器会将所有样本分成较为均衡的二类,使类别不平衡的影响减小。当然拆解后仍然可能出现明显的类别不平衡现象,比如一个超级大类和一群小类。
- 多对多(MvM):纠错输出码(ECOC)的工作过程
- 编码:对N个类别做M次划分,每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集,这样一共产生M个训练集,可训练出M个分类器
- 解码:M个分类器分别对测试样本进行测试,这些预测标记组成一个编码,将这个预测编码与每个类别各自的编码进行比较,返回其中距离(海明距离或者欧式距离)最小的类别作为预测结果。
- 距离的计算,如下图
- 一对一(OvO):将N个类别两两配对,从而产生N(N-1)/2个二分类任务。在测试阶段,新样本将同时提交给所有分类器,于是我们将得到N(N-1)/2个分类结果,最终结果可通过投票产生:即把被预测得最多的类别作为分类结果
- 一对多(OvR):每次将一个类的样例作为正例,所有其他类的样例作为反例来训练N个分类器。在测试时若仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果。若有多个分类器预测为正类,则通常考虑各分类器的预测置信度,选择置信度最大的类别标记作为分类结果。