교육 데이터 세트에서 수업의 균형을 언제 조정해야합니까?


29

나는 온라인 교육 과정을 통해 훈련 데이터의 불균형 수업이 문제를 일으킬 수 있다는 점을 배웠다. 불균형이 너무 클 경우 분류 알고리즘이 많은 규칙을 따르기 때문에 좋은 결과를 얻을 수 있기 때문이다. 과제에서 대다수 클래스를 언더 샘플링하여 데이터의 균형을 조정해야했습니다.

그러나이 블로그에서 누군가는 균형 잡힌 데이터가 더 나쁘다고 주장합니다.

https://matloff.wordpress.com/2015/09/29/unbalanced-data-is-a-problem-no-balanced-data-is-worse/

그래서 어느 쪽입니까? 데이터의 균형을 유지해야합니까? 일부는 불균형 한 클래스 비율에 적응할 수 있기 때문에 사용 된 알고리즘에 의존합니까? 그렇다면 불균형 데이터에서 신뢰할 수있는 것은 무엇입니까?

답변:


28

직관적 인 추론은 블로그 포스트에서 설명되었습니다 :

우리의 목표가 예측이라면, 이것은 명확한 편견을 야기 할 것입니다. 더 나쁜 것은 표본 크기가 커짐에 따라 일관된 추정치가 없다는 점에서 영구적 인 편견입니다.

따라서 (인공적으로) 균형 잡힌 데이터의 문제는 불균형 한 경우보다 더 나쁩니다.

균형 잡힌 데이터는 분류에는 좋지만 외관 빈도에 대한 정보는 잃어 버려 정확도 지표 자체와 생산 성능에 영향을 미칩니다.

손으로 쓴 글자를 영어 알파벳 (26 글자)으로 인식한다고 가정 해 봅시다. 모든 문자 모양을 오버 밸런싱하면 모든 문자에 대략 1/26으로 분류 될 가능성이 주어 지므로 분류기는 원래 샘플에서 문자의 실제 분포를 잊게됩니다. 그리고 그건 괜찮 분류는 높은 정밀도로 모든 편지를 일반화하고 인식 할 수있을 때 .

그러나 정확성과 가장 중요한 일반화가 "너무 높지 않은"경우 (정의를 줄 수는 없습니다- "최악의 사례"로 생각할 수 있습니다)-잘못 분류 된 점은 모든 문자에 동일하게 분포 될 것입니다 , 같은 :

"A" was misclassified 10 times
"B" was misclassified 10 times
"C" was misclassified 11 times
"D" was misclassified 10 times
...and so on

균형을 맞추지 않고 반대로 ( "A"와 "C"가 텍스트에서 훨씬 더 높은 확률로 가정 할 경우)

"A" was misclassified 3 times
"B" was misclassified 14 times
"C" was misclassified 3 times
"D" was misclassified 14 times
...and so on

따라서 빈번한 사례는 오 분류가 줄어 듭니다. 그것이 좋은지 아닌지는 당신의 작업에 달려 있습니다. 높은 주파수가 더 실용적이다 함께 그들이 (의미 나타내며 예측에 가까운 인식 작업을 가져, 원본 텍스트의 의미를 보존하는 것처럼 자연 문자 인식의 경우, 하나는, 그 편지를 주장 할 수 경향 ). 그러나 ECDSA 키의 스크린 샷 (보다 엔트로피-> 예측이 적음) 과 같은 것을 인식하려고하면 데이터의 불균형을 유지하는 것이 도움이되지 않습니다. 다시 말하지만, 그것은 달려 있습니다.

가장 중요한 차이점은 정확도 추정 자체가 (편평한 알파벳 예제에서 볼 수 있듯이) 편향되어 있기 때문에 모델의 동작이 가장 드물거나 가장 빈번한 점에 의해 어떻게 영향을 받는지 알 수 없다는 것입니다.

PS 당신은 항상 언밸런스 분류의 성능을 추적 할 수 있습니다 정밀 / 리콜 통계 먼저 당신이 균형 여부를 추가해야하는지 여부를 결정합니다.


편집 : 표본 평균 과 모집단 평균 의 차이에 정확하게 이론추정 하는 데 추가적인 혼란이 있습니다 . 예를 들어, 알파벳 로 영어 문자의 실제 분포를 알고 있을지 모르지만 샘플 (트레이닝 세트)은 올바르게 추정하기에 충분히 크지 않습니다 ( ). 따라서 를 보상하기 위해 모집단 자체 또는 더 큰 표본에서 알려진 매개 변수에 따라 클래스를 재조정하는 것이 좋습니다.p(xi|θ)p(xi|θ^)θ^iθi(따라서 더 나은 견적). 그러나 실제로는 모든 단계에서 바이어스 된 데이터를 가져올 위험 (기술 문헌과 소설 대 전체 도서관에서 수집 된 영어 문자) 때문에 "더 큰 샘플"이 동일하게 배포 될 것이라는 보장이 없으므로 균형이 여전히 해로울 수 있습니다.

이 답변 은 또한 균형을 맞추기위한 적용 가능성 기준을 명확히해야합니다.

계급 불균형 문제는 소수 패턴에 속하는 패턴이 충분하지 않기 때문에 발생합니다. 그 자체로 양수 패턴과 음수 패턴의 비율이 아닙니다. 일반적으로 데이터가 충분하면 "클래스 불균형 문제"가 발생하지 않습니다

결론적으로, 훈련 세트가 충분히 큰 경우 인공 균형은 거의 유용하지 않습니다. 동일하게 분포 된 더 큰 표본 의 통계 데이터가 없으면 인공 균형 (특히 예측)이 필요하지 않습니다. 그렇지 않으면 추정기의 품질이 "공룡을 만나기위한 확률"만큼 우수합니다.

거리에서 공룡을 만날 확률은 얼마입니까?

1/2 공룡을 만나거나 공룡을 만나지 않는다


5
문제에 대한 설명 외에도이 답변에서 중요한 테이크 아웃은 먼저 불균형을 시도하고 결과를 확인하고 필요한 경우에만 균형을 조정하고 결과를 확인해야한다고 생각합니다. +1
Zelphir Kaltstahl

다시 말해서, 훈련 서브셋에 클래스를 균등하게 분배하면 모델이 보이지 않는 데이터의 정확도를 떨어 뜨릴 수 있습니다. 그러나 학습 / 테스트 하위 집합에 대한 데이터 집합의 항목을 임의로 추출하려고하는 반대의 경우 분류 기가 더 잘 수행됩니까?
Christos K.

@ChristosK. 많은 사람들이 언급했듯이 문제를 분류로 볼 때 예측에 대해 추론하기가 어렵습니다. 어쨌든 바이어스 (샘플 "임의로")를 제거하면 성능을 향상시키기 위해 더 큰 샘플이 필요합니다. 그것은 단지 "보통"샘플이 의미론을 보존하기에 충분히 크기 때문에, 오버 밸런싱은 적절한 고려없이 모든 것을 "평평하게하는"망치를 다치게하고 규칙 화하는 것처럼 작용할뿐입니다. 또한 공룡의 은유에서 알 수 있듯이 "균형"은 "짝수"를 의미하지 않습니다. 일부 확률이 "무작위"표본에서 잘못 표현 된 경우에만 적절한 균형을 잡습니다.
dk14

1
@ChristosK. 설명해 주셔서 감사합니다. 그것은 내가 의미하는 것과 같지 않지만 접근 방식은 매우 유사합니다. k-fold 적용에 대한 일반적인 권장 사항은 초기 샘플이 "kinda small"일 때 수행하는 것입니다. 확실하지는 않지만 접는 것이 어쨌든 피해를 입지 않아야합니다. 더 많은 실행이 필요하고 예측에 대한 관심이 적을수록 소리가 들릴 때와 같이 일반화 / 성능에 대한 관심이 적습니다. :). 그러나 전체-k- 폴드는 본질적으로 바이어스가 적다는 의미입니다.
dk14

1
@ChristosK. 아, 그리고 경고로, 스팸 / 스팸이 아닌 비율은 그 자체로 비정규 랜덤 변수 일 수 있습니다. 이러한 "가짜 뉴스", "러시아 트롤"및 기타 이러한 가정에 대해주의해야 할 다른 것들과 함께 비율도 편향 될 수 있습니다. 샘플이 부족한 경우 분류기에서 PrecisionRecall을 먼저 추정 할 수 있습니다. 더 많은 데이터를 수집 / 생성 (?)하고 싶습니다.
dk14

17

@ kjetil-b-halvorsen의 의견과 일치하게, 기계 학습의 빠른 채택은 예측과 분류에 대해 연구원들을 혼란스럽게했습니다. 여기서 자세히 설명했듯이 분류는 소수의 경우에만 적합합니다. 결과가 드물거나 너무 흔할 경우 확률은 모든 것 입니다.이 경우 개별 발생을 예측하는 것이 아니라 경향에 대해서만 합리적으로 말할 수 있기 때문입니다 .

통계에서 우리는 일부 데이터를 배제하기 위해 어떤 방법을 필요로하는 모든 방법이 매우 의심 스럽다는 것을 배웠다. 따라서 결과 균형의 목표가 잘못되었습니다. 경향 (확률)의 예측에는 필요하지 않습니다. 그리고 일단 확률을 추정하면 유틸리티 / 비용 / 손실 기능을 예측 된 위험에 적용하여 최적의 결정을 내릴 수 있습니다.


1

분류에서 달성하고자하는 것에 달려 있습니까?

그것이 암 대 비암이라고 말하면 암을 감지하는 것이 중요합니다. 그러나 암이 아닌 데이터는 대부분의 데이터를 형성하므로 분류기는 기본적으로 모든 경우를 암이 아닌 클래스로 보내고 매우 높은 정확도를 얻을 수 있습니다. 그러나 우리는 그것을 감당할 수 없으므로 본질적으로 샘플 비암 사례를 낮추고 결정 경계를 암 지역에서 비암 지역으로 옮깁니다.

정확도가 우리의 유일한 목표 인 사용 사례에서도 테스트 시간 균형이 기차 시간과 다를 것으로 예상되는 경우 균형이 필수적 일 수 있습니다.

예를 들어 망고와 오렌지를 분류하고 900 개의 망고와 30 개의 오렌지로 구성된 훈련 데이터 세트가 있지만 동일한 망고와 오렌지가있는 시장에 배포 할 것으로 예상되는 경우 이상적으로는 예상 샘플 비율로 샘플링하여 최대화해야합니다 정확성.


그것이 제가 가진 강의에서 이해 한 것입니다. 그러나이 블로그 게시물에서 제안하는 것처럼 균형 조정이 나쁜 경우를 이해할 수 없습니다. 각 클래스에 충분한 데이터 포인트가 남아 있으면 왜 균형을 맞추기가 좋지 않습니까?
Zelphir Kaltstahl

죄송하지만 비 유적으로 시장 과일 분포는 모델 정확도와 어떤 관련이 있습니까? 망고와 오렌지를 분리하는 법을 배웠습니다. 즉, 주황색 전용 또는 망고 전용 시장 에서 동일한 모델 을 배포 할 수 있어야합니다 .
Fernando

3
그러나 암 사례의 문제점 은이를 분류로 보는 것이므로 위험 평가 로 취급해야합니다 . 그런 불균형 클래스에 명백한 문제는 볼 사라집니다 stats.stackexchange.com/questions/127042/...을
할보 르센 kjetil B

1

데이터의 균형이 잡히면 메트릭 정확도를 확인하는 것이 좋습니다. 그러나 이러한 상황에서 데이터의 균형이 맞지 않으면 반복마다 정확도가 일치하지 않습니다. Precision (PPR), Recall (sensitivity)과 같은 더 많은 메트릭을 집중해야합니다. 이 두 메트릭은 비교할 때 균형을 이루어야합니다. 또한 정밀도의 고조파 평균 인 F1- 점수를 확인하고 리콜해야합니다. 모든 머신 러닝 알고리즘에 적용 가능

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