AI: 데이터 증강 – Synthetic Minority Oversampling
ㅁ 데이터 증강
ㅇ 정의:
기존 데이터셋의 불균형 문제를 해결하기 위해 소수 클래스의 데이터를 인위적으로 생성하여 데이터 분포를 균형 있게 만드는 기법.
ㅇ 특징:
– 주로 분류 문제에서 클래스 불균형을 해소하기 위해 사용됨.
– 원본 데이터의 특성을 유지하면서 새로운 데이터를 합성.
– 데이터의 다양성을 높여 모델의 일반화 성능 향상.
ㅇ 적합한 경우:
– 소수 클래스 데이터가 매우 적어 모델 학습이 편향되는 경우.
– 기존 데이터 수집이 어렵거나 비용이 많이 드는 경우.
ㅇ 시험 함정:
– 단순 복제(oversampling)과 혼동할 수 있음.
– 데이터 증강 시 노이즈가 과도하게 포함되면 오히려 성능 저하.
– 클래스 불균형이 항상 문제는 아님.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “소수 클래스 표본을 합성하여 데이터 불균형을 해소한다.”
X: “데이터 증강은 항상 모델 성능을 향상시킨다.”
================================
1. Synthetic Minority Oversampling
ㅇ 정의:
소수 클래스의 새로운 샘플을 기존 샘플의 특징 공간에서 보간(interpolation)하여 합성하는 데이터 증강 기법.
ㅇ 특징:
– 대표적인 알고리즘은 SMOTE(Synthetic Minority Over-sampling Technique).
– 기존 소수 클래스 데이터 포인트와 그 주변 이웃 데이터를 활용.
– 단순 복제가 아니라 새로운 데이터 포인트를 생성하여 과적합 위험을 줄임.
ㅇ 적합한 경우:
– 이진 또는 다중 클래스 분류에서 심한 클래스 불균형 존재.
– 고차원 데이터에서도 적용 가능.
ㅇ 시험 함정:
– SMOTE는 데이터 분포를 무작위로 생성하지 않음.
– 다중 클래스의 경우 각 클래스별로 별도 적용 필요.
– 노이즈 데이터가 많은 경우 성능 저하 가능.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “SMOTE는 기존 소수 클래스 샘플 사이에서 새로운 샘플을 합성한다.”
X: “SMOTE는 다수 클래스의 데이터를 줄이는 방식이다.”
ㅁ 추가 학습 내용
SMOTE 변형 기법 정리
1. SMOTE-NC
– 수치형과 범주형 변수가 혼합된 데이터에 적용 가능
– 수치형 변수는 기존 SMOTE 방식으로 보간
– 범주형 변수는 다수결 투표 방식으로 새로운 값을 생성
2. Borderline-SMOTE
– 결정 경계 근처에 위치한 소수 클래스 샘플만 선택하여 증강
– 경계 근처 샘플은 분류가 어려운 경우가 많아, 이 영역을 강화함으로써 분류 성능 향상 기대
3. ADASYN (Adaptive Synthetic Sampling)
– 학습하기 어려운 소수 클래스 샘플(주변에 다수 클래스가 많은 샘플)을 더 많이 생성
– 샘플별 생성 개수를 데이터 분포에 따라 조정
– 불균형이 심한 영역을 집중적으로 보완
데이터 증강 시 고려사항
– 과적합 방지를 위해 오버샘플링과 언더샘플링을 혼합하는 방법 활용
– K-최근접이웃(k-NN) 파라미터 선택이 결과에 큰 영향
• k 값이 작으면 국소적인 패턴 반영, 과적합 위험 증가 가능
• k 값이 크면 전반적 패턴 반영, 경계가 부드러워짐
– 고차원 데이터에서는 차원 축소(PCA 등) 후 증강을 적용할지 여부를 검토
• 차원 축소로 노이즈 제거 및 계산량 감소
• 하지만 정보 손실 가능성 존재