위키득계정 ↗
기술

오류 정정 출력 코드 분류

오류 정정 출력 코드 분류기술
영문명
Error-correcting output-code classification
약칭
ECOC
학습 단위
코드열의 각 자리
결합 방식
예측 코드와 범주 코드의 거리 비교
오류 정정 출력 코드 분류는 각 범주에 이진 코드열을 배정하고 코드의 각 자리를 예측하는 이진 분류기들을 학습하는 방법이다. 예측된 코드와 가까운 범주 코드를 찾아 다중 범주 결과를 만든다.

코드북으로 문제 나누기

행이 범주이고 열이 이진 문제인 코드북을 만든다. 같은 열에서 값이 같은 범주들을 한쪽으로 묶고 반대 값을 가진 범주들과 구별하도록 학습한다. 예측할 때 각 열의 분류기 출력을 모아 코드 공간의 표현을 만든다. 코드 길이와 코드 설계에 따라 필요한 분류기 수가 달라진다.

한 비트 오류의 예

개념 설명용으로 A=000000, B=111100, C=110011을 배정하자. 세 코드 사이 해밍 거리는 모두 4다. A 표본의 예측이 000001이면 각 코드와의 거리는 A에 1, B에 5, C에 3이므로 가장 가까운 A를 고른다. 각 자리를 완벽히 맞추지 못해도 코드 간 여유 거리로 원래 범주를 복원할 수 있는 예다.

거리와 실제 출력

위 예는 이진 출력을 해밍 거리로 비교하는 규칙이다. 실제 모형은 결정 점수나 확률을 코드 공간의 값으로 사용하고 다른 거리를 적용할 수 있다. 따라서 어떤 출력과 거리로 복호화하는지 확인해야 한다. 원핫처럼 한 범주만 양성인 코드뿐 아니라 여러 범주를 함께 묶는 열도 사용할 수 있다.

정정 능력의 조건

코드가 길다는 사실만으로 오류 정정 성능이 좋아지는 것은 아니다. 코드 간 거리와 이진 문제의 난도, 분류기 오류의 의존성이 중요하다. 예제처럼 같은 분할을 반복하는 열은 예측 오류도 함께 발생할 수 있다. 코드북과 기본 분류기를 검증하고, 최종 범주 예측을 별도 자료에서 평가해야 한다.

관련 문서

일대나머지 분류 / 일대일 분류 / 해밍 거리 / 해밍 손실 / 선형 서포트 벡터 분류 / 교차 검증 / 기계 학습