Create Opportunities

[인공지능 응용] 데이터 불균형 문제 (1) 본문

인공지능

[인공지능 응용] 데이터 불균형 문제 (1)

kimjaeyoon 2022. 9. 19. 12:33

부족한 레이블 데이터를 기준으로 어떻게 문제를 해결할 것인가,

 

1. 불균형 데이터의 특징

- Small disjuncts : 작은 군집의 데이터가 섞임

- Lack of density : 두 클래스가 있을 때, 특정 클래스의 데이터가 퍼져 있는 경우 (밀도가 상대적으로 sparse)

- Overlapping or class separability (아래 이미지 참고)

Overlapping or class separability

- Noisy data : 어떠한 기준에 의해 판별되는 값이 아니라, Outlier 그 이상의 오류값. Data handling 과정에서 발생

- Borderline examples : 정확도가 높은 학습 모델을 구축하기 어려운 case

- Data shift : 데이터 분포의 형태가 점차 변화하는 경우 > 학습 모델 구축 어려움.

 

 

2. 데이터 불균형 문제 (Data imbalance problem)

위 여섯가지 문제 중에서도 불균형 문제에 대해서 깊이 봐보자. 실무에서 가장 많이 마주치게 되는 문제가 될 것이다.  

분류 예측 문제!! Classification task를 수행할 때 겪게될 것이다. 

관측치 수의 영향으로 Majority class에 과적합이 발생하게 되고, 결국 성능 저하 문자가 발생한다.

양품을 불량으로 분류 : Alpha error (1종 오류) / 불량품을 양품으로 분류 : Beta error (2종 오류)

불량품(이상)을 정확히 분류하는 것이 더욱 중요하다. 의학 문제에서도 당연히 이 부분이 당연히 더 중요하겠지.

Betta error의 판단의 대가가 더 크기 때문에 Betta error를 minimize 시켜야 돼. 

 

3. 분류 모델의 성능 평가

Confusion Matrix

Confusion Matrix

불균형 문제가 있을 때, 이 Confusion Matrix는 우리에게 잘못된 정보를 줄 수 밖에 없다. 이상과 정상의 적절한 분류 경계선이 형성될 수 없기 때문이다. 그래서 Minority class의 데이터를 정확히 찾아내지 못할 것이고, 이상하게 높은 예측 정확도를 보이는 문제도 발생하며 모델 성능을 왜곡시킬 가능성이 있다.  

 

Accuracy 말고, F1-Score, Geometric mean을 활용해서 성능 평가를 하면 그나마 불균형 문제를 완화시킬 수 있겠지만, 완전하게 불균형 문제를 해결할 수 있는 척도가 될 수는 없다.

 

4. 데이터 불균형 솔루션

그럼 해결 해봐야 할텐데,

Resampling, Cost-sensitive, Ensemble 등의 method가 있다.

쉽게 말해

* 데이터를 조정(Samling method)해서 해결하자.

* 모델을 수정해서 해결하자. 

이렇게 두 방법을 얘기할 수 있는데,

Sampling method를 통해서 해결하는 법을 얘기해보자..

 

다음시간에 ^^