티스토리 뷰

ML+DL/Deep Learning

데이터 불균형

Vagabund.Gni 2024. 4. 12. 11:00
728x90
반응형

목차

     

    Imbalanced Data

     

    데이터 과학과 딥러닝의 세계에서 데이터 불균형은 꽤 흔한 문제로, 

     

    이것이 무엇인지와 왜 중요한지를 이해하는 것은 모든 데이터 분석가와 개발자에게 필수적이다. 

     

    데이터 불균형이란, 데이터 세트 내의 클래스 간에 관측치의 수가 불균등하게 분포되어 있는 상황을 말한다. 

     

    예를 들어, 이메일 분류기를 훈련할 때 스팸 메일보다 정상 메일의 수가 훨씬 많을 수 있는데, 

     

    이것이 바로 데이터 불균형의 한 예이다.

     

    Characteristics of Imbalanced Data

     

    이 문제의 핵심은, 대부분의 머신러닝 알고리즘이 데이터에서 동일하게 분포된 클래스를 가정한다는 데 있다. 

     

    그렇기 때문에 불균형 데이터는 모델이 소수 클래스를 오분류할 가능성을 높인다. 

     

    예를 들어, 사기 거래 감지 시스템에서 정상 거래에 비해 사기 거래가 매우 드물다면, 

     

    모델은 모든 거래를 '정상'으로 분류함으로써 높은 정확도를 보일 수 있으나, 

     

    실제로 중요한 사기 거래를 걸러내지 못하는 문제가 발생한다.

     

    Causes of Data Imbalance

     

    데이터 불균형은 다양한 이유로 발생할 수 있다. 몇 가지 흔한 예는 다음과 같다:

     

    • 정상 거래 vs 사기 거래: 금융 분야에서 사기 거래는 일반적으로 정상 거래보다 훨씬 드물게 발생한다.
    • 기체 결함: 제조 공정에서 불량품은 대체로 양품에 비해 적게 나타난다.
    • 높은 클릭률 vs 정상 클릭률: 인터넷 광고에서 대다수의 클릭은 일반적인 클릭이며, 높은 클릭률을 보이는 경우는 드물다.
    • 희귀 질병 vs 질병: 의학 데이터에서 희귀 질병은 일반 질병에 비해 상대적으로 드물게 발생한다.

     

    Solutions for Data Imbalance

     

    데이터 불균형 문제를 해결하기 위한 몇 가지 방법은 다음과 같다:

     

    • 데이터 증식(Data Augmentation)
      소수 클래스의 샘플을 인위적으로 늘려 데이터 세트의 균형을 맞춘다.
    • 샘플링 기법(Sampling Techniques)
      과대 샘플링(소수 클래스 증가) 또는 과소 샘플링(다수 클래스 감소)을 통해 클래스 간의 균형을 맞춘다.
      여기서 과대 샘플링이란 소수 클래스의 샘플 수를 인위적으로 늘리는 방법이며,
      과소 샘플링은 반대로 다수 클래스의 샘플을 줄이는 기법이다.
      과소 샘플링은 계산 비용을 줄이고, 데이터 세트의 크기를 감소시키는 데에 효과적이지만, 중요한 정보의 손실 위험이 있다.
    • 가중 손실 함수(Weighted Loss Functions)
      모델 학습 시 소수 클래스의 오류에 더 큰 가중치를 부여한다.
    • 평가 기준 정의(Evaluation Metric Definition)
      정확도 대신 F1 점수나 혼동 행렬을 포함한 다른 평가 지표를 사용하여 모델 성능을 평가한다.
    반응형
    댓글
    공지사항
    최근에 올라온 글
    최근에 달린 댓글
    Total
    Today
    Yesterday
    링크
    «   2024/05   »
    1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30 31
    글 보관함