SMOTE(Synthetic Minority Oversampling Technique)란 데이터가 부족할 때, 특히 분류 문제에서 클래스 간 불균형을 해결하기 위해 사용하는 대표적인 오버 샘플링 기법입니다.
아래 그림처럼 '+' 클래스의 데이터를 SMOTE 해보겠습니다.
① 큰 빨간 원으로 표시한 데이터로부터 k개의 NN(Nearest Neighbors) 중 랜덤 샘플 하나(작은 빨간 원으로 표시)를 선택합니다.
② 선택한 샘플 `\hat{x_i}`와 기존 샘플 `x_i`을 연결한 직선 위의 새로운 랜덤 샘플(파란색)을 생성합니다.
위 내용을 새로 생성한 샘플에 대한 수식으로 표현하면 다음과 같습니다.
$$Synthetic(New)\: Sample = x_i + u\: \cdot \: (\hat{x_i} - x_i)$$
이때 `u`는 연속 균등 분포(Continuous Uniform Distribution)를 의미하며, 기호로 나타내면 `U(0, 1)`로 0부터 1 사이 값을 랜덤으로 뽑아 곱해준다고 할 수 있습니다.
일반적인 연속 균등 분포는 기호로 `U(a, b)`로 나타낼 수 있고, 해당 확률 밀도 함수를 표현하면 다음과 같습니다.
아래 글을 참고했습니다.
반응형
'공부하며 성장하기 > 인공지능 AI' 카테고리의 다른 글
ROC 곡선 vs. P-R 곡선 (0) | 2022.01.30 |
---|---|
[한 줄 정리] 분류 모델 평가 지표 (0) | 2022.01.23 |
피처 정규화(Feature Normalization)가 반드시 필요한 경우 (0) | 2022.01.14 |
머신러닝 기반 이상 탐지(Anomaly Detection) 기법의 종류 (0) | 2021.11.09 |
국소 회귀(Locally Weighted Regression)란? (0) | 2021.08.29 |