지금까지는 두 개의 개별 부동 소수점 특성을 특성 교차하는 데 집중했습니다. 실제로 머신러닝 모델에서 연속 특성이
거의 사용되는 경우는 거의 없습니다. 그러나 머신러닝 모델은 원-핫 특성 벡터를 교차하는 경우가 많습니다. 원-핫 특성 벡터의 특성 교차를 논리 결합이라고 생각하면 됩니다. 예를 들어 국가와 언어라는 두 가지 특성이 있다고 가정합니다. 각각의 원-핫 인코딩은 country=USA, country=France
또는 language=English, language=Spanish
로 해석될 수 있는 바이너리 특성이 있는 벡터를 생성합니다.
그런 다음 이러한 원-핫 인코딩의 특성 교차를 수행하면 논리적 결합으로 해석될 수 있는 다음과 같은 바이너리 특성을 얻게 됩니다.
country:usa AND language:spanish
또 다른 예로, 위도와 경도를 비닝하여 별도의 원-핫 5개 요소 특징 벡터를 생성한다고 가정해 보겠습니다. 예를 들어 특정 위도 및 경도는 다음과 같이 나타낼 수 있습니다.
binned_latitude = [0, 0, 0, 1, 0] binned_longitude = [0, 1, 0, 0, 0]
이 두 특성 벡터의 특성 교차를 만든다고 가정해 보겠습니다.
binned_latitude X binned_longitude
이 특성 교차는 25개 요소로 구성된 원-핫 벡터 (0은 24개, 1은 1)입니다.
교차에 있는 단일 1
는 위도와 경도의 특정 결합을 식별합니다. 그러면 모델이 이 결합에 대한 특정 연결을 학습할 수 있습니다.
위도 및 경도를 다음과 같이 훨씬 더 대략적으로 비닝한다고 가정하겠습니다.
binned_latitude(lat) = [ 0 < lat <= 10 10 < lat <= 20 20 < lat <= 30 ] binned_longitude(lon) = [ 0 < lon <= 15 15 < lon <= 30 ]
대략적 특성 구간을 교차하는 특성 교차를 만들면 다음과 같은 의미를 갖는 합성 특성이 생성됩니다.
binned_latitude_X_longitude(lat, lon) = [ 0 < lat <= 10 AND 0 < lon <= 15 0 < lat <= 10 AND 15 < lon <= 30 10 < lat <= 20 AND 0 < lon <= 15 10 < lat <= 20 AND 15 < lon <= 30 20 < lat <= 30 AND 0 < lon <= 15 20 < lat <= 30 AND 15 < lon <= 30 ]
이제 모델이 다음 두 특성을 기반으로 개에 대한 만족도를 살펴볼 필요가 있다고 가정해 보겠습니다.
- 행동 유형 (짖는 소리, 울음, 꼭 끼는 소리 등)
- 시간
두 특성에서 특성 교차를 구축하면 다음과 같은 결과가 나타납니다.
[behavior type X time of day]
그러면 두 기능 자체보다 훨씬 더 예측 성능이 좋은 결과를 얻게 됩니다. 예를 들어 주인이 퇴근 후 오후 5시에 (기쁨으로) 울면 주인이 아주 만족할 것이라고 긍정적인 예측을 할 것입니다. 소유자가 오전에 새벽 3시에 울었다고 하면 주인의 만족도를 예측하는 강력한 부정적인 요인이 될 수 있습니다.
선형 학습자는 방대한 데이터에 맞게 확장됩니다. 대규모 데이터 세트에서 특성 교차를 사용하는 것은 매우 복잡한 모델을 학습할 수 있는 효율적인 전략 중 하나입니다. 신경망은 또 다른 전략을 제공합니다.