전통문화대전망 - 건강 문화 - 긍정적 샘플 데이터와 부정적 샘플 데이터의 불균형 문제 해결

긍정적 샘플 데이터와 부정적 샘플 데이터의 불균형 문제 해결

이 문제를 해결하기 위한 기본 아이디어는 샘플링 및 가중치 방법을 사용하는 등 훈련 과정에서 긍정적인 샘플과 부정적인 샘플이 동일한 발언을 할 수 있도록 하는 것입니다. 편의상 데이터 세트에서 더 많은 샘플이 있는 카테고리를 "인기 카테고리"라고 부르고 샘플이 더 적은 카테고리를 "틈새 카테고리"라고 부릅니다.

샘플링 방법은 불균형 데이터 세트에서 균형 데이터 세트로 훈련 세트를 처리하는 것으로, 대부분의 경우 최종 결과가 향상됩니다.

샘플링은 오버샘플링(Oversampling)과 언더샘플링(Undersampling)으로 구분되는데, 업샘플링은 틈새 카테고리를 여러 개 복사하는 것이고, 다운샘플링은 인기 카테고리에서 일부 샘플을 제거하는 것입니다. 인기 카테고리에서.

무작위 샘플링의 가장 큰 장점은 단순성이지만 단점도 분명합니다. 일부 샘플은 업샘플링된 데이터 세트에 반복적으로 나타나며 훈련된 모델은 어느 정도 과적합됩니다. 다운샘플링의 단점은 명백합니다. 즉, 최종 훈련 세트는 데이터를 손실하고 모델은 전체 패턴의 일부만 학습합니다. .

업샘플링은 틈새 샘플의 여러 복사본을 만들고, 고차원 공간에 점이 반복적으로 나타나게 되는데, 이는 문제로 이어집니다. 즉, 운이 좋다면 많은 포인트를 올바르게 분류하십시오. 그렇지 않으면 포인트가 잘못 분류됩니다. 이 문제를 해결하기 위해 새로운 데이터 포인트가 생성될 때마다 약간의 무작위 섭동을 추가할 수 있으며 경험에 따르면 이 접근 방식은 매우 효과적입니다.

다운샘플링을 하면 정보가 손실되기 때문에 정보 손실을 줄이는 방법은 무엇입니까? 첫 번째 방법은 모델 융합 방법(Ensemble)을 사용하는 EasyEnsemble이라고 합니다. 다중 다운샘플링(생성된 훈련 세트가 서로 독립적이도록 대체 샘플링)을 사용하여 여러 개의 서로 다른 훈련 세트를 생성한 다음 여러 개의 서로 다른 분류기를 훈련합니다. 여러 분류기의 결과를 결합하여 최종 결과를 얻습니다. 두 번째 방법은 BalanceCascade라고 하는데, 증분 학습(Boosting) 개념을 사용합니다. 먼저 한 번의 다운샘플링을 통해 학습 세트를 생성하고 분류기를 학습한 다음 올바르게 분류된 인기 샘플을 교체하지 않은 다음 이 작은 인기 샘플을 사용합니다. 다운샘플링은 훈련 세트를 생성하고 두 번째 분류기를 훈련한 다음 마지막으로 모든 분류기의 결과를 결합하여 최종 결과를 얻습니다. 세 번째 방법은 KNN을 사용하여 NearMiss라는 가장 대표적인 공개 샘플을 선택하는 것입니다. 이 방법은 계산 집약적입니다.

데이터 합성 방식은 기존 샘플을 활용해 더 많은 샘플을 생성하는 방식으로 의료 영상 분석 등 소규모 데이터 시나리오에서 성공한 사례가 많다.

SMOTE는 각 틈새 샘플에 대해 동일한 수의 새 샘플을 합성하는데, 이는 몇 가지 잠재적인 문제를 야기합니다. 한편으로는 클래스 간 중복 가능성이 증가하지만, 다른 한편으로는 다음과 같은 일부 샘플을 생성합니다. 유용한 정보 샘플은 제공되지 않습니다. 이 문제를 해결하기 위해 Borderline-SMOTE와 ADASYN이라는 두 가지 방법이 등장했습니다.

Borderline-SMOTE의 솔루션은 새로운 샘플을 합성해야 하는 틈새 샘플을 찾는 것입니다. 즉, 각 틈새 샘플에 대해 K개의 최근접 이웃을 계산하고, K개의 최근접 이웃에서 다수의 샘플이 절반 이상인 틈새 샘플에 대해서만 새로운 샘플을 생성합니다. 직관적으로 새 샘플은 대부분 대량 샘플로 둘러싸인 틈새 샘플에 대해서만 생성됩니다. 이러한 샘플은 경계 샘플인 경향이 있기 때문입니다. 새 샘플을 생성할 틈새 샘플을 결정한 후 SMOTE를 사용하여 새 샘플을 생성합니다.

오분류로 인한 비용은 카테고리마다 다릅니다. 아래 그림과 같이

가로 방향은 실제 분류 상황, 세로 방향은 예측된 분류 상황, C(i,j)는 실제 카테고리 j로 표본을 예측했을 때의 손실입니다. i. 실제 상황에 맞게 설정해야 합니다.

이 방법의 어려움은 합리적인 가중치를 설정하는 데 있습니다. 실제 적용에서는 각 범주 간의 가중치 손실 값이 일반적으로 거의 동일하게 만들어집니다. 물론 이는 일반적인 규칙은 아니며 특정 문제에 대한 구체적인 분석이 필요합니다.

양성 샘플과 음성 샘플의 균형이 극도로 불균형한 시나리오의 경우 완전히 다른 관점에서 문제를 볼 수 있습니다. 이를 분류(One Class Learning) 문제 또는 이상 탐지(Novelty 탐지) 문제로 생각하면 됩니다. 이 유형의 방법은 클래스 간의 차이점을 포착하는 것이 아니라 클래스 중 하나를 모델링하는 데 중점을 둡니다. One-class SVM 등이 있습니다.

참고: 양성 샘플과 음성 샘플이 극도로 고르지 않은 문제의 경우 이상 탐지 또는 분류 문제를 사용하는 것도 좋은 방법입니다.

1. 긍정적인 샘플과 부정적인 샘플이 매우 적은 경우 데이터 합성을 사용해야 합니다.

2. 부정적인 샘플이 충분하고 긍정적인 샘플이 거의 없는 경우 및 비율

3. 긍정 표본과 부정 표본이 충분하고 비율이 특별히 차이가 나지 않는 경우에는 표본추출이나 가중치 부여 방법을 고려한다.

4. 샘플링과 가중치 부여는 수학적으로 동일하지만 실제 적용에서는 효과가 다릅니다. 특히 Random Forest와 같은 분류 방법을 샘플링하는 경우 훈련 과정에서는 훈련 세트를 무작위로 샘플링합니다. 이 경우 컴퓨팅 리소스가 허용한다면 업샘플링이 가중치 부여보다 더 나은 경우가 많습니다.

5. 또한 업샘플링과 다운샘플링은 모두 데이터 세트의 균형을 맞출 수 있고 데이터가 충분할 때 동일하지만 둘 사이에는 차이가 있습니다. 실제 응용 분야에서 내 경험에 따르면 컴퓨팅 리소스가 충분하고 틈새 샘플이 충분하면 업샘플링을 사용하고, 그렇지 않으면 업샘플링을 사용하면 훈련 세트의 크기가 늘어나 동시에 훈련 시간도 늘어나게 됩니다. , 작은 훈련 세트 과적합이 발생하기 매우 쉽습니다.

6. 다운샘플링을 위해서는 상대적으로 컴퓨팅 리소스가 크고 병렬 환경이 좋은 경우 Ensemble 방식을 선택해야 합니다.

참조/lujiandong1/article/details/52658675?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=1328641.21496.16155984958537047&length_1-utm_source= 배포합니다. pc_relevant.none-작업-블로그 -BlogCommendFromMachineLearnPai2-1.control