데이터 불균형
1. 데이터 불균형
데이터 불균형은 바로, 데이터 세상에서 일어나는 '불공평'한 일입니다.
예를들어 한 가지 유형의 데이터가 너무 많고, 다른 유형은 너무 적을때의 상황입니다.
데이터 불균형은 특히 머신러닝 모델의 성능에 큰 영향을 미칩니다.
머신러닝 모델은 데이터를 기반으로 학습하기 때문에 만약 모델이 특정 유형의 데이터만 많이 보고 배우면 다른 중요한 유형을 간과하거나 잘못 이해할 수 있습니다.
2. 데이터 불균형의 예시 : 은행에서의 사기 여부 판별
은행에서는 하루에 수천, 수만 건의 금융 거래가 일어납니다.
이 중에서 대부분은 정상적인 거래들입니다만 가끔은 사기 거래도 섞여 있습니다.
여기서 우리가 주목해야 할 부분은, 대부분의 거래가 정상이고 사기 거래는 극히 일부라는 것입니다.
'클래스'는 여기서 거래 유형을 말랍니다.
즉, '정상 거래'와 '사기 거래'가 있습니다.
'불균형'은 이 두 유형의 거래가 데이터에서 차지하는 비율이 매우 다르다는 것 을 의미합니다.
대부분이 정상 거래이고, 사기 거래는 소수에 불과한 상황입니다.
이런 상황에서 문제가 생길 수 있습니다.
은행이 사기 거래를 감지하기 위해 컴퓨터 프로그램을 학습시킬 때, 너무 많은 정상 거래 데이터 때문에 사기 거래를 잘 못 잡아낼 수 있습니다.
3. 데이터 불균형의 문제점
1) 소수 클래스의 과소평가
가장 먼저, 소수 클래스인 '사기 거래'가 과소평가될 위험이 있습니다. 정상 거래가 너무 많다 보니, 컴퓨터는 사기 거래를 찾아내는 게 아니라, 그냥 모든 거래를 '정상'으로 분류해버릴 수도 있습니다. 이런 상황에서는 사기 거래를 제대로 잡아내지 못하고 그냥 지나쳐버릴 수 있습니다. 그 결과, 은행은 사기를 감지하지 못할 수 있습니다.
2)모델의 과적합
데이터 불균형은 또한 모델이 '과적합(Overfitting)'을 일으킬 수 있습니다.
모델이 정상 거래 데이터만 너무 많이 보고 학습하다 보면, 실제 세상에서는 드문 사기 거래를 제대로 인식하지 못할 수 있습니다.
3)일반화 능력의 저하
'일반화 능력'이란, 모델이 학습한 내용을 새로운, 보지 못한 데이터에도 잘 적용하는 능력을 말합니다.
하지만 데이터가 불균형하면, 모델은 오로지 '정상 거래'에만 너무 치우쳐 학습하게 되고, 새로운 유형의 사기 거래에는 제대로 대응하지 못할 수 있습니다 즉, 학습할 때 보지 못한 새로운 상황에는 적응을 못하는 것입니다.
이처럼 데이터 불균형은 머신러닝 모델이 실제 세계의 다양한 상황을 제대로 반영하지 못하게 만듭니다.
그 결과, 모델의 성능이 떨어지고, 우리가 맞닥뜨릴 수 있는 실제 문제들에 제대로 대응하지 못하게 됩니다.
그래서 데이터 불균형 문제를 해결하기 위한 방법들을 적극적으로 모색하고 적용하는 것이 중요합니다.