机器学习算法之SVM的多分类原理

转载:https://blog.csdn.net/sinat_22336563/article/details/70232403

一、SVM可以直接进行多分类吗 
这里写图片描述 
SVM本身是对付二分类问题的,所以在处理多分类的时候需要进行必要的改造。

同样是二分类的情况,logistic回归可以直接拓展为softmax多分类。但是SVM如果直接在目标函数上进行修改的话,就是将多个分类面的参数求解合并到一个最优化问题上,显然难度太大,目前也没有任何实际操作的方法。

二、SVM多分类间接实现

1、1-V-rest:将某一类归为正类,其余全部是负类。

该方法的最大缺陷是数据集的不平衡,因为某一类的实例往往只占一小部分。当然解决不平衡的问题可以进行降采样或者上采样,但是上采样中数据集过多重合,易导致过拟合,而降采样使得数据利用率不足,不能学习整个模型的特性。

2、1-V-1:k类的数据集中,单独为每两类的样本设计SVM,进行分类。最终必须设计k(k-1)/2个分类器,最终用投票的方式进行选择。这也是libsvm采用的方法,但是当类别有1000个的时候、、、

3、根据前两种方法的比较,可以看出就性能而言宁愿多做点事情,也要保证避免过拟合或者预测能力不足的情况,所以大部分情况下第二种方法更优。但是第二种成本太大,所以有了第三种方法,类似于SVM的二叉树组合,在论文《基于SVM的二叉树多类分类算法及其在故障诊断中的应用》中,

这里写图片描述

如果类别为k个,那么最后只需要k-1个分类器。

该模型的最大缺点就是如果某一层中的分类出错了,那么后面的分类器只能将错就错。所以选择差别大的两类在前,差别小的类在后。

猜你喜欢

转载自blog.csdn.net/m0_37870649/article/details/81775584