특성 교차: 원-핫 벡터 교차

지금까지는 두 개의 개별 부동 소수점 특성을 특성 교차하는 데 집중했습니다. 실제로 머신러닝 모델에서 연속 특성이 거의 사용되는 경우는 거의 없습니다. 그러나 머신러닝 모델은 원-핫 특성 벡터를 교차하는 경우가 많습니다. 원-핫 특성 벡터의 특성 교차를 논리 결합이라고 생각하면 됩니다. 예를 들어 국가와 언어라는 두 가지 특성이 있다고 가정합니다. 각각의 원-핫 인코딩은 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시에 울었다고 하면 주인의 만족도를 예측하는 강력한 부정적인 요인이 될 수 있습니다.

선형 학습자는 방대한 데이터에 맞게 확장됩니다. 대규모 데이터 세트에서 특성 교차를 사용하는 것은 매우 복잡한 모델을 학습할 수 있는 효율적인 전략 중 하나입니다. 신경망은 또 다른 전략을 제공합니다.