728x90
One-Hot Encoding 이란?
원-핫 인코딩(One-Hot Encoding)이란 단어로 이루어진 데이터를 머신러닝 모델이 이해할 수 있도록 숫자형으로 변환하는 방법 중 하나이다. 간단히 말해, 각 범주(카테고리)에 해당하는 요소만 '1'로 표시하고 나머지 요소는 모두 '0'으로 채우는 방식이다.
예를들어 아래 Corpus(문단)을 이루는 문장 3개가 있다고 가정하자.
1. The food is good
2. The food is bad
3. Pizza is amazing
그리고 단어들을 0과 1로 변환하면 이렇게 될 것이다.
| The | food | is | good | bad | pizza | amazing |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| ... | ||||||
| ... | ||||||
| ... | ||||||
| ... | ||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 1 |
이제 2번 문장을 벡터로 표현하면 이렇게 된다.
[ [ 1 0 0 0 0 0 0 ], [ 0 1 0 0 0 0 0 ], [ 0 0 1 0 0 0 0 ], [ 0 0 0 0 1 0 0 ] ] (4x7)
3번 문장은 아래와 같다.
[ [ 0 0 0 0 0 1 0 ], [ 0 0 1 0 0 0 0 ], [ 0 0 0 0 0 0 1 ] ] (3x7)
이렇게 표현한다면 여러가지 단점이 존재한다.
원-핫 인코딩의 단점
- 희소 행렬 (Sparse Matrix) 발생: 대부분의 값이 '0'인 희소 행렬이 생성될 수 있으며, 이는 메모리 비효율성을 초래할 수 있다.
-> 과적합 발생 - 새로운 범주 처리의 어려움: ML 알고리즘에서는 고정된 크기 입력이 중요하다. 그런데 위 예시처럼 4x7을 처리하다가 3x7이 나타날 경우 이를 처리하기 위한 추가적인 로직이 필요하다. 기존 방식으로는 새로운 범주를 표현할 수 없기 때문이다.
- 테스트 데이터에 없는 단어는 벡터로 표현할 방법이 없다.
- 의미를 파악하기 어려움 : 예를들어 아래 그림처럼 food, pizza, burger가 있을 때, 각 단어의 거리가 동일하기 때문에 유의미한 차이를 판단하기 어렵다.

728x90
'AI LLM' 카테고리의 다른 글
| Word Embedding, Word2Vec (0) | 2025.06.07 |
|---|---|
| [NLP - 벡터 변환 알고리즘] TF-IDF (0) | 2025.05.25 |
| [NLP - 벡터 변환 알고리즘] Bag of Words, N-Gram (0) | 2025.05.22 |
| [NLP] Lemmatization (표제어 추출), Stopwords(불용어) (2) | 2025.05.20 |
| [NLP] Tokenization(토큰화), Stemming(스테밍) (0) | 2025.05.19 |