더북(TheBook)

다음은 원-핫 인코딩을 적용한 결과입니다.

array([2, 2, 1, 0, 1, 0])

하지만 원-핫 인코딩에는 치명적인 단점이 있습니다.

첫째, 수학적인 의미에서 원-핫 벡터들은 하나의 요소만 1 값을 갖고 나머지는 모두 0인 희소 벡터(sparse vector)를 갖습니다. 이때 두 단어에 대한 벡터의 내적(inner product)을 구해 보면 0 값을 갖게 되므로 직교(orthogonal)를 이룹니다. 즉, 단어끼리 관계성(유의어, 반의어) 없이 서로 독립적(independent)인 관계가 됩니다.

둘째, ‘차원의 저주(curse of dimensionality)’ 문제가 발생합니다. 하나의 단어를 표현하는 데 말뭉치(corpus)에 있는 수만큼 차원이 존재하기 때문에 복잡해집니다. 예를 들어 단어 10만 개를 포함한 데이터셋에 원-핫 인코딩 배열을 구성한다면 그 차원 개수는 10만 개에 이르게 됩니다.

원-핫 인코딩에 대한 대안으로 신경망에 기반하여 단어를 벡터로 바꾸는 방법론들이 주목을 받고 있습니다. 예를 들어 워드투벡터(Word2Vec), 글로브(GloVe), 패스트텍스트(FastText) 등이 대표적인 방법론입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.