机器学习基础(二十六)—— 将 SVM 推广到多类问题

有 3 种常用的策略可用于推广 SVM 解决多类问题,下面以一个 4 类问题为例进行说明。

1. 一对多的最大响应策略(one against all)

假设有 A、B、C、D 四类样本需要划分。在抽取训练集的时候,分别按照如下四种方式划分。(可见有多少类别,就对应多少中训练集的划分)

  • (1)A 所对应的样本特征向量为正集(类标签为 +1),B、C、D 所对应的样本特征向量为负集(类标签为 -1);{ A, { B、C、D } }
  • (2)B 所对应的样本特征向量为正集,A、C、D 所对应的样本特征向量为负集;{ B, {A, C, D}}
  • (3)C 所对应的样本特征向量为正集,A、B、D 所对应的样本特征向量为负集;{ C, { A, B, D} }
  • (4)D 所对应的样本特征向量作为正集,A、B、C 所对应的样本特征向量作为负集;{ D, { A, B, C }}

对上述 4 个训练集分别进行训练,得到 4 个 SVM 分类器。在测试的时候,把未知类别的测试样本 x 分别送入这四个分类器进行判决,最后每个分类器都有 1 个响应,分别为 f1(x) f2(x) f3(x) f4(x) ,最终的决策结果为 max(f1(x),f2(x),f3(x),f4(x)) ,即四个响应中的最大值。

注意这里说的响应是指决策函数 h(x)=sign(wϕ(x)+b) 在符号化之前的输出 f(x)=wϕ(x)+b h(x) 表示 x 位于分割超平面的哪一侧,只反映了 x 的类别,而 f(x) 还能体现出 x 与分割超平面的距离远近(绝对值越大越远),因此它能反映出样本 x 属于某一类别的置信度。

例如,同样位于分割超平面正侧的两个样本,显然更加远离超平面的样本是正例的可信度比较大,而紧贴着超平面的样本则很有可能跨过分割超平面的一个反例。

2. 一对一的投票策略(one against one with voting)

将 A、B、C、D 四类样本两类两类地( (42)=6 )组成训练集,即 (A,B),(A,C),(A,D),(B,C),(B,D),(C,D) 得到 6 个 SVM 二分类器。在测试的时候,把测试样本 x 依次送入这 6 个二分类器,采取投票形式,最后得到一组结果。投票是以如下方式进行的:

  • (1)初始化:vote(A) = vote(B) = vote(C) = vote(D) = 0
  • (2)投票过程:

    • 如果使用训练集 (A, B) 得到的分类器将 x 判定为 A,++vote(A),否则++vote(B)
    • 如果使用 (A,C) 训练的分类器将 x 判定为 A 类,则 ++vote(A),否则 ++vote(C)
    • ….
  • (3)判决结果:max(vote(A), vote(B), vote(C), vote(D))

如果有两个以上的最大值,则一般地可将简单地取第一个最大值对应的类别。

3. 一对一的淘汰策略(one against one with eliminating)

这是文献:

王宏漫,欧宗瑛. 采用 PCA/ICA 特征和 SVM 分类的人脸识别。计算机辅助设计和图形学学报.2003.15(4):416-420.

中专门针对 SVM 提出的一种多类推广策略,实际上它也适用于所有可以提供分类器置信度信息的二分器。该方法同样基于 1 对 1 判别策略解决多类问题,对于本节的 4 类问题,需训练 6 个分类器:(A, B), (A, C), (A, D), (B, C), (B, D), (C, D)。

显然,对于这四类中的任意一类,如 A 类中的某一样本,就可由 (A, B), (A, C), (A, D) 这三个分类器的任意一个来识别,即判别函数间存在冗余。于是将这些分类器的置信度按从到小排序,置信度越大表示此二分器分类的结果越可靠,反之则有可能出现误判。

对这 6 个分类器按其置信度由大到小表示此二分器排序并分别编号,假设为:
1#(A, C), 2#(A, B), 3#(A, D), 4#(B, D), 5#(C, D), 6#(B, C)。

此时,判别过程如下:

  • (1)设备识别对象为 x ,首先由 1# 判别函数进行识别。若判别函数 h(x)=+1 ,则结果为类型 A,所有关于类型 C 的判别函数均被淘汰;若判别函数 h(x)=1 ,则结果类型为 C,所有关于类型 A 的判别函数均被淘汰;若判别函数 h(x)=0 ,为“拒绝决策”的情形,则直接选用 2# 判别函数进行识别。本例,假设结果类型为 C,则所剩判别函数分别为 4#(B, D), 5#(C,D), 6#(B, C)

  • (2)被识别对象 x 再由 4# 判别函数进行识别。如结果为+1,则淘汰所有关于 D 类的判别函数,则所剩判别函数为 6#(B,C)。

  • (3)被识别对象 x 再由 6# 判别函数进行识别,若得到的结果为类型 +1,则可判定最终的分类结果为 B。

那么,如何表示置信度呢?对于SVM而言,分割超平面的分类间隔越大,就说明两类样本越容易分开,表明了问题本身较好的可分性。因此可以用各个 SVM 二分器的分类间隔大小作为其置信度。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值