topics 업샘플링 업샘플링이란 무엇인가요?
watsonx.ai를 통한 업샘플링 살펴보기 AI 업데이트 신청
컴퓨터 모니터, 서버, 구름, 점의 픽토그램 콜라주가 포함된 일러스트

게시일: 2024년 4월 29일
기고자: Jacob Murel 박사

업샘플링은 데이터 세트의 데이터 샘플 수를 늘려서 불균형한 데이터를 수정하고 모델 성능을 개선하는 것을 목표로 합니다.

업샘플링은 오버샘플링이라고도 부르며, 데이터 추가를 통해 데이터 세트의 클래스 불균형을 해결하는 데이터 처리 및 최적화 기술입니다. 업샘플링은 소수 클래스에서 가져온 오리지널 샘플을 사용하여 모든 클래스의 크기가 같아질 때까지 데이터를 추가합니다. 파이썬 사이킷런과 Matlab에는 모두 업샘플링 기술을 구현하기 위한 함수가 내장되어 있습니다.

데이터 과학에서의 업샘플링은 디지털 신호 처리(DSP)에서의 업샘플링과 혼동되는 경우가 많습니다. 이 둘은 비슷한 정신을 공유하지만 서로 다른 개념입니다. 데이터 과학에서의 업샘플링과 비슷하게, DSP에 대한 업샘플링은 더 높은 샘플링 속도를 보간하여 입력 신호(특히 이산 시간 신호)의 주파수 도메인에서 더 많은 샘플을 인위적으로 생성합니다. 이렇게 새로 생긴 샘플은 원래의 신호에 0을 삽입하고 보간을 위한 저역 통과 필터를 사용하여 생성합니다. 이는 데이터 밸런싱에서 데이터를 업샘플링하는 것과 다른 방식입니다.

데이터 밸런싱을 위한 업샘플링은 이미지 처리의 업샘플링과도 다릅니다. 이미지 처리의 경우 고해상도 이미지는 해상도를 줄여서 연산 속도를 높이고(픽셀 제거), 그 다음으로 콘볼루션이 이미지를 원래 크기로 되돌립니다(픽셀 다시 추가).

AI 거버넌스가 엔터프라이즈 인공 지능 확장을 위한 비즈니스의 필수 요소인 이유

AI 채택을 가로막는 장벽, 특히 AI 거버넌스 및 위험 관리 솔루션의 부족에 대해 알아보세요.

관련 내용

파운데이션 모델 가이드 등록하기

업샘플링을 사용하는 이유

업샘플링은 데이터 세트 내의 불균형을 해소하는 효과적인 방법입니다. 불균형한 데이터 세트란, 데이터 세트에서 한 클래스가 실제 모집단에 비해 지나치게 과소 대표되어 의도치 않은 편향을 생성하는 상태를 뜻합니다. 예를 들어 어떤 모델에 이미지 분류 훈련을 시키면서 고양이나 개를 보여주며 이 훈련에 사용되는 데이터 세트는 고양이 90%와 개 10%로 구성된다고 합시다. 그러면 고양이는 과대 대표되며, 매번 고양이를 예측하는 분류자가 있는 경우 고양이를 분류하는 정확도는 90%이지만 개를 분류하는 정확도는 0%입니다. 이 경우 불균형한 데이터 세트로 인해 분류자의 다수 클래스에 대한 정확도가 높아지고, 대신 소수 클래스가 희생됩니다. 다중 클래스 데이터 세트에서도 동일한 문제가 발생할 수 있습니다.1

업샘플링 과정에서 데이터 세트 불균형으로 인한 문제가 상쇄됩니다. 원래 데이터 세트의 소수 클래스 특성에서 합성된 포인트로 데이터 세트를 채우기 때문에, 과소 대표된 소수 클래스의 샘플 수가 실질적으로 늘어나면서 모든 클래스에 걸쳐 포인트들의 비율이 동일해지고 데이터 세트가 균형을 찾는 것입니다.

각 클래스의 데이터 포인트 수를 단순히 그래프로 나타내서 불균형을 볼 수도 있지만, 이렇게 해서는 모델에 큰 영향을 미치는지 파악할 수 없습니다. 하지만 성능 메트릭을 사용하면 업샘플링 기술이 클래스 불균형을 얼마나 잘 보정하는지 측정할 수 있습니다. 이러한 메트릭의 대부분은 이진 분류를 위한 것이며 클래스가 두 개 뿐입니다(양성 클래스와 음성 클래스). 일반적으로 양성 클래스는 소수 클래스, 음성 클래스는 다수 클래스입니다. 널리 사용되는 메트릭으로는 ROC(수신자 조작 특성, Receiver Operating Characteristic) 곡선과 정밀도 재현율 곡선입니다.1

업샘플링의 장단점
장점
  • 정보 손실 없음: 다수 클래스에서 데이터 포인트를 제거하는 다운샘플링과 달리, 업샘플링은 새로운 데이터 포인트를 생성하여 정보 손실을 방지합니다.
  • 저렴한 비용으로 데이터 확대: 업샘플링은 특히 효과가 뛰어나고, 관측을 통해서만 데이터를 획득할 수 있는 경우에 필요에 맞춰 데이터 세트 크기를 늘릴 수 있는 유일한 방법인 경우가 많습니다. 예를 들어 아주 희귀한 질병인 경우, 너무 희귀해서 데이터를 많이 수집할 수 없을 수 있습니다.
단점
  • 과적합: 업샘플링은 기존 소수 클래스 데이터를 기반으로 새 데이터를 생성하기 때문에 분류자가 해당 데이터에 과적합될 수 있습니다. 업샘플링은 기존 데이터가 현실을 적절하게 반영한다고 가정합니다. 그렇지 않은 경우 분류자가 제대로 일반화되지 않을 수 있습니다.
  • 데이터 노이즈: 업샘플링은 데이터의 노이즈를 늘려서 분류자의 신뢰성과 성능을 저하시킬 수 있습니다.2
  • 연산 복잡성: 데이터 양을 늘리면 분류자 훈련을 위한 연산 비용이 커져서 클라우드 컴퓨팅을 사용할 때 문제가 될 수 있습니다.2
업샘플링 기술
무작위 오버샘플링

무작위 오버샘플링은 소수 클래스의 크기가 다수 클래스와 같아질 때까지 소수 클래스의 임의 데이터 포인트를 복제하는 프로세스입니다.

무작위 오버샘플링과 부트스트래핑은 본질적으로 비슷하면서도 차이를 보입니다. 부트스트래핑은 모든 클래스를 리샘플링하는 앙상블 학습 기법인 반면 무작위 오버샘플링은 소수 클래스만을 리샘플링합니다. 따라서 무작위 오버샘플링은 좀 더 특화된 형태의 부트스트래핑이라고 할 수 있습니다.

그러나 무작위 오버샘플링은 단순함에도 불구하고 한계가 있습니다. 무작위 오버샘플링은 중복된 데이터 포인트만 추가하기 때문에 과적합으로 이어질 수 있는 것입니다.3 그러나 구현하기 용이하고, 데이터에 대한 가정 왜곡이 적고, 알고리즘이 단순해 시간 복잡도가 낮다는 점에서 다른 방법들보다 장점이 많습니다.2

SMOTE

SMOTE(합성 소수 표집법, Synthetic Minority Oversampling Technique)는 2002년에 처음 제안된 업샘플링 기술로, 소수 클래스의 기존 포인트에서 새로운 데이터 포인트를 합성합니다.4 그 과정은 다음과 같습니다.2

  1. 모든 소수 클래스 데이터 포인트에 대해 가장 가까운 이웃 K개를 찾습니다. K 값은 보통 5입니다.
  2. 소수 클래스 데이터 포인트마다 3~5단계를 반복합니다.
  3. 데이터 포인트에 가장 가까운 이웃 K개 중 하나를 선택합니다.
  4. 특성 공간에서 이 두 점을 연결하는 선분 상에서 임의의 점을 하나 선택하여 새 아웃풋 샘플을 생성합니다. 이 프로세스를 보간이라고 합니다.
  5. 원하는 업샘플링 정도에 따라 다른 최근접 이웃을 사용하여 3단계와 4단계를 반복합니다.

SMOTE는 단순히 기존 데이터를 복제하는 대신 이전에 보지 못했던 새 데이터를 데이터 세트에 추가하여, 무작위 오버샘플링에서의 과적합 문제를 상쇄합니다. 그래서 SMOTE를 무작위 오버샘플링보다 나은 업샘플링 기술이라고 여기는 연구자들도 있습니다.

반면에 SMOTE의 인위적 데이터 포인트 생성은 데이터 세트에 추가 노이즈를 더해서 분류자를 더 불안정하게 만들 수 있습니다.1 SMOTE에서 나오는 합성 포인트와 노이즈는 의도와 다르게 현실을 반영하지 않는 소수 클래스와 다수 클래스 간의 중복을 초래해, 과도한 일반화를 유발할 수 있습니다.5

Borderline SMOTE

Borderline SMOTE는 인기 있는 확장 기법으로, 인위적인 데이터 세트의 노이즈 문제를 해결하고 '더 어려운' 데이터 포인트를 만드는 데 사용됩니다. '더 어려운' 데이터 포인트는 결정 경계에 가까이 있어 분류하기기 어렵습니다. 이렇게 어려운 포인트들은 모델의 학습에 유용합니다.2

Borderline SMOTE는 많은 다수 클래스 포인트에 가까운 소수 클래스 포인트를 식별하여 DANGER 세트에 넣습니다. DANGER 포인트는 학습하기 '어려운' 데이터 포인트입니다. 이는 소수 클래스 포인트로 둘러싸인 포인트에 비해 분류하기가 더 어렵기 때문입니다. 이러한 선택 과정에서, 최근접 이웃이 노이즈로 간주되는 다수 클래스뿐인 포인트를 제외합니다. 그런 다음 SMOTE 알고리즘이 이 DANGER 세트를 사용하여 정상인 상태로 계속됩니다.3

ADASYN

적응형 합성 샘플링 접근법(ADASYN)은 모델이 학습하기에 더 어려운 데이터를 생성한다는 점에서 Borderline SMOTE와 비슷합니다. 그러나 한편으로는 소수 클래스 데이터의 분포를 보존하는 것을 목표로 합니다.6 이를 위해 먼저 주변에 있는 다수 클래스 예제의 수에 따라 모든 소수 포인트의 가중 분포를 생성하고, 다수 클래스에 더 가까운 소수 클래스 포인트를 더 자주 사용하여 새로운 데이터를 생성합니다.

프로세스:2

  1. 전체 데이터 세트에 대해 KNN 모델을 만듭니다.
  2. 각 소수 클래스 포인트에는 '어려움 지수'가 부여됩니다. 이 지수는 r로 표시하며, KNN에 있는 총 이웃 수에 대한 다수 클래스 포인트 수의 비율을 나타냅니다.
  3. SMOTE와 마찬가지로, 합성으로 생성되는 포인트는 소수 데이터와 인접 데이터 간의 선형 보간이지만, 생성된 포인트의 수를 포인트의 어려움 지수에 따라 조정합니다. 소수 데이터가 적은 영역에서는 포인트를 더 많이 생성하고, 소수 데이터가 많은 영역에서는 포인트를 더 적게 생성하는 방식입니다.
데이터 변환/증강

데이터 증강은 데이터의 변형을 만들어서 새로운 데이터를 생성합니다. 데이터 증강은 다양한 머신 러닝 분야에 적용됩니다.

데이터 증강의 가장 기본적인 형태는 데이터 세트의 원시 입력 변환을 다룹니다. 예를 들어, 컴퓨팅 비전에서는 이미지 증강(자르기, 흐리게 하기, 미러링 등)을 사용하여 모델이 분류할 이미지를 더 많이 만들 수 있습니다. 이와 비슷하게 자연어 처리 작업에서 단어를 동의어로 바꾸거나 의미론적으로 동등한 문장을 만드는 등의 방식으로 데이터 증강을 사용할 수도 있습니다.

연구에 따르면 데이터 증강은 저렴한 비용으로 유사한 데이터를 추가하기 때문에 컴퓨팅 비전과 NLP 작업의 모델 정확도를 효과적으로 높인다고 합니다. 그러나 이 기술을 도입하기 전에 몇 가지 주의할 사항이 있습니다. 전통적인 기하학적 증강의 경우, 변환을 실행하기 전에 그 '안전성'을 살펴야 합니다. 예를 들어 '9' 이미지는 회전했을 때 '6'으로 보이게 되어 의미론적 의미가 달라집니다.7

최근 연구

최근 몇 년 동안 업샘플링 기술은 SMOTE 확장과 딥 러닝에 초점을 맞춰왔습니다. 이 방법들은 모델 성능을 개선하고, 업샘플링의 일부 단점(소수 클래스의 분포에 편향이 개입되는 등)을 해결하는 것을 목표로 합니다.

SMOTE에서의 개발 중에는 각 소수 클래스 샘플을 볼 수 있는 예상 확률을 바탕으로 업샘플링을 하는 MPP-SMOTE(소수 예측 확률 SMOTE)도 있습니다.8 다중 라벨 경계 오버샘플링 기술(Multi-Label Borderline Oversampling Technique, MLBOTE)은 SMOTE를 다중 클래스 분류로 확장하기 위해 제안되었습니다.9 둘 다 모든 기존 SMOTE 변형형을 능가하면서 원래 데이터의 패턴을 유지했습니다.

신경망은 오버샘플링 기술을 개발하는 데에도 사용되었습니다. 생성적 적대 신경망(Generative Adversarial Networks)은 어느 정도 관심을 유발하면서 유망한 결과를 보여주었지만, 훈련 시간으로 인해 기존의 다른 업샘플링 방법보다 속도가 느립니다.10

관련 리소스 다운샘플링이란 무엇인가요?

다운샘플링은 데이터 세트의 데이터 샘플 수를 줄여서 불균형한 데이터를 수정하고 모델 성능을 개선하는 것을 목표로 합니다.

과적합이란 무엇인가요?

머신 러닝에서 과적합은 알고리즘이 학습 데이터에 과하게 적합한 상태이거나 정확하게 일치할 때 발생하며 그 결과 모델이 학습 데이터가 아닌 다른 데이터에서 정확한 예측을 생성하거나 결론을 도출할 수 없게 됩니다.

머신 러닝(ML)이란 무엇인가요?

머신 러닝(ML)은 인공 지능(AI) 및 컴퓨터 과학의 한 분야로, 데이터와 알고리즘을 사용하여 AI가 인간의 학습 방식을 모방하고 점차 정확도를 향상할 수 있도록 하는 데 중점을 둡니다.

다음 단계 안내

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai 살펴보기 라이브 데모 예약하기
각주

1 Haobo He 및 Edwardo Garcia, Learning from Imbalanced Data, IEEE, 2009년 9월, https://ieeexplore.ieee.org/document/5128907 (ibm.com 외부 링크) (1,2,10)

2 Kumar Abishek 및 Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, 2023년 11월, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (ibm.com 외부 링크) (3,4,6,8,9,12,14-17)

3 Kumar Abishek 및 Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, 2023년 11월, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (ibm.com 외부 링크) Alberto Fernandez 외 다수, Learning from Imbalanced Data Sets, 2018.

4 Nitesh Chawla, et al., SMOTE: Synthetic Minority Over-sampling Technique, JAIR, 2002년 6월 1일, https://www.jair.org/index.php/jair/article/view/10302 (ibm.com 외부 링크)

5 Kumar Abishek 및 Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, 2023년 11월. Haobo He and Edwardo Garcia, Learning from Imbalanced Data, IEEE, 2009년 9월, https://ieeexplore.ieee.org/document/5128907 (ibm.com 외부 링크)

6 Alberto Fernandez 외 다수, Learning from Imbalanced Data Sets, Springer, 2018년.

7 Connor Shorten 및 Taghi Khoshgoftaar, A survey on Image Data Augmentation for Deep Learning, Springer, 2019년 7월 6일**,** https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0 (ibm.com 외부 링크)

8 Zhen Wei, Li Zhang, 및 Lei Zhao, Minority prediction probability based oversampling technique for imbalanced learning, Science Direct, 2022년 12월 6일, https://www.sciencedirect.com/science/article/abs/pii/S0020025522014578?casa_token=TVVIEM3xTDEAAAAA:LbzQSgIvuYDWbDTBKWb4ON-CUiTUg0EUeoQf9q12IjLgXFk0NQagfh0bU3DMUSyHL_mjd_V890o (ibm.com 외부 링크).

9 Zeyu Teng 외 다수, Multi-label borderline oversampling technique, ScienceDirect, 2023년 9월 14일, https://www.sciencedirect.com/science/article/abs/pii/S0031320323006519?casa_token=NO8dLh60_vAAAAAA:AWPCvCP8PQG43DvkQFChZF2-3uzB1GJBBtgPURevWe_-aR0-WTbLqOSAsiwxulNAuh_4mIDZx-Y (ibm.com 외부 링크).

10 Justin Engelmann 및 Stefan Lessmann, Conditional Wasserstein GAN-based oversampling of tabular data for imbalanced learning, 2021년 7월 15일, ScienceDirect, https://www.sciencedirect.com/science/article/abs/pii/S0957417421000233?casa_token=O0d1BtspA8YAAAAA:n2Uv3v2yHvjl9APVU9V_13rQ9K_KwT0P__nzd6hIngNcZJE-fmQufDgR6XT1uMmDBHx8bLXPVho (ibm.com 외부 링크). Shuai Yang 외 다수, Fault diagnosis of wind turbines with generative adversarial network-based oversampling method, IOP Science, 2023년 1월 12일, https://iopscience.iop.org/article/10.1088/1361-6501/acad20/meta (ibm.com 외부 링크)