데이터 드리프트

엔드 투 엔드 Machine Learning

Joshua Stapleton

Machine Learning Engineer

데이터 드리프트 탐지의 필요성

시간 경과에 따른 연령대별 심장병 분포 변화 그래프 — 오늘날 심장병 발생이 더 적고, 더 높은 연령에서 발생

엔드 투 엔드 Machine Learning

Kolmogorov–Smirnov 검정

  • 데이터 드리프트 탐지에 흔히 사용
  • 표본 간 분포 유사성 비교

초기 학습 데이터셋과 드리프트가 발생한 최신 추론 데이터셋의 분포 차이를 보여주는 두 그래프

엔드 투 엔드 Machine Learning

ks_2samp() 함수 사용

  • ks_2samp()는 두 값을 반환: 검정통계량, p-값.
  • p-값으로 분포 동일성에 대한 귀무가설 채택/기각 판단
from scipy.stats import ks_2samp
# load the 1D data distribution samples for comparison
sample_1, sample_2 = training_dataset_sample, current_inference_sample
# perform the KS-test - ensure input samples are numpy arrays
test_statistic, p_value = ks_2samp(sample_1, sample_2)
if p_value < 0.05:
    print("Reject null hypothesis - data drift might be occuring")
else:
    print("Samples are likely to be from the same dataset")
엔드 투 엔드 Machine Learning

데이터 드리프트 보정

새 데이터 반영을 위한 모델 업데이트

  • 모델 재학습
  • 파라미터 재조정/업데이트

새/추론 데이터가 부족한가요?

  • 혼합 데이터셋으로 재학습
  • 새 데이터 확보량 증가

드리프트가 발생한 모델을 재학습·재배포하는 흐름도

시간 경과에 따라 새 데이터 비중을 늘려 주기적으로 재학습하는 다이어그램

엔드 투 엔드 Machine Learning

데이터 드리프트 탐지와 보정을 위한 추가 자료

엔드 투 엔드 Machine Learning

Ayo berlatih!

엔드 투 엔드 Machine Learning

Preparing Video For Download...