표현

머신러닝 모델은 입력 예를 직접 보거나 듣거나 감지할 수 없습니다. 대신 데이터의 표현을 만들어 모델이 데이터의 주요 특성을 유용하게 파악할 수 있도록 해야 합니다. 즉, 모델을 학습시키려면 데이터를 가장 잘 나타내는 특성 집합을 선택해야 합니다.

표현

개념은 왼쪽에 있는 벡터의 각 부분을 오른쪽의 특성 벡터에 하나 이상의 필드에 매핑하는 것입니다.

특성 추출이라는 과정을 통해 원시 데이터가 특성 벡터에 매핑됩니다.
원시 데이터에서 직접 복사할 수 있는 특성의 예
원시 데이터에서 직접 복사할 수 없는 문자열 특성 (거리 이름)의 예
문자열 값 매핑 (
  • 사전으로 각 거리 이름을 {0, ...,V-1} 범위의 정수에 매핑
  • 이제 위의 원-핫 벡터를 <i>로 표현

특성 값은 데이터 세트에서 0이 아닌 값으로 몇 번 이상 표시되어야 합니다.

my_device_id:8SK982ZZ1242Z

device_model:galaxy_s6

특성은 분명하고 명확한 의미를 가져야 합니다.

user_age:23

user_age:123456789

특성은 '특수' 값을 포함해서는 안 됩니다.

대신 watch_time_is_defined와 같은 추가 부울 기능을 사용하세요.

watch_time: -1.0

watch_time: 1.023

watch_time_is_defined: 1.0

특성의 정의는 시간이 지나도 변하지 않습니다.

(다른 ML 시스템에 종속되지 않도록 주의하세요.)

city_id:"br/sao_paulo"

inferred_city_cluster_id:219

분포에 극단적인 이상점이 있으면 안 됩니다.

모든 특성을 (-1, 1) 또는 (0, 5)와 같이 유사한 범위로 변환하는 것이 가장 좋습니다.

이상점이 있는 분포와 한도가 있는 분포
위치에 따른 맞춤 곡선으로 분포를 보여주는 그래프
위치에 따른 맞춤 곡선으로 분포를 보여주는 그래프
  • 각각 새로운 고유한 특성에 매핑되는 여러 개의 불리언 구간 만들기
  • 모델이 각 구간에 다른 값을 적합하게 할 수 있습니다.

데이터 파악하기

  • 시각화: 출현 빈도 순으로 히스토그램을 그립니다.
  • 디버그: 중복된 예가 있나요? 누락된 값이 있나요? 이상점이 있나요? 데이터가 대시보드와 일치하나요? 학습 데이터와 검증 데이터가 비슷한가요?
  • 모니터링: 특성 분위수, 시간 경과에 따른 예의 수,