728x90
범주형 값(Categrical Value)을 이진화된 값 으로 바꿔서 표현하는것 을 말한다.
범주형 값은 예를 들어 "개", "고양이", "말" 이런 3가지 범주형 데이터가 있을 떄, 이를 개 = 1, 고양이 = 2 말 = 3 이라고 단순하게 integer Encoding으로 변환하여 표현한다.
이에 반해 One-hot Encoding을 사용하면 범주형 데이터를 개 = [1 0 0], 고양이 = [0 1 0], 말 = [0 0 1] 형태로 해당 레이블을 나타내는 인덱스만 1의 값을 가지고 나머지 부분은 0의 값을 가진 Binary Value로 표현한다.
단순한 InregerEncoding의 문제점은 머신러닝 알고리즘의 정수 값으로부터 잘못된 경향성을 학습하게 될 수도 있다.
예를들어, Integer Encoding을 사용할경우 머신러닝 알고리즘이 개 = 1 말 = 3의 평균 = 2 로 고양이라고 학습할 수도 있기 떄문,
이에 따라 보통 알고리즘을 구현할 때 타겟 데이터를 One-Hot-Encoding형태로 벡터형태로 N차원으로 만들어 표현하게 된다.
728x90
'알고리즘' 카테고리의 다른 글
TensorFlow2.0으로 MNIST 숫자분류기 구현 (1) | 2024.06.14 |
---|---|
소프트맥스 회귀(Softmax Regression) (1) | 2024.06.13 |
MNIST 데이터셋 (1) | 2024.06.13 |
크로스 엔트로피(Cross-Entropy) (0) | 2024.06.13 |
Training Data, Validation Data, Test Data (0) | 2024.06.13 |