하나의 핫 인코딩이 기계 학습 성능을 향상시키는 이유는 무엇입니까?


127

One Hot 인코딩이 특정 데이터 세트 (매트릭스)에 사용되고 학습 알고리즘의 학습 데이터로 사용될 때 원래 행렬 자체를 학습 데이터로 사용하는 것과 비교하여 예측 정확도와 관련하여 훨씬 더 나은 결과를 제공합니다. 이 성능 향상은 어떻게 이루어 집니까?

답변:


260

많은 학습 알고리즘은 피처 당 단일 가중치를 학습하거나 샘플 간 거리를 사용합니다. 전자는 설명하기 쉬운 로지스틱 회귀와 같은 선형 모형의 경우입니다.

"UK", "French"및 "US"값을 가진 단일 범주 형 기능 "nationality"만있는 데이터 세트가 있다고 가정하십시오. 일반성을 잃지 않고 그것들이 0, 1, 2로 인코딩되었다고 가정합니다. 그런 다음 선형 분류기 에서이 기능에 대한 가중치 w를 가지며 제약 조건 wxx + b> 0에 따라 어떤 종류의 결정을 내립니다. 또는 동등하게 wxx <b.

이제 문제는 가중치 w가 3 방향 선택을 인코딩 할 수 없다는 것입니다. wxx의 세 가지 가능한 값은 0, w 및 2xw입니다. 이 세 가지 모두 동일한 결정을 내릴 수 있으며 (모두 <b 또는 ≥b 임) "UK"와 "French"는 같은 결정을 내리거나 "French"와 "US"는 같은 결정을 내립니다. 모델이 "UK"와 "US"에 동일한 레이블을 부여해야한다는 사실은 없습니다. "French"는 이상한 레이블입니다.

one-hot encoding을 사용하면 특징 공간을 세 가지 특징으로 효과적으로 날려 버릴 수 있습니다. 각각의 특징은 자체 가중치를 가지므로 이제 결정 기능은 w [UK] [uk] + w [FR] x [FR] + w입니다. [US] x [US] <b, 여기서 모든 x는 부울입니다. 이 공간에서 이러한 선형 함수는 가능성의 모든 합계 / 차이를 표현할 수 있습니다 (예 : "영국 또는 미국"(영어를 말하는 사람의 예측 기일 수 있음)).

마찬가지로, 샘플 사이의 표준 거리 측정법 (예 : k- 최근 접 이웃)을 기반으로하는 학습자는 one-hot 인코딩없이 혼동됩니다. 순진 인코딩과 유클리드 거리의 경우 프랑스와 미국 사이의 거리는 1입니다. 미국과 영국 사이의 거리는 2입니다. 그러나 원-핫 인코딩의 경우 [1, 0, 0], [0, 1 사이의 쌍별 거리입니다. , 0] 및 [0, 0, 1]은 모두 √2와 같습니다.

모든 학습 알고리즘에 적용되는 것은 아닙니다. 깊이있는 경우 의사 결정 트리 및 임의 포리스트와 같은 파생 모델은 원핫 인코딩없이 범주 형 변수를 처리 할 수 ​​있습니다.


4
이 Lars에 감사하지만, 기능의 수를 효과적으로 늘리는 OneHotEncoding을 수행 할 때 너무 적합하지 않도록 샘플도 늘릴 필요가 없습니다.
Manoj

@Manoj 각 수준을 별개의 정수로 인코딩하는 범주 형 변수의 명백한 대체 표현과 비교할 때 중요하지 않다고 생각합니다. 어느 쪽이든 충분한 통계가 필요합니다.
Fred Foo

7
더 자세히 읽을 수 있도록 지적 할 수있는 문헌이 있습니까? 감사.
Dr.Knowitall

1
부스팅과 같은 기계 학습 기술을 사용할 때 정규 행렬보다 작은 행렬 ( 정규 통계 모델을 작성할 때 하지 않을 것) 을 사용하면 이점이 있습니까?
Steve S

2
이것은 통계학자가 "더미 변수"라고 부르는 것과 같습니다. 그러나 저장 공간이 약간 절약 될 수 있습니다.
Soldalma

3

one-hot-encoding을 수행하여 기능의 증가와 관련하여 기능 해싱을 사용할 수 있습니다. 해싱을 수행 할 때 버킷 수를 새로 도입 된 기능 수보다 훨씬 작게 지정할 수 있습니다.


0

카테고리를 예측하려면 세트의 항목을 예측하려고합니다. one-hot encoding을 사용하지 않는 것은 특정 방식으로 특정 순서로 범주가 인접 범주 (예 : 범주의 정수로 회귀를 수행 한 경우)를 갖도록하는 것과 유사합니다.

이제 원핫 인코딩없이 카테고리 0에 0, 카테고리 1에 1, 카테고리 2에 2를 할당하고 알고리즘 예측이 0 또는 2를 선택해야하는지 확실하지 않은 경우 어떻게됩니까? 그는 그것이 0 또는 2라고 생각합니까?

어디로 가는지 봅니다. 데이터 입력에도 동일하게 적용됩니다. 이웃이 아니어야하는 경우 알고리즘으로 이웃으로 표시하지 마십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.