강하게 불균형이있는 이진 분류


52

(기능, 이진 출력 0 또는 1) 형식의 데이터 세트가 있지만 1은 거의 발생하지 않으므로 항상 0을 예측하면 70 %에서 90 % 사이의 정확도를 얻습니다 (내가 보는 특정 데이터에 따라 다름) ). ML 방법은 동일한 정확도를 제공하며,이 상황에서 적용 할 표준 방법이 있어야 분명한 예측 규칙보다 정확도를 향상시킬 수 있다고 생각합니다.


3
나는이 글이 주제에 매우 도움이된다는 것을 발견했다 : svds.com/learning-imbalanced-classes
J. O'Brien Antognini

@ J.O'BrienAntognini 정말 좋은 기사입니다!
진화 왕

답변:


30

hxd1011과 Frank가 모두 맞습니다 (+1). 본질적으로 리샘플링 및 / 또는 비용에 민감한 학습은 불균형 데이터 문제를 해결하는 두 가지 주요 방법입니다. 세 번째는 때때로 클래스 불균형에 의해 영향을 덜받는 커널 메소드를 사용하는 것입니다. 실버 불릿 솔루션이 없다고 강조하겠습니다. 정의에 따라 샘플에 부적절하게 표현 된 클래스가 하나 있습니다.

위에서 말한 것처럼 SMOTEROSE 알고리즘이 매우 유용 하다고 생각합니다 . SMOTE 는 소수 클래스의 합성 예제를 만드는 것과 비슷한 방식으로 다수 클래스의 멤버를 제외하기 위해 최근 접 이웃 접근법을 효과적으로 사용합니다 . ROSE는 평활화 된 부트 스트랩 접근 방식을 사용하여 두 클래스의 기본 분포 추정치를 작성하고 합성 예제를 위해 샘플링합니다. 둘 다 R, SMOTE 패키지 DMwR 및 ROSE 패키지에서 같은 이름 으로 쉽게 구할 수 있습니다 . SMOTE와 ROSE는 모두 원래보다 작은 학습 데이터 세트를 생성합니다.k

k실제로이 문제에 대해 유익한 정보입니다. 측정 항목에 관계없이 별도의 테스트를 사용하여 알고리즘의 성능을 평가해야합니다. 클래스의 불균형으로 인해 정확히 맞지 않을 가능성이 훨씬 높으므로 샘플 외부 테스트가 중요합니다.

아마도 그 문제에 대한 가장 인기있는 최근 논문은 그와 Garcia의 불균형 데이터로부터 배우는 것 입니다. 그것은 나 자신과 다른 답변에서 제기 된 요점에 대한 아주 좋은 개요를 제공합니다. 또한 캐럿 패키지의 일부로 Max Kuhn이 제시 한 서브 샘플링 포 클래스 불균형 에 대한 연습 은 언더 샘플링 / 오버 샘플링 및 합성 데이터 생성을 측정하는 방법에 대한 구조적 예를 얻는 데 훌륭한 리소스라고 생각합니다 서로에 대해.


세 번째로 다소 인기있는 (그리고 다시는 적절하지 않은) 지표는 Precision-Recall 곡선의 곡선 아래 면적입니다. Davis & James, 2006 년 논문은이 문제에 대한 고전으로 간주됩니다. CV도 좋은 스레드가 있습니다 . 최근에 " 불균형 데이터 세트에서 이진 분류기를 평가할 때 ROC 플롯보다 정확도가 높은 플롯이 더 유익합니다"라는 제목의 논문을 보았 으므로이를 확인하고 싶을 수도 있습니다.
usεr11852는

1
데이터 재 샘플링 기법의 다양한 파이썬 구현을 위해 나는 불균형 배우기 패키지를 권장합니다 github.com/scikit-learn-contrib/imbalanced-learn
바딤 Smolyakov

불균형 클래스 분포의 경우 AUPRC가 AUROC보다 유익합니다. 이것은 의견이므로 여기에 포함되지 않습니다. 많은 출처 중 하나가 여기 있습니다 .
바브

15

첫째, 불균형 데이터에 대한 평가 지표는 정확성이 아닙니다. 데이터의 99.9 %가 사기가 아니라고 사기 탐지를하고 있다고 가정합니다. 99.9 %의 정확도를 가진 더미 모델을 쉽게 만들 수 있습니다. (사기없는 모든 데이터를 예측하십시오).

평가 지표를 정확도에서 F1 점수 또는 정밀도 및 회수와 같은 다른 것으로 변경하려고합니다 . 두 번째 링크에서 나는 제공했다. 정밀 리콜이 작동하는 이유에 대한 자세한 내용과 직관이 있습니다.

불균형이 심한 데이터의 경우 모델 구축이 매우 어려울 수 있습니다. 가중 손실 기능 또는 한 클래스 만 모델링하여 플레이 할 수 있습니다. 같은 하나의 클래스 SVM 또는 다중 변량 가우스에 맞게는 (링크로 내가 전에 제공.)


2
F1

"정밀과 기억"에 대한 링크가 죽었습니까?
Jason

13

수업 불균형 문제는 비용에 민감한 학습 또는 리샘플링으로 해결할 수 있습니다. 아래에 복사 하여 비용에 민감한 학습과 샘플링의 장점과 단점을 확인하십시오 .


{1}은 비용에 민감한 학습과 샘플링의 장점과 단점의 목록을 제공합니다.

2.2 샘플링

오버 샘플링 및 언더 샘플링은 학습 데이터의 클래스 분포를 변경하는 데 사용될 수 있으며 두 방법 모두 클래스 불균형을 처리하는 데 사용되었습니다 [1, 2, 3, 6, 10, 11]. 훈련 데이터의 클래스 분포를 변경하는 것은 비대칭 데이터 세트로 학습에 도움이되는 이유는 비 균일 오 분류 비용을 효과적으로 부과하기 때문입니다. 예를 들어, 양성 대 음성의 비율이 1 : 1에서 2 : 1이되도록 훈련 세트의 등급 분포를 변경하면, 잘못 분류 된 비용 비율이 2 : 1로 효과적으로 할당됩니다. 훈련 데이터의 클래스 분포 변경과 오 분류 비용 비율 변경 사이의 이러한 동등성은 잘 알려져 있으며 Elkan에 의해 공식적으로 설명되었다 [9].

비용에 민감한 학습을 ​​구현하기 위해 샘플링을 사용하는 것과 관련하여 알려진 단점이 있습니다. 언더 샘플링단점은 잠재적으로 유용한 데이터를 버린다는 것입니다 . 오버 샘플링 의 주된 단점 은 기존 예제를 정확하게 복사하여 오버 피팅 할 가능성이 높다는 것 입니다. 실제로 오버 샘플링의 경우 학습자가 단일의 복제 된 예를 다루는 분류 규칙을 생성하는 것이 일반적입니다. 오버 샘플링의 두 번째 단점은 훈련 예제의 수가 증가하여 학습 시간 이 늘어난다는 입니다.

2.3 왜 샘플링을 사용합니까?

샘플링의 단점을 감안할 때, 왜곡 된 클래스 분포 및 비 균일 한 오 분류 비용으로 데이터를 처리하기 위해 비용에 민감한 학습 알고리즘이 아닌 왜이를 사용하는지 묻는 것이 좋습니다. 여기에는 몇 가지 이유가 있습니다. 가장 확실한 이유는 모든 학습 알고리즘의 비용에 민감한 구현이 없기 때문에 샘플링을 사용한 래퍼 기반 접근 방식이 유일한 옵션입니다. 오늘날보다 과거에는 그렇지 않지만, 많은 학습 알고리즘 (예 : C4.5)은 여전히 ​​학습 과정에서 비용을 직접 처리하지 않습니다.

샘플링을 사용하는 두 번째 이유는 고도로 치우친 데이터 세트가 엄청나고 학습이 가능하도록 훈련 세트의 크기를 줄여야하기 때문입니다. 이 경우 언더 샘플링은 합리적이고 유효한 전략 인 것 같습니다. 이 백서에서는 훈련 세트 크기를 줄여야 할 필요성을 고려하지 않습니다. 그러나 일부 훈련 데이터를 폐기해야하는 경우에도 훈련 세트 크기를 필요한 크기로 줄이고 비용을 사용하기 위해 대부분의 클래스 예를 폐기하는 것이 유리할 수 있음을 지적합니다. 폐기 된 학습 데이터의 양이 최소화되도록 민감한 학습 알고리즘.

비용에 민감한 학습 알고리즘이 아닌 샘플링 사용에 기여한 마지막 이유는 잘못 분류되는 비용을 알 수 없기 때문입니다. 그러나 이는 비용에 민감한 학습 알고리즘에 비해 샘플링을 사용하는 데 유효한 이유는 아닙니다. 샘플링과 유사한 문제가 발생하기 때문입니다. 최종 교육 데이터의 클래스 분포는 어떻게됩니까? 이 비용 정보를 알 수없는 경우 ROC 곡선 아래 면적과 같은 측정 값을 사용하여 분류기 성능을 측정 할 수 있으며 두 가지 방법 모두 경험적으로 적절한 비용 비율 / 클래스 분포를 결정할 수 있습니다.

그들은 또한 일련의 실험을했는데 결정적이지 않았습니다.

모든 데이터 세트의 결과를 바탕으로 비용에 민감한 학습, 오버 샘플링 및 언더 샘플링간에 확실한 승자가 없습니다.

그런 다음 데이터 세트의 어떤 기준이 어떤 기술이 더 잘 맞는지를 암시 할 수 있는지 이해하려고합니다.

그들은 또한 SMOTE가 몇 가지 개선점을 가져올 수 있다고 말합니다.

샘플링의 효과를 개선하기 위해 사람들이 개선 한 다양한 기능이 있습니다. 이러한 향상된 기능 중 일부에는 오버 샘플링시 새로운 "합성"예제 도입 [5-> SMOTE], 언더 샘플링시 유용하지 않은 다수 클래스 예제 삭제 [11] 및 각 예제보다 하나 이상의 언더 샘플링이 사용되는 경우 여러 서브 샘플 사용 서브 샘플 [3]. 이러한 기술은 오버 샘플링 및 언더 샘플링과 비교되었지만 일반적으로 비용에 민감한 학습 알고리즘과 비교되지 않았습니다. 앞으로 공부할 가치가 있습니다.


{1} Weiss, Gary M., Kate McCarthy 및 Bibi Zabar. "비용에 민감한 학습 대 샘플링 : 오류 비용이 다른 불평형 ​​클래스를 처리하는 데 가장 적합한 방법은 무엇입니까?" DMIN 7 (2007) : 35-41. https://scholar.google.com/scholar?cluster=10779872536070567255&hl=ko&as_sdt=0,22 ; https://pdfs.semanticscholar.org/9908/404807bf6b63e05e5345f02bcb23cc739ebd.pdf


1
따라서 링크를 요약하면 다음과 같습니다. 어떤 방법이 더 나은지 결정하기 어려운 결과가 있으며 언더 샘플링 / 오버 샘플링을 사용하는 것이 더 쉽습니다. 권리?
LazyCat

1
@LazyCat 맞습니다.
Franck Dernoncourt

예, 플랫폼에는 제한이 있습니다. 그러나 그들 중 다수는 또한 특징입니다. 예를 들어, 하나의 길고 자세한 답변이 두 질문에 적절하게 응답 할 수 있다면 해당 질문은 중복되어야 한다고 가정합니다 . 그리고 그것들이 중복되지 않는다면, 단지 복사 붙여 넣기가 아닌 의미있는 방식으로 답변을 변화시킬 수 있어야합니다. 이 경우 어떤 조치를 취해야합니까? (cc @gung)
whuber

@whuber 다른 질문은 이미 종료되었습니다 :-)
Franck Dernoncourt

1
좋습니다. 설득력있는 주장입니다.
whuber

6

이 쿼리에 대한 몇 가지 답변은 이미 여러 가지 다른 접근 방식을 모두 제공했습니다. 이 제안은 하버드의 저명한 정치 학자 게리 킹 (Gary King)의 논문 및 관련 소프트웨어에서 나온 것입니다. 그는 희귀 사건 데이터의 로지스틱 회귀 분석 이라는 제목의 논문을 공동 저술했으며이 책은 상당히 확실한 솔루션을 제공합니다.

초록은 다음과 같습니다.

우리는 희귀 사건 데이터, 전쟁, 거부권, 정치적 행동주의 사건, 또는 역학적 감염과 같은 사건이 수십에서 수천 배 적은 이진 의존 변수를 0보다 ( "비 사건") 연구합니다. 많은 문헌에서, 이들 변수는 설명하기가 어렵고 예측하기 어려우며, 적어도 두 가지 원인이있는 것으로 보인다. 첫째, 로지스틱 회귀와 같은 널리 사용되는 통계 절차는 드문 사건의 확률을 크게 과소 평가할 수 있습니다. 기존 방법을 능가하는 수정을 권장하고 문헌에보고 된 일부 예상 효과만큼 절대 및 상대 위험의 추정치를 변경하는 것이 좋습니다. 둘째, 일반적으로 사용되는 데이터 수집 전략은 희귀 이벤트 데이터에 대해 비효율적입니다. 사건이 너무 적은 데이터를 수집하는 것에 대한 두려움으로 인해 수많은 관측 결과를 가진 데이터 수집이 이루어졌지만, 1 억 5 천만 개가 넘는 국제 분쟁 데이터에서와 같이 상대적으로 적고 측정이 잘되지 않은 설명 변수는 소수에 불과했습니다. 전쟁 중입니다. 결과적으로 모든 가변 사건 (예를 들어, 전쟁)과 소량의 비 사건 (평화)을 샘플링하는 것과 같이 유효한 추론을하기 위해보다 효율적인 샘플링 디자인이 존재합니다. 이를 통해 학자들은 (고정되지 않은) 데이터 수집 비용의 99 %를 절약하거나 훨씬 더 의미있는 설명 변수를 수집 할 수 있습니다. 이 두 가지 결과를 연결하는 방법을 제공하여 두 가지 유형의 수정 작업을 동시에 수행 할 수 있으며 개발 된 방법을 구현하는 소프트웨어를 제공합니다. 1 억 5 천만 개가 넘는 다이어 드와의 국제 분쟁 데이터에서와 같이 잘못 측정 된 설명 변수는 소수에 불과합니다. 결과적으로 모든 가변 사건 (예를 들어, 전쟁)과 소량의 비 사건 (평화)을 샘플링하는 것과 같이 유효한 추론을하기 위해보다 효율적인 샘플링 디자인이 존재합니다. 이를 통해 학자들은 (고정되지 않은) 데이터 수집 비용의 99 %를 절약하거나 훨씬 더 의미있는 설명 변수를 수집 할 수 있습니다. 이 두 가지 결과를 연결하는 방법을 제공하여 두 가지 유형의 수정 작업을 동시에 수행 할 수 있으며 개발 된 방법을 구현하는 소프트웨어를 제공합니다. 1 억 5 천만 개가 넘는 다이어 드와의 국제 분쟁 데이터에서와 같이 잘못 측정 된 설명 변수는 소수에 불과합니다. 결과적으로 모든 가변 사건 (예를 들어, 전쟁)과 소량의 비 사건 (평화)을 샘플링하는 것과 같이 유효한 추론을하기 위해보다 효율적인 샘플링 디자인이 존재합니다. 이를 통해 학자들은 (고정되지 않은) 데이터 수집 비용의 99 %를 절약하거나 훨씬 더 의미있는 설명 변수를 수집 할 수 있습니다. 이 두 가지 결과를 연결하는 방법을 제공하여 두 가지 유형의 수정 작업을 동시에 수행 할 수 있으며 개발 된 방법을 구현하는 소프트웨어를 제공합니다. 모든 가변적 인 사건 (예를 들어, 전쟁)과 소량의 비 사건 (평화)을 샘플링하는 것과 같이 유효한 추론을하기 위해보다 효율적인 샘플링 설계가 존재한다. 이를 통해 학자들은 (고정되지 않은) 데이터 수집 비용의 99 %를 절약하거나 훨씬 더 의미있는 설명 변수를 수집 할 수 있습니다. 이 두 가지 결과를 연결하는 방법을 제공하여 두 가지 유형의 수정 작업을 동시에 수행 할 수 있으며 개발 된 방법을 구현하는 소프트웨어를 제공합니다. 모든 가변적 인 사건 (예를 들어, 전쟁)과 소량의 비 사건 (평화)을 샘플링하는 것과 같이 유효한 추론을하기 위해보다 효율적인 샘플링 설계가 존재한다. 이를 통해 학자들은 (고정되지 않은) 데이터 수집 비용의 99 %를 절약하거나 훨씬 더 의미있는 설명 변수를 수집 할 수 있습니다. 이 두 가지 결과를 연결하는 방법을 제공하여 두 가지 유형의 수정 작업을 동시에 수행 할 수 있으며 개발 된 방법을 구현하는 소프트웨어를 제공합니다.

여기에 종이에 대한 링크가 있습니다 ... http://gking.harvard.edu/files/abs/0s-abs.shtml


감사합니다.-논문을 읽으면 위에서 제안한 언더 샘플링 이외의 중요한 사항을 제안합니까?
LazyCat

4
이것은 좋은 종이입니다, 나는 그것을 두 번 이상 읽었습니다! (+1) 나는 그 논문이 또한 추론에 관심이 있다는 것을 지적해야한다고 생각한다. 이것이 GBM이 GLM에 비해 정치 과학자에게 덜 유용한 이유입니다. 예를 들어, 트리 방법론이 사용되는 경우 : " ... 두 재귀 분할 알고리즘은 동일한 예측 정확도를 달성 할 수 있지만 동시에 구조적으로 다른 회귀 관계, 즉 다른 모델을 나타내므로 영향에 대한 다른 결론으로 ​​이어질 수 있습니다. 응답에 대한 특정 공변량의 변화 ""(Hothorn et al. 2006)
usεr11852는 Reinstate Monic이

2

불균형 클래스를 가진 데이터 세트를위한 분류기의 개발은 머신 러닝의 일반적인 문제입니다. 밀도 기반 방법은 이러한 상황에서 "전통적인 분류 자"보다 중요한 장점을 가질 수 있습니다.

p^(x|yC)CC={x:yi=0}

xy^(x)Cy^(x)C

다음 용지를 참조 할 수 있습니다.

"참신 탐지를위한 최소 볼륨 세트의 계산 가능한 플러그인 추정기"C. Park, J. Huang 및 Y. Ding, Operations Research, 58 (5), 2013.


2

이것은 이상 탐지가 유용한 접근법 인 일종의 문제입니다. 이것은 기본적으로 훈련 클래스의 통계 프로파일을 결정하고 미래 측정이 해당 클래스에 속하지 않는 것으로 결정되는 확률 임계 값을 설정하는 그의 답변에서 rodrigo가 설명한 것입니다. 다음은 시작하기 위한 비디오 자습서 입니다. 일단 당신이 그것을 흡수하면, 나는 커널 밀도 추정을 찾는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.