Error Correcting Output Code (ECOC)

From GM-RKB
Jump to navigation Jump to search

An Error Correcting Output Code (ECOC) is an Error Correcting Code that is used by a machine learning system to solve a multi-classification problem.



References

2019a

2019b

1995

Class Code Word
$f_0$ $f_1$ $f_2$ $f_3$ $f_4$ $f_5$ $f_6$ $f_7$ $f_8$ $f_9$ $f_{10}$ $f_{11}$ $f_{12}$ $f_{13}$ $f_{14}$
0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1
1 0 0 1 1 1 1 0 1 0 1 1 0 0 1 0
2 1 0 0 1 0 0 0 1 1 1 1 0 1 0 1
3 0 0 1 1 0 1 1 1 0 0 0 0 1 0 1
4 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1
5 0 1 0 0 1 1 0 1 1 1 0 0 0 0 1
6 1 0 1 1 1 0 0 0 0 1 0 1 0 0 1
7 0 0 0 1 1 1 1 0 1 0 1 1 0 0 1
8 1 1 0 1 0 1 1 0 0 1 0 0 0 1 1
9 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1
Table 3: A 15-bit error-correcting output code for a ten-class problem.

(...)

 ::This error-correcting code approach suggests that we view machine learning as a kind of communications problem in which the identity of the correct output class for a new example is being "transmitted" over a channel. The channel consists of the input features, the training examples, and the learning algorithm. Because of errors introduced by the nite training sample, poor choice of input features, and was in the learning process, the class information is corrupted. By encoding the class in an error-correcting code and "transmitting" each bit separately (i.e., via a separate run of the learning algorithm), the system may be able to recover from the errors.