임베딩 생성 예시

이 예시는 감독 유사도 측정에 사용되는 임베딩을 생성하는 방법을 보여줍니다.

수동 유사성 측정을 만들 때 사용한 것과 동일한 주택 데이터 세트가 있다고 가정해 보겠습니다.

특성유형
가격양의 정수
크기 양의 부동 소수점 값(제곱미터 단위)
우편번호정수
침실 수정수
주택 유형'단일 가족', '다가구', '아파트', '콘도'의 텍스트 값
차고0/1(아니요/예)
색상다변수 범주형: 표준 색상에서 1개 이상의 값 '흰색', '노란색', '녹색' 등

데이터 사전 처리

특성 데이터를 입력으로 사용하려면 먼저 데이터를 사전 처리해야 합니다. 사전 처리 단계는 수동 유사성 측정을 만들 때 실행한 단계를 기반으로 합니다. 간략한 내용은 다음과 같습니다.

특성유형 또는 배포작업
가격푸아송 분포 [0,1]로 양자화하고 확장합니다.
크기푸아송 분포 [0,1]로 양자화하고 확장합니다.
우편번호범주형 경도 및 위도로 변환하고, 양자화한 다음 [0,1]로 확장합니다.
침실 수정수 이상점을 잘라 [0,1]로 조정
주택 유형범주형 원-핫 인코딩으로 변환..
차고0 또는 1 그대로 둡니다.
색상범주형 RGB 값으로 변환하고 숫자 데이터로 처리합니다.

원-핫 인코딩에 대한 자세한 내용은 임베딩: 범주형 입력 데이터를 참조하세요.

예측자 또는 Autoencoder 선택

임베딩을 생성하려면 오토인코더 또는 예측자를 선택하면 됩니다. 기본 선택 항목은 자동 인코더입니다. 대신 데이터 세트의 특정 특성이 유사성을 판단하는 경우 예측자를 선택합니다. 완전성을 위해 두 사례를 모두 살펴보겠습니다.

예측자 학습

이러한 특성은 예시 간의 유사성을 결정하는 데 중요한 DNN의 학습 라벨로 선택해야 합니다. 주택 간의 유사성을 결정할 때 가격이 가장 중요하다고 가정해 보겠습니다.

가격을 학습 라벨로 선택하고 입력 특성 데이터에서 DNN으로 삭제합니다. 다른 모든 특성을 입력 데이터로 사용하여 DNN을 학습시킵니다. 학습에서 손실 함수는 예측 가격과 실제 가격 사이의 MSE일 뿐입니다. DNN을 학습시키는 방법은 신경망 학습을 참조하세요.

Autoencoder 학습

다음 단계에 따라 데이터 세트에서 autoencoder를 학습시킵니다.

  1. 자동 인코더의 히든 레이어가 입력 및 출력 레이어보다 작은지 확인합니다.
  2. 지도 유사성 측정에 설명된 대로 각 출력의 손실을 계산합니다.
  3. 각 출력의 손실을 합산하여 손실 함수를 만듭니다. 모든 특성에 대해 손실에 동일한 가중치를 적용합니다. 예를 들어 색상 데이터가 RGB로 처리되므로 각 RGB 출력에 1/3씩 가중치를 적용합니다.
  4. DNN을 학습시킵니다.

DNN에서 임베딩 추출

예측자 또는 자동 인코더에서 DNN을 학습시킨 후 DNN에서 예시 임베딩을 추출합니다. 예의 특성 데이터를 입력으로 사용하여 임베딩을 추출하고 최종 히든 레이어의 출력을 읽습니다. 이러한 출력은 임베딩 벡터를 형성합니다. 비슷한 주택의 벡터는 서로 다른 주택의 벡터와 더 가까워야 합니다.

다음으로 임베딩 벡터를 사용하여 예시 쌍의 유사성을 정량화하는 방법을 살펴보겠습니다.