단 하나의 값만 True이고 나머지는 모두 False인 인코딩
이 과정을 거치면 데이터 형태는 0-1로 이루어졌기 때문에 컴퓨터가 인식하고 학습하기에 용이하다
ex)
강아지는 0번 인덱스, 고양이는 1번 인덱스, 냉장고는 2번 인덱스를 부여했다고 할 때,
강아지 = [1, 0, 0]
고양이 = [0, 1, 0]
냉장고 = [0, 0, 1]
총 선택지가 전부 3차원 벡터가 됨. 그리고 각 선택지의 벡터들을 보면 해당 선택지의 인덱스에만 1의 값을 가지고, 나머지 원소들은 0의 값을 가짐
이렇게 one hot encoding으로 표현된 벡터를 one-hot vector라고 함
꼭 실제값을 원-핫 벡터로 표현해야만 다중 클래스 분류 문제를 풀 수 있는 것은 아니지만,
대부분의 다중 클래스 분류 문제는 각 클래스 간 관계가 균등해서 one hot vector를 사용하면 유용함
그리고 다수의 클래스를 분류할 때는 클래스의 개수만큼 숫자 레이블이 필요
ex) {red, green, blue} 라면 1,2,3로 레이블 가능
BUT 이렇게 하는 건 클래스의 성질을 잘 표현하지 못함
(가깝다는 정보는 사용자가 부여하고자 하지 않았으나. 실제값이 red인데 green으로 예측했을 때보다 실제값이 red인데 blue라고 예측했을 때 오차가 더 큼. )
'전공공부 > 인공지능' 카테고리의 다른 글
Pandas 4편 : pivot table, join, DB persistence (0) | 2022.07.25 |
---|---|
Pandas 3편 : Groupby (0) | 2022.07.25 |
딥러닝 학습방법 이해하기: 신경망, softmax, 활성함수, back propagation (0) | 2022.07.25 |
pandas 2편 (0) | 2022.07.24 |
pandas : series, dataframe (0) | 2022.07.23 |