展开全部 +
首页 . 理学 . 计算机科学技术 . 人工智能 . 机器学习 . 线性模型

纠错输出编码

/error correcting output codes/
条目作者薛晖

薛晖

最后更新 2024-12-13
浏览 136
最后更新 2024-12-13
浏览 136
0 意见反馈 条目引用

一种解决多类分类的常用技术。

英文名称
error correcting output codes
所属学科
计算机科学技术

纠错输出码的工作过程主要分为两步。

第一步,编码。对个类别做次划分,每次划分将一部分类别当作正类,其余当作反类,从而形成一个二分类训练集,这样可以训练出个二分类分类器。编码过程中类别的划分通过编码矩阵指定,编码矩阵的每一行表示一个类别,每一列表示一个二分类分类器。编码矩阵主要包括二元码(图(a))和三元码(图(b))。二元码中+1和-1分别表示,所在列二分类分类器将所在行类别作为正、反例;三元编码中0表示,所在列二分类分类器不使用该类样本。常见的编码方法有一对一、一对多、随机编码等。

纠错输出码示意图纠错输出码示意图

第二步,解码。个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终的预测结果。常见的解码方法有海明解码(见海明码)和欧氏解码等。

“纠错输出编码”名称的由来,是因为在测试阶段,其对分类器的错误有一定的容忍和修正能力。如图(a)中对测试样例的正确预测编码是(-1,+1,+1,-1,+1),假设分类器出错,导致错误的编码(-1,-1,+1,-1,+1),但是基于这个错误的编码,仍能产生正确的最终分类结果

对同等长度的编码,理论上来说,任意两个类别之间的编码距离越远,则纠错能力越强。因此,在码长较小时可根据这个原则计算出理论最优编码。然而,码长稍大一些就难以有效地确定最优编码,事实上这是NP难问题。不过,通常我们并不需要理论最优编码,因为非最优编码在实践中往往已能产生足够好的分类器。另一方面,并不是编码的理论性质越好,分类性能就一定越好,因为机器学习问题涉及很多因素,例如将多个类拆解为两个“类别子集”,不同拆解方式所形成的两个类别子集的区分难度往往不同,即其导致的二分类问题的难度不同。因此,一个理论纠错性质很好、但导致二分类问题较难的编码,与一个理论纠错性质差一些、但导致二分类问题简单的编码,最终产生的模型性能孰强孰弱很难说。

相关条目

阅读历史

    意见反馈

    提 交

    感谢您的反馈

    我们会尽快处理您的反馈!
    您可以进入个人中心的反馈栏目查看反馈详情。
    谢谢!