코드북으로 문제 나누기
행이 범주이고 열이 이진 문제인 코드북을 만든다. 같은 열에서 값이 같은 범주들을 한쪽으로 묶고 반대 값을 가진 범주들과 구별하도록 학습한다. 예측할 때 각 열의 분류기 출력을 모아 코드 공간의 표현을 만든다. 코드 길이와 코드 설계에 따라 필요한 분류기 수가 달라진다.
한 비트 오류의 예
개념 설명용으로 A=000000, B=111100, C=110011을 배정하자. 세 코드 사이 해밍 거리는 모두 4다. A 표본의 예측이 000001이면 각 코드와의 거리는 A에 1, B에 5, C에 3이므로 가장 가까운 A를 고른다. 각 자리를 완벽히 맞추지 못해도 코드 간 여유 거리로 원래 범주를 복원할 수 있는 예다.
거리와 실제 출력
위 예는 이진 출력을 해밍 거리로 비교하는 규칙이다. 실제 모형은 결정 점수나 확률을 코드 공간의 값으로 사용하고 다른 거리를 적용할 수 있다. 따라서 어떤 출력과 거리로 복호화하는지 확인해야 한다. 원핫처럼 한 범주만 양성인 코드뿐 아니라 여러 범주를 함께 묶는 열도 사용할 수 있다.
정정 능력의 조건
코드가 길다는 사실만으로 오류 정정 성능이 좋아지는 것은 아니다. 코드 간 거리와 이진 문제의 난도, 분류기 오류의 의존성이 중요하다. 예제처럼 같은 분할을 반복하는 열은 예측 오류도 함께 발생할 수 있다. 코드북과 기본 분류기를 검증하고, 최종 범주 예측을 별도 자료에서 평가해야 한다.
관련 문서
일대나머지 분류 / 일대일 분류 / 해밍 거리 / 해밍 손실 / 선형 서포트 벡터 분류 / 교차 검증 / 기계 학습