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

온라인 과정에서 학습 데이터의 불균형 한 수업이 문제로 이어질 수 있다는 사실을 배웠습니다. 분류 알고리즘은 다음과 같이 대다수 규칙을 따르기 때문입니다. 불균형이 너무 크면 좋은 결과를 제공합니다. 과제에서 과반수 클래스를 언더 샘플링하여 데이터 균형을 조정해야했습니다.

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

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

그렇다면 어느 것이죠? 데이터의 균형을 맞춰야합니까? 일부는 클래스의 불균형 비율에 능숙 할 수 있으므로 사용 된 알고리즘에 따라 달라 집니까? 그렇다면 불균형 데이터에 대해 신뢰할 수있는 것은 무엇입니까?

답변

블로그 게시물에 직관적 인 추론이 설명되어 있습니다.

답변

p>

목표가 예측 인 경우 명확한 편향이 발생합니다. 그리고 더 나쁜 것은 표본 크기가 커짐에 따라 일관된 추정치가 없다는 점에서 영구적 인 편향이 될 것입니다.

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

균형 데이터는 분류에 적합하지만 정확도 측정 항목 자체와 생산 성능에 영향을 미치는 출현 빈도에 대한 정보가 분명히 손실됩니다. .

영어 알파벳 (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 (x_i | \ theta) $ 로 된 영어 글자의 실제 분포를 알고있을 수 있지만 샘플 (훈련 세트)은 그렇지 않습니다. 정확하게 추정 할 수있을만큼 충분히 큽니다 ( $ p (x_i | \ hat \ theta) $ 사용). 따라서 $ \ hat \ theta_i-\ theta_i $ 를 보상하기 위해 모집단 자체 또는 에서 알려진 매개 변수에 따라 클래스를 재조정하는 것이 좋습니다. 더 큰 샘플 (따라서 더 나은 추정치). 그러나 실제로는 모든 단계에서 편향된 데이터를 얻을 위험이 있기 때문에 “큰 샘플”이 동일하게 배포된다는 보장이 없으므로 (기술 문헌에서 수집 한 영문자 대 소설 대 전체 라이브러리) 균형이 여전히 해로울 수 있습니다. .

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

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

결론적으로 학습 세트가 충분히 큰 경우 인공 균형 조정은 거의 유용하지 않습니다. 더 큰 동일하게 분산 된

샘플은 인공 균형 조정 (특히 예측)이 필요하지 않음을 나타냅니다. 그렇지 않으면 추정기의 품질이 “공룡을 만날 확률”만큼 좋습니다.

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

1/2 공룡을 만나거나 공룡을 만나지 않습니다.

댓글

  • 문제에 대한 설명 외에도이 답변에서 중요한 점은 먼저 불균형을 시도하고 결과를 확인하고 필요한 경우에만 균형을 조정하고 결과를 확인하십시오. +1
  • 즉, 학습 하위 집합에 균등하게 분산 된 클래스를 사용하면 모델이 보이지 않는 데이터에서 정확도를 잃게됩니다. 그러나 훈련 / 테스트 하위 집합에 대한 데이터 세트 항목을 무작위로 추출하려는 반대의 경우 분류자가 더 잘 수행 될까요?
  • @ChristosK. 많은 사람들이 언급했듯이 문제를 분류로 볼 때 예측에 대해 추론하기가 어렵습니다. 어쨌든 편향을 제거하면 ( “무작위로”샘플링) 성능 향상을 위해 더 큰 샘플이 필요합니다. “보통”샘플은 의미론을 보존 할만큼 충분히 크므로 과도한 균형은 적절한 고려없이 모든 것을 “평탄화”하는 정규화 망치처럼 작동 할뿐입니다. 또한 공룡의 은유에서 알 수 있듯이 “균형”은 “균등”을 의미하지 않습니다. “무작위”샘플에서 일부 확률이 잘못 표현 된 경우에만 적절한 균형을 유지합니다.
  • @ChristosK. 설명해 주셔서 감사합니다. 제가 의미했던 것과 같지는 않지만 접근 방식은 매우 유사합니다. k-fold의 적용 가능성에 대한 일반적인 권장 사항은 초기 샘플이 “다소 작을”때 수행하는 것입니다. 확실하지는 않지만 폴딩은 어쨌든 아프지 않아야합니다. 더 많은 실행이 필요하고 예측에 대해 덜 신경을 쓸수록 일반화 / 성능에 대해 덜 신경 쓰는 것처럼 들리는 것처럼 말이죠 :). 그러나 전반적으로 k- 폴드는 본질적으로 편향이 적다는 것을 의미합니다.
  • @ChristosK. 아, 그리고 경고로 스팸 / 스팸 아님 비율은 그 자체로 고정되지 않은 임의의 변수 일 수 있습니다. 이러한 모든 “가짜 뉴스”, “러시아 트롤”및 기타 가정에 대해주의해야 할 사항이 있습니다. 비율도 편향 될 수 있습니다. 샘플링이 부족한 경우 먼저 분류기에서 PrecisionRecall을 추정 할 수 있습니다. 더 많은 데이터를 수집 / 생성 (?)하고 싶습니다.

답변

@ kjetil-b-halvorsen “의 의견에 따라 기계 학습의 급속한 채택으로 인해 연구자들은 예측과 분류에 대해 혼란스러워했습니다. 자세히 설명했듯이 여기 에서 분류는 소수의 경우에만 적절합니다. 결과가 드물거나 너무 흔할 경우 확률은 모든 이됩니다. 개별 발생을 예측하는 것이 아니라 성향 에 대해서만 합리적으로 이야기합니다.

통계에서 우리는 일부 데이터를 제외하는 데 필요한 모든 방법이 매우 의심 스럽다는 사실을 얼마 전 알게되었습니다. 따라서 결과의 균형을 맞추는 목표가 잘못되었습니다. 경향 (확률) 예측에는이를 필요로하지 않습니다. 일단 확률을 추정하면 다음을 적용하여 최적의 결정을 내릴 수 있습니다. e 효용 / 비용 / 손실 함수를 예측 위험에 맞 춥니 다.

답변

분류를 통해 달성하려는 목표에 따라 달라집니다.

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

정확성이 유일한 사용 사례에서도 마찬가지입니다. 테스트 시간 균형이 기차 시간과 다를 것으로 예상되는 경우 균형 조정이 필수적 일 수 있습니다.

예를 들어 망고와 오렌지를 분류하려는 경우 900 개의 망고와 30 개의 오렌지가 포함 된 훈련 데이터 세트가 있습니다. 그러나 망고와 오렌지가 동일한 시장에 배포 할 것으로 예상하고 정확도를 극대화하려면 예상되는 샘플 비율로 샘플링해야합니다.

댓글

  • 그것이 제가 강의를 통해 이해 한 것입니다. 그러나이 블로그 게시물에서 알 수 있듯이 균형이 언제 나쁠 수 있는지 이해하지 못합니다. ' 균형, 각 클래스에 대해 충분한 데이터 포인트가 남아 있다면?
  • 죄송합니다.하지만 귀하의 비유에서 시장 과일 분포는 모델 ac와 어떤 관련이 있습니까? curacy?망고와 오렌지를 분리하는 법을 배웠거나 말거나. 즉, 오렌지 전용 또는 망고 전용 시장에 동일한 모델 을 배포 할 수 있어야합니다.
  • 하지만 암 사례의 문제는 분류로보기 , 위험 추정 으로 취급해야합니다. 그런 다음 불균형 클래스의 명백한 문제가 사라집니다. stats.stackexchange.com/questions/127042/ …

답변

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

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다