One-Hot Encoding은 주로 Classification문제에 가장 적합한 encoding방법이다.

Numeric Encoding Problem

Classification에서 Numeric Encoding을 사용시 다음과 같은 문제가 발생한다.

사과, 배, 오렌지 카테고리에 각각 1,2,3이라는 라벨을 줬다고 가정하자.

Numeric Encoding을 사용했을 경우 어떤 사과 사진이 존재할 때 사진의 노이즈로 인해 1.6이라는 값이 나왔다.

해당 사진은 1.6이 2라는 값에 가까우니까 배 사진으로 판단하는 것이 적절한가 하는 문제가 생길 수 있다.

실제로는 오렌지 사진일 수도 있는 가능성을 가질 수 있다.

오렌지 사진에 가까우려면 3이라는 numeric 값에 접근한 output값이 나와야 하는데, 1과 3은 거리가 상당히 멀기 때문이다.

반면 One-Hot Encoding을 사용하게 되면 각 노드마다 하나의 출력값이 있어서 고양이와 호랑이 라벨이 고양이와 개 라벨 보다 멀다는 문제가 생기지 않게 된다.

When to use Numeric Encoding

분류의 문제가 아닐 경우, 단일한 값의 크기에 비례하여 중요도가 커지는 문제인 경우 Numeric Encoding이 맞을 수 있다.

예를 들어 온도에 비례하여 때 꽃에 물을 몇 번 줄 것인가의 문제라면 온도가 높을수록 물을 많이 뿌려야 한다.

이때 출력값이 크게 나올수록 물을 많이 뿌리도록 하는 시스템이라고 가정했을 경우 출력값의 크기가 의미를 갖을 수 있다.

이러한 경우는 Numeric Encoding이 적절할 수 있다.