纠错输出编码(ECOC)综述和基本原理
《纠错码概述》课件

03
常见的纠错码技术
奇偶校验码
总结词
简单但可靠性较低
详细描述
奇偶校验码是一种简单的错误检测和纠正方法,通过在数据中添加校验位,使得整个数据(包括校验位)中1的 个数为偶数(偶校验)或奇数(奇校验)。这种方法简单易行,但只能检测到一位错误,且无法纠正错误。
海明码
总结词
具有中等可靠性和实现复杂度
详细描述
词
度。
优化解码算法,降低其
详 细
计算复杂度和实现难度
描
,提高解码速度。
述
在解码过程中,采用多 径传播抑制技术,减少 多径干扰对解码的影响
。
1. 降低 复杂
度
解码算法的优化主要包 括以下几个方面
2. 改进 迭代 算法
通过改进迭代算法的收 敛速度和稳定性,提高
解码准确率。
3. 多径 传播 抑制
硬件实现优化
常见的纠错码编码方式有奇偶校验、 海明码、循环冗余校验(CRC)等。
纠错码的解码原理
纠错码解码是在接收端收到编码数据后,根据预先设定的解码算法,对接收到的 数据进行解码,以检测和纠正传输过程中产生的错误。
解码算法通常基于一定的数学原理,如代数、概率统计等,通过特定的计算方法 实现错误检测和纠正。
纠错码的性能指标
软件实现方式
通用软件实现
使用通用的编程语言(如C、C、Python等 )来实现纠错码的编码和解码过程。这种方 式具有较低的成本和较好的跨平台性,适用 于对成本和灵活性要求较高的场景。
专用软件实现
针对特定的纠错码算法,使用专用的软件库 或工具来实现编码和解码过程。这种方式具 有较高的性能和效率,适用于对性能要求较
纠错能力
编码效率
纠错输出编码法ECOC

纠错输出编码法ECOC
纠错输出编码法(Error-Correcting Output Codes,ECOC)不仅能够将多类分类问题转化为多个两类问题,⽽且利⽤纠错输出码本⾝具有纠错能⼒的特性,可以提⾼监督学习算法的预测精度。
将多类问题两类化的重要途径是对输出的类别进⾏编码,即每个类别对应⼀个长度为n的⼆进制位串(称为码字),共形成m个码字,这些码字的同⼀位描述了⼀个⼆值函数。
学习结束后获得n个⼆分器,在分类阶段,每个⼆分器对输⼊样本产⽣的输出形成输出向量,然后由决策规则判定输⼊样本的类别。
纠错输出编码法:将机器学习问题看做数据通信问题,并采⽤纠错输出码对各类别进⾏编码,因此在分类过程中能够纠正某些⼆分器的错误输出,从⽽提⾼分类器的预测精度。
在编码理论中,利⽤汉明距离可以确定分组码的纠错能⼒,我们也采⽤汉明距离确定输出码的纠错能⼒。
纠错输出码矩阵的⾏数等于监督分类问题的类别数m,列数等于码长n,⼀个有⽤的纠错输出码应该具有以下特性:
1.具有⼀定的纠错能⼒。
2.码矩阵中⽆全0列,⽆全1列。
3.码矩阵中⽆相同列,⽆互补列。
常⽤的编码⽅法:列举编码法、随机爬⼭法、BCH编码法、连续编码法、搜索编码法。
第二节 纠错编码原理

第二节 纠错编码原理一、纠错编码的原理一般来讲,信源发出的消息均可用二进制信号来表示。
例如,要传送的消息为A 和B ,则我们可以用1表示A ,0表示B 。
在信道传输后产生了误码,0错为1,或1错为0,但接收端却无法判断这种错误,因此这种码没有任何抗干扰能力。
如果在0或1的后面加上一位监督位(也称校验位),如以00表示A ,11表示B 。
长度为2的二进制序列共有种组合,即00、01、10、11。
00和11是从这四种组合中选出来的,称其为许用码组,01、10为禁用码。
当干扰只使其中一位发生错误,例如00变成了01或10,接收端的译码器就认为是错码,但这时接收端不能判断是哪一位发生了错误,因为信息码11也可能变为01或10,因而不能自动纠错。
如果在传输中两位码发生了错误,例如由00变成了11,译码器会将它判为B ,造成差错,所以这种1位信息位,一位监督位的编码方式,只能发现一位错误码。
224=按照这种思路,使码的长度再增加,用000表示A ,111表示B ,这样势必会增强码的抗干扰能力。
长度为3的二进制序列,共有8中组合:000、001、010、011、100、101、110、111。
这8种组合中有三种编码方案:第一种是把8种组合都作为码字,可以表示8种不同的信息,显然,这种编码在传输中若发生一位或多位错误时,都使一个许用码组变成另一个许用码组,因而接收端无法发现错误,这种编码方案没有抗干扰能力;第二种方案是只选四种组合作为信息码字来传送信息,例如:000、011、101、110,其他4种组合作为禁用码,虽然只能传送4种不同的信息,但接收端有可能发现码组中的一位错误。
例如,若000中错了一位,变为100,或001或010,而这3种码为禁用码组。
接收端收到禁用码组时,就认为发现了错码,但不能确定错码的位置,若想能纠正错误就还要增加码的长度。
第三种方案中规定许用码组为000和111两个,这时能检测两位以下的错误,或能纠正一位错码。
纠错码——原理与方法

二进制信道
二进制信道
DMC信道
DMC信道
二进制删除信道
二进制删除信道
二进制纯删除信道
二进制纯删除信道
错误类型
随机错误——随机错误信道:深空信道,卫星信 道等 突发错误——突发错误信道:无线信道,电缆传 输(开关脉冲噪声,串音),磁记录信道 混合错误——混合信道
差错控制系统分类
发
FEC
可纠正错误的码
Shannon第二定理
当信息速率R小于信道容量C时,总存在 一种编码方式使差错率低于任一给定值e
接近信道容量
重复码
00…00 许用码字 11…11 若将每个比特重复n次,则构成一个码长为 n,信息位长度为1的(n,1)重复码,且编码效 率(码率)R=1/n
n=2时
许用码组:00,11
禁用码组:01,10 能够发现一个错误,但不能纠正错误 n=3时 许用码组:000,111 禁用码组:001, 010, 100, 011, 101, 110
收
发 能够发现错误的码 收 ARQ
应答信号
发
能够发现和纠正错误的码
收
HEC 应答信号
State Key Laboratory of Integrated Services Networks
纠错码的基本原理
——纠错码如何纠正错误?
引入信道编码 检错和纠错:对付信道引入的差错
直观的译码准则:最小距离译码
信道编码:从消息到信道波形或矢量的映射
消息集中 一个元素
信道波形 空间中的 一个点
失真后 的波形
恢复的 消息
信源 编码
信道 编码
消息到波 形的映射
信道
信道 译码
判断是消 息集中的 哪个元素
纠错输出编码(ECOC)综述和基本原理

纠错输出编码(ECOC )综述和基本原理 目录<机器学习导论> (1)《Solving Multiclass Learning Problems via Error-Correcting Output Codes 》 (2)A Subspace to ECOC (3)中文参考文献 (5)<机器学习导论>在纠错输出编码中,主要的分类任务通过由基学习器实现的一组子任务来定义。
其思想是:将一个类从其他类区分开来的原始任务可能是一个困难的问题。
作为替代,我们定义一组简单的分类问题,每个专注于原始任务的一个方面,并通过组合这些简单的分类器来得到最终的分类器。
这时,基分类器是输出为-1/+1的二元分类器,并且有一个K*L 的编码矩阵W ,其K 行是关于L 个基学习器dj 类的二元编码。
例如,(2, )[ 1 1 1 1]M =-++-表示若一个样本属于第2类(C 2),则该样本应在h 1和h 4上取负值,在h 2和h 3上取正值;(, 3)[ 1 1 1]T M =-++可理解为第三个基分类器h 3的任务是将属于C 1类的样本与属于C 2和C 3类的样本区分开。
同时(, 3)M 也决定了如何构造基分类器h 3的训练样本集T 3:所有标记为C 2类及C 3类的样本形成正样本3χ+,而标记为C 1类的实例构成负样本3χ-,对h 3的训练应使得3T ∀∈i x ,当3χ+∈i x 时,3()1h =+i x ;当3χ-∈i x 时,3()1h =-i x 。
这样,编码矩阵使得我们可以用二分类问题定义多分类问题,并且这是一种适用于任意可以实现二分基学习器的学习算法的方法,例如,线性或多层感知器,决策树或初始定义的两类问题的SVM 。
典型的每类一个判别式的情况对应于对角矩阵,其中L=K ,例如,对于K=4,我们有W=【】这里的问题是:如果某一个基学习器存在错误,就会有误分类,因为类的码字之间非常相似,因而纠错码采用的方法是使L>K 来增加码字之间的汉明距离。
纠错编码原理分析及(15,7)BCH循环码设计

纠错编码原理分析及(15,7)BCH循环码设计王泽东【摘要】利用Verilog HDL语言设计(15,7)BCH循环码,分析了纠错编码原理及BCH循环码纠错的特点.通过ModelSim仿真软件进行了相应的验证,能够纠正两个以内的错误.【期刊名称】内江师范学院学报【年(卷),期】2014(000)008【总页数】4【关键词】纠错编码;(15,7)BCH 循环码;Verilog HDL;ModelSim在无线通信中,信号在传送过程中会受到多种干扰,导致接收的信号出现错误.纠错编码技术能够使错误的信号在一定程度上得到纠正.对错误信号的纠正需要进行大量的计算,同时要对中间数据进行暂存,造成一定的延时.对硬件资源的大量消耗及对实时性的影响制约着纠错编码技术的实际应用.随着集成电路技术的发展,各种集成电路的集成度越来越高,存储容量越来越大,速度越来越快,使纠错编码技术广泛应用于现代通信传输技术成为可能.本文先分析了汉明码的纠错编译码原理,然后针对串行传输中汉明码的不足分析了BCH循环编码器的优点.最后,利用Verilog HDL语言设计(15,7)BCH的编译码器并通过 ModelSim仿真软件进行了相应的验证.1 纠错编码原理简述纠错编码技术是通过奇偶校验的方式产生一些监督码,通过比较发送端监督码与接收端监督码的不同进行错误判断并进行相应的纠错处理.本文以(11,7,3)汉明码为例分析纠错编码原理,这种汉明码每一组代码字共11位二进制数据,其中7位信息码,每两组信息码间的最短距离为3位.共用4个监督码,其中一个用于判断是否有奇数个错误发生,另外3个用于确定错码发生的位置.纠错编码中常用(n,k,d)分别代表代码字长度、信息码长度和最小距离.1.1 编码器的工作原理编码器的工作原理如图1所示.图1中,i21,i22,…i27是一组待发送的信息码,i′21,i′22,…i′27为发送出去的信号码,它与待发送的信息码完全相同.信号在发送前已通过奇偶检验矩阵P10,P11,P12,P13对待发送信息进行奇偶校验,产生4位监督码i′0,i′1,i′2,i′3,它们与i′21,i′22,…i′27信息码共同组成一组代码字同时发送出去.奇偶校验原理通过式(1)表示.式(1)中的符号“⊕”表示异或逻辑关系。
100G技术革命:纠错编码技术

100G技术革命:纠错编码技术基于数字相干接收PM-QPSK调制的100G光传输技术在长距离光传输技术史上具有里程碑意义。
在调制、检测、均衡以及复用技术无法满足系统传输性能要求的情况下,可采用纠错编码技术进一步改善系统性能。
要在现有线路上达到目前10G OOK的传输误码率性能,100G收发机至少需要提高10dB 增益,而相干检测PM-QPSK调制结合目前的电均衡补偿技术最多能提供7dB增益,额外3dB增益需借助FEC提供。
这要求100G传输系统的FEC编码净增益(NCG: Net Coding Gain)达到11dB以上。
1. 纠错编码技术纠错编码是按照一定编码规则人为增加冗余比特信息以便于在接收端检错纠错的信道编码。
准确地说,就是把原码字按某种规则变换成有一定剩余度的码字,并使每个码字的码元间有一定的对应关系。
关系的建立过程称为编码。
码字到达接收端后,用编码时所用的规则去检验。
如果没有错误,则原规则一定满足,否则就不满足;由此足以判定传输或存取过程有无错误。
当不能满足时,在可纠错能力之内按一定的规则确定错误所在的位置,并予以纠正。
纠错编码的性能评价指标包括①编码增益:单位为dB,一般用打开和关闭纠错算法时背靠背无误码传输时最小信噪比之差来描述,该差值即是纠错编码处理增益对传输信噪比要求的改善;②编码开销:也称冗余比,即所增加的冗余码长与编码前码字长度之比,通常以百分比来表示。
例如RS(255,239)的编码开销为(255-239)/239=6.69%;③实现复杂度:通常用物理实现的逻辑门数或软件加乘运算的次数来描述;④处理时延:与所采用的算法以及算法实现的结构相关,算法的并行能力越强,处理时延越低。
光传输常用的纠错编码经历了三代:第一代是以RS、BCH为代表的基础编码,其编码增益在6dB左右,编码开销约为7%;第二代为以RS、BCH 为基础两级链接而成的链接编码,其编码增益在9dB左右,详见G.975.1;第三代为以LDPC、Turbo为代表的软判决迭代编码,其编码增益约在12dB左右,编码开销在15%以上。
纠错编码技术

定义1 码字是一些符号的序列。
定义2 码是称为码字(codeword)的向量的 集合。
第一章
第一章
例1.2 考虑有两个码字{0100,1111}的码C。 码字的汉明重量为w(0100)=1和w(1111)=4。 这两个码字间的汉明距离为3,因为它们在第1、 第3和第4位置上不同。 观察到w(0100-1111)= w(1011)=3=d(0100,1111) 。 一般而言,对于任意一种编码,其中各 码组之间的距离不一定都相等。
第一章
纠错编码技术
目的:提高抗干扰能力,使差 错率最小 实质:增加冗余度,扩大信号 空间,增大信号间距离 意义:通过纠错编码方法,可 以用不可靠的信道实现可靠的 传输
第一章
第一章 纠错编码的基本概念
1.1纠错编码的理论基础 1.2纠错编码的分类 1.3纠错编码的基本概念 1.4有噪信道编码定理 1.5译码规则和编码规则 1.6纠错编码的本质 1.7纠错编码方法的性能 1.8纠错编码系统的性能
第一章
5.根据码的结构特点来分类 根据码的结构特点的不同,可以 将纠错码分为循环码、非循环码、系 统码和完备码等。 6.根据对每个信息元保护能力是否相等 来分类 根据对每个信息元保护能力是否 相等来分可分为等保护纠错码与不等 保护(UEP)纠错码。
第一章
图1-2 纠错码的分类示意图
第一章
1.3纠错编码的基本概念
第一章
1.2.1差错控制编码的分类
从差错控制码功能的角度,可以分为以下3类:
1.检错码(error detection code) 只能发现错误,不 能纠正错误。在一些仅需要给出错误提示以及 ARQ(自动请求重发,automatic repeat request)系 统中使用这类码。 2.纠错码(error correcting code) 能够发现错误也能 纠正错误。FEC(前向纠错,feed-forward error correction)和HEC(混合纠错,hybrid-errorcorrection)系统都使用这类码。 3.纠删码 能够发现并纠正或删除错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
纠错输出编码(ECOC )综述和基本原理 目录<机器学习导论> (1)《Solving Multiclass Learning Problems via Error-Correcting Output Codes 》 (2)A Subspace to ECOC (3)中文参考文献 (5)<机器学习导论>在纠错输出编码中,主要的分类任务通过由基学习器实现的一组子任务来定义。
其思想是:将一个类从其他类区分开来的原始任务可能是一个困难的问题。
作为替代,我们定义一组简单的分类问题,每个专注于原始任务的一个方面,并通过组合这些简单的分类器来得到最终的分类器。
这时,基分类器是输出为-1/+1的二元分类器,并且有一个K*L 的编码矩阵W ,其K 行是关于L 个基学习器dj 类的二元编码。
例如,(2, )[ 1 1 1 1]M =-++-表示若一个样本属于第2类(C 2),则该样本应在h 1和h 4上取负值,在h 2和h 3上取正值;(, 3)[ 1 1 1]T M =-++可理解为第三个基分类器h 3的任务是将属于C 1类的样本与属于C 2和C 3类的样本区分开。
同时(, 3)M 也决定了如何构造基分类器h 3的训练样本集T 3:所有标记为C 2类及C 3类的样本形成正样本3χ+,而标记为C 1类的实例构成负样本3χ-,对h 3的训练应使得3T ∀∈i x ,当3χ+∈i x 时,3()1h =+i x ;当3χ-∈i x 时,3()1h =-i x 。
这样,编码矩阵使得我们可以用二分类问题定义多分类问题,并且这是一种适用于任意可以实现二分基学习器的学习算法的方法,例如,线性或多层感知器,决策树或初始定义的两类问题的SVM 。
典型的每类一个判别式的情况对应于对角矩阵,其中L=K ,例如,对于K=4,我们有W=【】这里的问题是:如果某一个基学习器存在错误,就会有误分类,因为类的码字之间非常相似,因而纠错码采用的方法是使L>K 来增加码字之间的汉明距离。
一种可能的方法是类逐对分开,其中对i<j 有一个不同的基学习器将ci 和cj 分开。
在这种情况下,当K=4时,L=K(K-1)/2,编码矩阵为W=[]。
其中的0表示无关,这就是说,训练d1来将C1与C2分开并且在训练中不使用属于其他类的实例。
类似地,一个实例属于C2如果有d1=-1,并且d4=d5=+1,并且我们不考虑d2,d3,d6的值。
这种方法的问题是对于比较大的K ,逐对分开是不可行的。
方法是预先设定L 值,然后寻找w 使得以汉明距离衡量的行间距以及列间距离都尽可能的大。
对K 类问题而言,存在2k-1-1中可能列,即两类问题。
这是因为K 位可以写成2K 种不同的形式和补(比如,“0101”和“1010”,从我们的角度来看,二者定义相同的判别式),将所有可能组合除以2减1,因为全为0(或1)的列是无用的。
例如K=4时,我们有111111111111111111111111M ------⎡⎤⎢⎥---+++⎢⎥=⎢⎥-++-++⎢⎥+-+--+⎣⎦当K 很大时,对于一个给定的L 值,我们从2k-1-1列中选取L 列,我们希望W 的这些列尽可能的不相同,以便每个基学习器所学习的子任务尽可能互不相同。
同时,我们希望W 的行业尽可能的不相同,使得在一个活多个基学习器失效时,可以获得最大的纠错。
ECOC 可以用投票方式来表述,其中W 的元素wij 可以看作投票权值:1Li ij j j y w d ==∑然后我们选取具有最高i y 的类。
通过求加权和并选择最大值(判别类别)取代寻求一个精确的匹配使得dj 也不必是二元的,二是可取-1到+1之间的任意值,以软确定性取代硬判决。
注意位于0到1之间的pj 值(例如后验概率)可以很简单地被转换为-1到+1之间的dj 值: Dj=2pj-1。
ECOC 的一个问题是:由于编码矩阵W 被设置为先验,因此不能保证由W 的列所定义的子任务一定是简单。
Dietterich 的研究表明二分树可能要比多分树大,而且当使用多层感知器时,后向传播可能收敛较慢。
《Solving Multiclass Learning Problems via Error-Correcting Output Codes 》最早的ECOC 文献:纠错编码设计。
定义一个K*L 维二值矩阵为纠错输出编码矩阵。
矩阵的列数即为编码的长度,矩阵的行数即为多分类问题的分类类数。
矩阵中的每行M(r,·)表示一个类别的码文。
对于K 类问题,一个好的纠错输出编码矩阵应该满足两个要求:一是行尽量分开。
即每个类别的码文与其它类别的码文间的汉明距离要尽可能大。
二是列尽量分开。
每个基学习器决策函数hi应该与其余的基学习器决策函数hj,j不等于i,是相互独立的。
这可以通过强调列i和其余列之间的汉明距离要大以及列i与其它列的补之间的距离要大来获得。
编码的纠错输能力与行间汉明距离直接相关。
而列间汉民距离需要大的目的还不明确。
如果两列列i和列j十分相似或完全一样,那么基学习器的判决函数hi和hj的决策结果会含有相同的错误。
仅当错误出现在不同的编码位置时,纠错输出编码才是有效的,所以不同位置同时出现的错误的机会必须少。
当同时出现错误较多时,纠错码将不能纠正。
互补列之间的错误也是相互关联的。
….当两列互补时,他们之间的汉明距离也最大。
因此列尽量分开的条件就是试图使列既不相同又不互补。
除非分类类别数大于等于5,否则同时满足上述两个条件是很困难的。
例如,当分类类别为3时,仅有8这8列中,4列与另外4列中还有一列是全0或是全1列,这对于分类时毫无作用的。
结果是仅剩下三列可以作为纠错输出编码矩阵的列,这与一对多的编码数是一样的。
通常地,如果是K类问题,除去互补和全0或全1的列,最多还有2k-1-1列可用,对于4类问题,我们能获得一个7列输出编码矩阵,使得行间的最小汉明距离为4. 对于5类问题,我们能获得一个15列输出编码矩阵,使得行间的最小汉明距离为文中介绍了四种设计纠错输出编码的方法:Exhaustive Codes(EC); Column Selection from Exhaustive Code(CSEC); Randomized Hill Climbing; BCH编码[1,2]选择哪种设计方法由分类类数K本文仅将障碍分为四类(采集样本有困难),可以用EC编码的方法。
A Subspace to ECOC二分类器(基学习器)的独立性是设计ECOC矩阵的关键问题(Key factor),若基学习器相互之间不独立,则ECOC方法失效。
本文为了提高基学习器之间的独立性,提出了一种新的有效的ECOC矩阵设计方法。
主要思想是基于不同的特征子空间训练基学习器,即子空间ECOC。
提出的算法为了增加更多独立的基学习器,可以设计更长输出代码的ECOC矩阵。
In addition to creating more independent classifiers in the proposed technique,ECOC matrices with longer codes can be built.对子空间ECOC 方法、传统ECOC 方法、一对一、一对多方法进行了对比实验,实验结果表明本文提出的方法与state of the art coding methods 相比,分类准确率有所提高。
三个最有名的多类分类方法是one-versus-all (OV A) , one-versus-one (OVO) (Anand et al., 1995; Clark and Boswell, 1991), and Error Correcting Output Codes (Dietterich and Bakiri, 1995).如**方法。
一对多的基本思路;一对一的基本思路;ECOC 的基本思想;N c ×L 维编码矩阵M ,其中矩阵中元素取值为{-1,+1},L 表示每类需要编码的个数。
编码矩阵表示L 个二类机器学习问题,其中每一列代表一个基学习器。
也就是说每一列表示一个二分类器,命名为二分器hj ,将一系列样本分成两个元类。
例如模式样本x 属于第i 类,当且仅当Mij=+1时,x 为第j 个二分器的正样本;当且仅当Mij=-1时,x 为第j 个二分器的负样本。
例如,式中给出了四分类问题{c1,…,c4}用六个基学习器{h1,…,h6}学习多分类器对应编码矩阵M 的一种可能情况。
在M 矩阵中,每一列对应一个二分基学习器,hj ,每一行对应一个目标类的特定二值编码向量。
例如,h3识别两个元类:由原始类1和原始类4组成的第一元类,以及有其余两个原始类(类2和类3)组成的第二元类。
111111111111111111111111M +-+--+⎡⎤⎢⎥++--+-⎢⎥=⎢⎥-+-+-+⎢⎥--+-++⎣⎦当测试一个为分类模式,x*时,每一个二分器(基学习器)输出一个码值+1或是-1,组成L 维编码输出向量。
编码输出向量与所有目标类对应的二值编码向量逐一进行对比,最接近于编码输出向量的二值编码向量所对应的目标类即为模式x*的预测类别。
逐一对比的过程称为解码,常用的解码方法为汉明距离(Hamming distance)法,该方法通过寻找编码输出向量和二值编码向量之间的最小距离来确定待测模式的预测类别。
{1,...,}1|(,)(*)|arg(min )2c Li h r N i M r i f y ∈=-=∑x 式中arg 表示求取得最小值时对应的类别r ;{1,...,}h c y N =;(,)M r i 表示第r 类对应的二值编码向量第i 个元素值,(*)i f x 表示待测模式x *对应编码输出向量第i 个元素值。
ECOC方法扩展为三值编码{-1,0,+1},0表示“无关”。
扩展后的ECOC称为稀疏ECOC,不扩展的称为稠密ECOC。
传统的一对多和一对一方法可以用ECOC方法来表示,在一对一方法中,编码矩阵有Nc(Nc-1)/2列,每列对应将ci和cj分开,该列中第i行为+1,第j行为-1,其余行都为0。
在一对多方法中,编码矩阵M是一个NC*NC维对角矩阵,其中主对角线元素都为+1,其余元素都为-1。
值得指出的是,无论是稀疏方法还是稠密方法,测试模式的编码输出矩阵都不能包含0元素,这是因为每个基分类器的输出只能为{-1,+1} 其余的还有很多多类分类方法,如有向无序图,据笔者所知,还没有相关特征选择在ECOC独立性方面的应用。
中文参考文献h1。