데이터 분석/머신러닝
머신러닝(6): 이상치 탐지
민서타
2023. 9. 26. 09:04
1. Anomaly Detection
-이상이라고 정의한 사건 및 패턴을 탐지하는 분야
-Point Anomaly Detection: 정적인 일반 데이터 내 아웃라이어, 특정 포인트의 이상치 감지 -Contextual Anomaly Detection: 시계열과 같은 동적인 특성에 초점, 연속적인 변화 패턴을 읽어 이상치 감지 -Collective Anomaly Detection: Global 상황에서 변칙적인 이상치가 아닌 Local한 이상치 -Online Anomaly Detection: 실시간 데이터 수집 체계가 구축되어 있는 환경에서 탐지 -Distributed Anomaly Detection: 관측치의 정상 분포에서 벗어나는 이상 데이터 탐지 |
Label 종류
-Supervised Anomaly Detection: 이상과 정상이 붙어있는 경우 자주 발생하지 않는 이상에 대해 정의할 수 있는 상황 충분한 이상 데이터 확보 시 활용가능, 성능평가 시 정확도가 아닌 재현율 관점 평가 고려 -Semi-Supervised Anomaly Detection: 이상이 없고 정상 데이터만 보유하고 있는 상황, 충분한 이상 데이터가 없을 시 정상 데이터만을 활용해 이상을 탐지, 구분선을 좁혀 정상 구분, One-class-SVM -Unsupervised Anomaly Detection: 정상과 이상에 대한 라벨이 모두 없을 때, 모든 데이터를 활용한 학습, 딥러닝 알고리즘 활용 |
3-Sigma Rule: 표준편차가 3배인 3-시그마의 범위가 전체 Data의 99.73%를 포함
2. Local Outlier Factor
-LOF of an object p: 관측치 p의 이상치 정도를 나타내는 LOF는 p의 밀도와 이웃 o의 밀도의 비율을 평균한 것 -LOF > 1 : 밀도가 낮은 분포, LOF < 1 : 밀도가 높은 분포, LOF = 1 : 이웃 관측치와비슷한 분포 # LOF 작을수록 밀도↑ |
3. Isolation Forest(I-forest)
-의사결정나무 형태로 표현, 이상치인 경우 상단부에서 분리, 정상값을 분리하기 위해 나무 하강 원리 이용
-의사결정나무를 앙상블함 Step1: Sub-sampling: 비복원 추출하여 나무에 들어갈 데이터셋 준비 #랜덤포레슽의 경우 복원 추출 Step2: Feature Randomly Selection: 변수를 랜덤하게 선택 Step3: Split point 설정 Step4: 각 데이터마다의 Scoring 계산 |
4. Robust Random Cut Forest:
-I-Forest와 유사하지만 이상치 검출에서 한 번의 Split으로 Score를 크게 계산, 실시간 환경 분석가능
5. One-class SVM
-마진 극대화 목적, Soft Margin과 Hard Margin을 활용한 결정경계 확인 #페널티값 활용
-비선형 데이터-> Kernel을 활용하여 Data를 고차원으로 전송, 서로 분리되는 경계를 찾고 결정경계 생성
-정상 관측치가 최대한 원점에서 멀어지도록 학습하는 것
6. Dimensionality Reduction 기법을 활용한 이상치 탐지
-원래의 데이터 -> 차원 감소 -> 재건 / 원래의 데이터와 재건된 데이터의 거리를 계산하여 이상치를 측정
-마할라노비스 거리와 유사
반응형