인코딩이란?
인코딩이란 정보의 형태나 형식을 변환하는 처리나 처리 방식이다.
정수 인코딩
인코딩의 방식으로 데이터를 정수로 표현하는 방법이 있다.
{red, green, blue} => {0, 1, 2}
그러나 일반적인 다중 클래스 분류 문제에서는 정수 인코딩 방식이 올바르지 않을 수 있다. 그 이유로는 선형회귀에서 사용된 MSE(평균제곱오차)를 예로 들어보자
실제 값이 red일때 예측값이 green이었다면 제곱 오차는 (0 - 1)^2이 된다.
실제 값이 red일때 예측값이 blue이었다면 제곱 오차는 (0 - 2)^2이 된다.
즉, red - green사이의 오차보다 red-blue사이의 오차가 더 크므로 green이 blue보다 red에 더 가깝다는 정보를 주는 것과 다름이 없다.
원-핫 인코딩
원-핫 인코딩은 선택해야하는 선택지의 개수만큼 차원을 가지면서, 각 선택지의 인덱스에 해당하는 원소에는 1, 나머지는 0의 값을 가지도록 하는 방법이다.
예시:
강아지 = [1, 0, 0]
고양이 = [0, 1, 0]
냉장고 = [0, 0, 1]
선택지 갯수만큼 크기의 벡터로 표현하며 이를 원-핫 벡터라고 한다.
정수 인코딩은 각 클래스의 순서 정보가 도움이 되는 분류 문제에 사용하기 적합하고
원-핫 인코딩은 각 클래스의 순서 정보가 의미가 없을때 사용하기 적합하다.
References:
'인공지능 > 머신러닝' 카테고리의 다른 글
과적합, 기울기 소실, 기울기 폭주 (1) | 2023.01.30 |
---|---|
퍼셉트론(Perceptron) (0) | 2023.01.29 |
소프트맥스 회귀(Softmax Regression) (0) | 2023.01.20 |
로지스틱 회귀(Logistic Regression) (0) | 2022.10.26 |
선형 회귀(Linear Regression) (0) | 2022.10.25 |