Class imbalance의 negative effect
- Training data에서 class imbalance가 존재하면, majority group의 prior probability가 증가하여 over classify된다. 따라서 minority group은 자주 misclassify된다.
- Minority class의 gradient component가 majority보다 작다. 즉, majority class의 gradient가 전체 gradient를 차지한다. 따라서 모델 가중치의 업데이트에는 majority의 영향이 크다.
- majority group의 에러는 빠르게 낮추지만 minority group의 에러는 증가시켜서 네트워크의 수렴을 늦출 수 있다.
Class imbalance 예시
상황: imbalance dataset으로 학습시킨 분류기를 사용해서 암 진단 이미지를 분류한 결과 10923개의 음성 예측 결과, 260개의 양성 예측 결과를 얻었다고 하자. 이상적으로는 음성, 양성에 대해 모두 정확도 100인 분류기를 학습
Methods for addressing class imbalance
Data-Level methods
Data lavel 방법은 over-sampling과 under-sampling에 의한 문제들을 다룬다. Imbalance 또는 노이즈(잘못 레이블링된 샘플 또는 anomalies)를 줄이기 위해서 training 분포를 수정한다.
대표적인 방법인 RUS(random under sampling)은 majority group에서 샘플을 랜덤으로 제거하고, ROS(random over sampling)은 minority group에서 샘플을 랜덤으로 증강시킨다.
under sampling은 데이터를 제거하기 때문에 모델이 학습해야 할 정보가 줄어든다는 문제가 있으며, over sampling은 훈련 시간이 증가하고 over fitting을 야기할 수 있다는 문제가 있다.
Overfitting: High variance를 특징으로 하며, training data에 너무 가깝게 fit되어서 새로운 데이터에 일반화될 수 없을 때 발생하는 현상이다.
1. Undersampling (majority group의 데이터 제거)
(1) Near-Miss Algorithm: K-nearest neighbors(KNN) 사용해서 minority sample과 majority sample 사이 거리를 통해 제거할 majority sample 선택
(2) One-side selection: Majority class에서 noisy, redundant sample 제거. 1-NN rule (1-nearest neighborhood)과 tomek link를 통해 찾음
(3) Wilson's editing: K-NN rule으로 training set에서 misclassified sample을 제거 -> class boundary에서 majority sample 제거
2. Oversampling (minority group 양 늘림. class boundary 강화 + overfitting 감소 + discrimination 향상 효과)
(1) SMOTE(synthetic minority over-sampling technique): 기존의 minority sample과 가까운 sample들 사이에 보간(interpolate)을 통해 새로운 샘플 생성
(1.1) Borderline-SMOTE: majority class 이웃들도 고려함. 클래스 경계 근처의 샘플로 oversampling을 제한
(1.2) Safe-Level-SMOTE: 중첩 또는 노이즈 영역에서 oversampling을 방지하기 위해 안전 영역을 정의 (2009)
Data-Level methods summary
ROS, RUS + augmentation based 를 사용했을 때 classification 정확도가 증가하며 class imbalance가 크게 개선되었다. Minority group의 performance를 증가시켰음.
Plain한 ROS와 RUS가 two-phase learning보다 성능이 좋았다.
Algorithm-Level methods
- Loss function: minority sample이 loss에 더 기여하도록 새로운 loss function 제안
- Cost sensitive learning: 훈련 중 cost matrix의 장점을 살림
- Threshold moving (Output thresholding)
- Transfer learning + CNN feature extraction + cluster-based nearest neighbor rule
Hybrid methods
- Loss function + sampling method (hard)
- Deep Over-sampling (DOS): deep feature space에서의 over sampling 제안 - class wise한 precision, recall, F1-score 등으로 검증
Discussion
class imbalance를 다루기 위해서 기존의 머신 러닝 기법들을 넘어서 딥러닝 기법들이 적용되어 왔다. 이에는 random sampling, informed sampling, cost-sensitive learning, thresholding, hybrid method가 해당된다.
이 연구들의 한계는 big data analytics을 고려하지 않았다는 점이다. 100,000개 이상의 샘플들을 가진 데이터셋 하에서는 충분한 실험이 이루어지지 않았다.
'DeepLearning' 카테고리의 다른 글
Diffusion Model - 개념 알기 (0) | 2022.10.11 |
---|---|
[논문리뷰] CutPaste: Self-Supervised Learning for Anomaly Detection and Localization (0) | 2022.08.04 |
[논문리뷰] MixMatch: A Holistic Approach to Semi-Supervised Learning (0) | 2022.07.23 |
[논문리뷰] FixMatch: simplifying semi supervised learning with consistency and confidence (0) | 2022.07.20 |
EMA (Exponential Moving Average) 알고리즘 (0) | 2022.07.08 |