Pytorch로 시작하는 딥러닝 입문(05-01. 원-핫 인코딩/One-Hot Encoding)
2024. 3. 1. 09:11ㆍ딥러닝 모델: 파이토치
♣ 원-핫 인코딩이란?
원-핫 인코딩은 선택해야 하는 선택지의 개수만큼의 차원을 가지면서, 각 선택지의 인덱스에 해당하는 원소에는 1, 나머지 원소는 0의 값을 가지도록 하는 표현 방법이다.
예를 들어 강아지, 고양이, 햄스터라는 3개의 선택지가 있다고 가정해보자.
우선 각 선택지에 순차적으로 정수 인덱스를 부여한다. 임의로 강아지는 0번, 고양이는 1번, 햄스터는 2번 인덱스를 부여한다. 각 선택지에 대해서 원-핫 인코딩 된 벡터는 아래와 같다.
강아지 = [1, 0, 0]
고양이 = [0, 1, 0]
햄스터 = [0, 0, 1]
총 선택지는 3개였으므로 위 벡터들은 모두 3차원의 벡터가 되었다. 이와 같이 원-핫 인코딩으로 표현된 벡터를 원-핫 벡터(one-hot vector)라고 한다.
♣ 원-핫 벡터의 무작위성
실제값을 원-핫 벡터로 표현해야만 다중 클래스 분류 문제를 풀 수 있는 것은 아니다. 하지만 대부분의 다중 클래스 분류 문제에서 각 클래스 간의 관계가 균등하기 때문에 원-핫 벡터는 클래스를 표현하기에 적절한 방법이다.
특히 각 클래스가 순서의 의미를 갖고 있지 않을 때 각 클래스 간의 오차가 균등해야 하고, 이를 나타내기에는 원-핫 벡터가 적절하다.
'딥러닝 모델: 파이토치' 카테고리의 다른 글
Pytorch로 시작하는 딥러닝 입문(05-03. 소프트맥스 회귀 구현하기) (0) | 2024.03.03 |
---|---|
Pytorch로 시작하는 딥러닝 입문(05-02. 소프트맥스 회귀 이해하기) (0) | 2024.03.02 |
Pytorch로 시작하는 딥러닝 입문(04-04. 클래스로 파이토치 모델 구현하기) (0) | 2024.02.29 |
Pytorch로 시작하는 딥러닝 입문(04-03. nn.Module 로지스틱 회귀 구현하기) (0) | 2024.02.27 |
Pytorch로 시작하는 딥러닝 입문(04-02. 파이토치로 로지스틱 회귀 구현하기) (0) | 2024.02.25 |