[구글 머신러닝 단기집중과정] 8강

환공지능·2021년 7월 2일
0
post-thumbnail

1. 특성 교차(Feature Crosses) : 비선형성 인코딩

(1) 특성 교차(Feature Crosses)

특성 교차는 두 개 이상의 입력 특성을 곱하여 특성 공간에서 비선형성을 인코딩하는 합성 특성이다. 교차라는 용어는 교차 곱에서 따온 것으로 x1x_{1}x2x_{2}를 교차하여 이라는 특성 교차를 만들어 보겠다.
x3=x1x2x_{3} = x_{1}x_{2}
새로 만든 특성 교차는 다른 특성과 마찬가지로 취급하며 선형 수식은 다음과 같다.

y=b+w1x1+w2x2+w3x3y = b + w_{1}x_{1} + w_{2}x_{2}+ w_{3}x_{3}

선형 알고리즘에서 w1w_{1}w2w_{2}와 마찬가지로 w3w_{3}의 가중치를 학습할 수 있다. 다시 말해 w3w_{3}이 비선형 정보를 인코딩해도 그 값을 결정하기 위해 선형 모델의 학습 방식을 변경하지 않아도 됨을 의미한다.

(2) 특성 교차의 종류

여러 종류의 특성 교차를 만들 수 있으며 그 예는 다음과 같다.

  • [A X B]: 두 특성의 값을 곱하여 구성되는 특성 교차
  • [A x B x C x D x E]: 다섯 개의 특성 값을 곱하여 구성되는 특성 교차
  • [A x A]: 단일 특성을 제곱하여 구성되는 특성 교차

확률적 경사하강법을 활용하여 선형 모델을 효율적으로 학습시킬 수 있다. 결과적으로 예전부터 조정된 선형 모델을 특성 교차로 보완하는 방법으로 모델을 대규모 데이터 세트에 효율적으로 학습시켜 왔다.

2. 특성 교차 : One-Hot Vector Cross

이제까지는 별개의 두 부동 소수점 특성의 특성 교차에 초점을 맞추었다. 그러나 실제로 머신러닝 모델에서 연속 특성을 교차하는 경우는 거의 없다. 하지만 원-핫 특성 벡터를 교차하는 경우는 많다.

원-핫 특성 벡터의 특성 교차는 논리적 결합이라고 생각하면 쉽다. 예를 들어 국가와 언어, 두 특성이 있다고 가정합니다. 각 특성을 원-핫 인코딩하면 country=USA, country=France 또는 language=English, language=Spanish로 해석할 수 있는 이진 특성이 포함된 벡터가 생성되고, 그런 다음 이러한 원-핫 인코딩의 특성을 교차하면 다음과 같이 논리적 결합으로 해석할 수 있는 이진 특성이 생성된다.

country:usa AND language:spanish

다른 예로 위도와 경도를 비닝하여 다섯 개의 요소로 구성된 별도의 원-핫 특성 벡터를 만든다고 가정한다. 예를 들어 지정된 위도와 경도는 다음과 같이 나타낼 수 있다.

binned_latitude = [0, 0, 0, 1, 0]
binned_longitude = [0, 1, 0, 0, 0]

이 두 특성 벡터의 특성 교차를 만든다고 가정한다.

binned_latitude X binned_longitude
이 특성 교차는 25개의 요소로 구성된 원-핫 벡터입니다(24개의 0과 1개의 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시에 (아마도 구슬프게) 울면 주인이 아주 만족하지 못할 것이라고 예측할 수 있다.

선형 학습자는 대량의 데이터에 적합하게 확장된다. 대량의 데이터에 특성 교차를 사용하면 매우 복잡한 모델을 효율적으로 학습할 수 있으며 신경망을 통해 다른 전략을 사용할 수도 있다.

.
.
.
실습 링크 : 구글 머신러닝 단기집중과정

profile
데이터사이언티스트 대학원생

0개의 댓글