机器学习:多分类
1,多分类形式化1.1,分类问题给定训练样本集合 ,其中 独立同分布,。多分类问题的目标是基于数据 ,从假说集合 中选择一个假说 ,以使得期望误差:最小。对于二分类问题,我们可以以零为界限进行分类,大于零则划分为正样本,小于零则划分为负样本。对于多分类问题,二分类分类方法则无法进行判断,因此我们定义评分函数进行判断。在多类设置中,根据评分函数定义假设:。与点 关联的标签是导致最大分数 的标签,该分
1,多分类形式化
1.1,分类问题
给定训练样本集合 ,其中 独立同分布,。多分类问题的目标是基于数据 ,从假说集合 中选择一个假说 ,以使得期望误差:
最小。
对于二分类问题,可以以零为界限进行分类,大于零则划分为正样本,小于零则划分为负样本。对于多分类问题,二分类分类方法则无法进行判断,因此我们定义评分函数进行判断。
在多类设置中,根据评分函数 定义假设:。与点 关联的标签是导致最大分数 的标签,该分数定义了以下映射: 到 :
其中 ,其中每个 都是一种类别,通过遍历所有的 与 待预测值 通过评分函数 进行计算得分,得分最高的 即为 的多分类结果。
1.2,多分类SVMs
其中 为 到 的映射函数, 为当前 分类正确的系数矩阵,
为除 之外的任意一个 , 为偏差,
为样本数, 为分类数。
证明:
令,,评分函数有无数种。
令 ,即:
1.3,对偶问题
定义拉格朗日函数
令 对 求偏导为0可得:
带入拉格朗日函数,可以消除 ,再消去 得到对偶问题:
即:
假设是上面凸二次规划问题的最优解,则 ,求导后得到 。
2,二分类解决多分类
2.1,两种多分类策略
One-versus-All:每次将一个类别作为正类,其余类别作为负类。此时共有(N个分类器)。在测试的时候若仅有一个分类器预测为正类,则对应的类别标记为最终的分类结果。
【例】当有4个类别的时候,每次把其中一个类别作为正类别,其余作为负类别,共有4种组合,对于这4中组合进行分类器的训练,我们可以得到4个分类器。对于测试样本,放进4个分类器进行预测,仅有一个分类器预测为正类,于是取这个分类器的结果作为预测结果,分类器2预测的结果是类别2,于是这个样本便属于类别2。
One-versus-One:假如某个分类中有N个类别,我们将这N个类别进行两两配对(两两配对后转化为二分类问题)。那么我们可以得到 ,即 。
【例】当有4个类别的时候, 首先把类别两两组合(6种组合)。组合完之后,其中一个类别作为正类,另一个作为负类(这个正负只是相对而言,目的是转化为二分类)。然后对每个二分类器进行训练。可以得到6个二分类器。然后把测试样本在6个二分类器上面进行预测。
容易看出,OvA只需训练N个分类器,而OvO需训练N(N - 1)/2个分类器, 因此,OvO的存储开销和测试时间开销通常比OvA更大。但在训练时,OvA的每个分类器均使用全部训练样例,而OvO的每个分类器仅用到两个类的样例,因此,在类别很多时,OvO的训练时间开销通常比OvA更小。至于预测性能,则取决于具体的数据分布,在多数情形下OvA准确度比OvO要低,比如10000样本集,分给OvA的100个分类器,每个得到100个样本,对于1:99的分类器,正样本仅有100,负样本有9900,样本极不平衡,训练误差较大。
综上:
- OvO的优点是,在类别很多时,训练时间要比OvA少,误差小。缺点是,分类器个数多。
- OvA的优点是,分类器个数少,存储开销和测试时间比OvO短。缺点是,类别很多时,训练时间长,误差大。
2.2,不平衡数据处理
数据不平衡是指数据集中各类样本数量不均衡的情况。常用不平衡处理方法有采样和代价敏感学习。
- 采样:欠采样、过采样和综合采样的方法。
- 代价敏感学习:代价敏感学习是指为不同类别的样本提供不同的权重,从而让机器学习模型进行学习的一种方法。
比如风控或者入侵检测,这两类任务都具有严重的数据不平衡问题,可以在算法学习的时候,为少类样本设置更高的学习权重,从而让算法更加专注于少类样本的分类情况,提高对少类样本分类的查全率,但是也会将很多多类样本分类为少类样本,降低少类样本分类的查准率。
2.3,多分类器
其中第一列为多分类的类别 ,第一行为多个分类器,可以是SVM,PAL等。
每一行不能线性相关,即不能相互表示;每一列不能全是0或1。
OvO和OvA是多分类器的一种特例。
我们根据每个二分类器的分类结果,对比 矩阵中的形式的分类,进行确认。
通常采用:汉明距离(不同+1,相同+0)。
2.4,如何学习
学习 的算法类似于刚才在多类支持向量机中讨论的思想,其公式如下:
其中, 表示在多个二分器中得到的01序列,
表示在矩阵 中的汉明距离。
求解方法:结构化预测
上述问题可以写成:
进而
故开始问题等价于:
由于max max不好求,我们可以转换为指数形式再求对数:
其中, 为损失函数,取0-1损失函数(zero-one loss)。
更多推荐
所有评论(0)