개요
단어를 표현하는 가장 기본적인 표현 방법
과정
- 정수 인코딩 : 각 단어에 고유한 인덱스를 부여한다.
- 표현하고 싶은 단어의 인덱스의 위치에 1을 부여하고, 다른 단어의 인덱스의 위치에는 0을 부여한다.
Example
- I like NLP
- I like DL
- DL is AI
| 단어 | One-Hot Vector |
|---|---|
| I | [1 0 0 0 0 0] |
| like | [0 1 0 0 0 0] |
| NLP | [0 0 1 0 0 0] |
| DL | [0 0 0 1 0 0] |
| is | [0 0 0 0 1 0] |
| AI | [0 0 0 0 0 1] |
왜 1, 2, 3, 4로 인덱싱하지 않고 One-Hot Encoding 을 사용하는가?
ex) MSE as the cost function
| Banana | Tomato | Apple |
|---|---|---|
| 1 | 2 | 3 |
| Answer: Tomato(2) | ||
| Prediction: Banana(1) | ||
| **MSE:1 |
Answer: Apple(3)
Prediction: Banana(1)
**MSE: 4
토마토-바나나가 사과-바나나보다 유사한가? → 아니기 때문에
벡터로 표현해야 한다!
한계
단어의 개수가 늘어날수록, 벡터를 저장하기 위한 공간(벡터의 차원)이 계속 늘어난다.
단어의 유사도를 표현하지 못한다.
One-Hot Vector vs Embedding Vector
One-Hot Vector vs Embedding Vector
원본 링크
One-Hot Vector Embedding Vector 차원 고차원 (단어 집합의 크기) 저차원 다른 표현 희소 벡터의 일종 밀집 벡터의 일종 표현 방법 수동 훈련 데이터로부터 학습함 값의 타입 1과 0 실수