머신러닝, 딥러닝 ML, DL/이론

Outlier Detection, Novelty Detection의 차이

킹남지 2021. 9. 5. 14:50
반응형

정상적인 샘플과 비정상적인 샘플을 나누는 비슷한 작업이지만 굳이 나누자면, 조금은 다르다. 

(참고자료의 사이킷런 공식 문서를 확인하면 다양한 예시 확인 가능)

 

Novelty Detection

  • 훈련 데이터셋에 있는 모든 샘플과 달라 보이는 새로운 샘플을 탐지하는 것이 목적이다. (훈련 데이터에 포함된 샘플은 특이치로 생각하지 않는다.)
  • 즉, Training data가 특이치 데이터를 포함되지 않은 채 학습하고 (사이킷런의 문서에서는 오염되지 않았다고 표현), 예측시 새로운 관측치인지 확인한다.
  • 따라서 알고리즘으로 감지하고 싶은 샘플들을 제거한 훈련 데이터셋이 필요하다.

 

Outlier Detection

  • 훈련 데이터셋에 정상 샘플과 이상치 샘플을 모두 포함하고 있다. ( 대부분 정상 샘플 )
  • 즉, Trainig data가 Outlier를 포함하고 있는 상황에서 Training data에서 Central mode에 Fit 하는 것 (중앙에서 벗어난 데이터를 Outlier로 판단.)

 

요약

가장 확연한 차이로 훈련 시 Outlier Detection은 Novelty Detection과 달리 미리 정의된 Clean DataSet을 사용하지 않는다.

 

예시

예시로 이해하면 좀 더 이해하기 편하다.

 

예시 사진들

만약 위 예시처럼 훈련 데이터 셋에 강아지 사진이 10,000 장이 넘게 있는데 그중 허스키 사진이 10~100장 (1% 미만)으로 포함돼 있다면, Outlier Detection은 나중에 허스키 사진을 보고 특이한 것으로 예측하지만, Novelty Detection의 경우는 허스키를 특이하다고 예측하지 않을 것이다. (훈련 데이터에 포함된 샘플이니까.)

 

 

[참고자료]

[1] https://scikit-learn.org/stable/modules/outlier_detection.html

반응형