[인공지능 응용] Anomaly Detection(1)
우리말로 "이상탐지"를 배운다.
이상탐지는 여러 용어로 불리운다. Anomaly Detection, Outlier Detection, One Class Classification, Novelty Detection ...
"이상탐지는 y 레이블이 없는 경우, 가장 널리 사용되는 분류 기법이다"
이 말을 들었을 때, 이상탐지는 비지도 학습이겠지? 라고 생각했으나, 그렇지 않다. 비지도 학습이라 말하는 사람들도 있으나, 지도 학습 기반의 분류 기법이라고 알고 있는 것이 낫겠다.
왜냐? 정상이 무엇인지 알아야지, 해당되는 정상 데이터를 기준으로 학습하는 알고리즘이기 때문이다. 정상이 무엇인지 모르는 상태에서 학습을 할 수 없기 때문.
준지도 학습, 비지도 학습에 해당되는 Clustering, 연관분석(추천sys), 네트워크 분석도 y 레이블 없는 경우에 해당된다. 이렇게 레이블이 없는 데이터를 활용할수록 Robust한 모델 구축이 용이해진다.
이상치는 노이즈와는 다른 개념이다. 노이즈는 이상탐지 이전에 제거 되어야 한다고 보면 된다.
이상치는 관심 대상이 필요하다. 예를 들어) 카드 이상거래 검출, 기후 이상, 웨이퍼 품질 이상, 불법 거래 등...
이상치를 세 가지 정도의 종류로 말하면,
1. Global outlier : 동일하게 수집된 것으로 판단되는 데 이상한 데이터가 있네 ?
2. Contextual outlier : 하와이 40도 / 알레스카 40도
3. Collective outlier : 정상과 유사한 분포를 갖는데, 부분 군집상 이상하네.. (ex. 디도스 서버 공격)
무엇이 이상인가, 를 정하는 관점도 다양할 수 있기 때문에 중요한 부분이 된다.
1. 정상을 정의한다
정상을 정의하는 것이 선행되어야 한다. 이것 자체를 이상탐지로 볼 수도 있다. 이상의 관측치는 상대적으로 적기 때문에 이를 정의하는 것은 어렵고, 범위를 정할 수도 없다.
2. 이상탐지 시 현장 상황을 고려
모든 상황에 최적의 성능을 보장하는 이상탐지 알고리즘은 없기 때문에, 현장의 문제를 잘 파악하고 무엇이 이상인지를 정의해야 한다.
3. 탐지된 이상에 대한 이해
이상이 "왜" 발생했는가? 자주 발생하는가? 발생 빈도가 증가하고 있는가?
이상탐지 접근 방식
: 어떤 범위부터 확장할지. / 어떤 범위까지 한정지을지.
이상탐지의 평가 척도
일반적인 이진 분류의 평가지표가 아래와 같이 동일하게 적용될 수 있다.
TPR : 정상을 정상으로 잘 분류한 비율 (= Recall, 1종 오류)
FPR : 이상을 정상으로 잘못 분류한 비율 (= 1-Specificity, 2종 오류)
ACC : 정상을 정상으로, 이상을 이상으로.
F1 : Precision과 Recall의 조화 평균
AUC
AOC
아래 글의 정리가 참 깔끔합니다. 감사합니다.
https://angeloyeo.github.io/2020/08/05/ROC.html#tpr%EA%B3%BC-fpr%EC%9D%98-%EA%B4%80%EA%B3%84
ROC curve - 공돌이의 수학정리노트
angeloyeo.github.io
이상탐지에서는 아래의 평가 지표가 적용된다.
FRR(False Rejection Rate) : 1종 오류 / 암 아닌데 암이라고
FAR(False Acceptance Rate) : 2종 오류 / 암인데 암 아니라고 ? 와.... 큰일났네..
EER (Equal Error Rate) : 1종오류와 2종오류의 값이 같을 때.
IE (Integrated Error) : ROC 커브를 그리고 AUC score를 보는 것과 유사함. / FRR이 증가함에 따라서 FRR이 감소하는 것을 보고자 하는 것이기 때문에 면적이 줄어들수록 좋음.
cutoff를 정하는 것이 중요함. 어디까지를 정상으로 볼 것인지 Novelty score에 따라서 정할 수 있음. (유의수준과 동일 개념)