기계 학습 중의 불균형 데이터 처리 방법

주의

  • 이 문장은 Dealing with Imbalanced Classes in Machine Learning을 일본어로 번역한 것이다.
  • 원문에서class imbalanceimbalanced classification 등의 표현 개념은 필요에 따라不均衡データ 등의 표현으로 교체한다.
  • 개시하다


    현실 세계의 분류 문제에서 불균형한 데이터를 처리하지 않으면 안 되는 경우가 종종 발생한다.불균형 데이터는 데이터 집중 실례류가 차지하는 비례가 통일되지 않은 데이터를 가리킨다.불균형한 데이터를 사용하는 기계 학습에서 평가 지표와 기법의 적절한 조정이 중요하다. 만약 이렇게 하지 않는다면 당신이 하고 싶은 진정한 목적에 무의미한 지표가 최적화될 수 있다.
    예를 들어 A와 B 두 반이 있다고 가정하자.Class A는 데이터 세트의 90%, Class B는 나머지 10%를 차지하지만 특히 Class B의 실례를 정확하게 식별하고 싶어한다.모든 실례에서 예측 레벨이 A인 예측기 정밀도(Acuracy)는 90%인데 이것은 당신의 이번 목적에 무의미하다.다른 한편, 적당한 수정 기법을 사용하면 단순한 정밀도(Acuracy)는 낮아질 수 있지만 상당한 진양률1을 실현할 수 있을 것으로 보인다. 이것은 이번 문제 설정에서 당신이 최적화해야 할 지표라고 할 수 있다.이런 상황은 인터넷에서 부적절한 내용을 검출하고 의료 질병 표기에 대한 분석 등에 자주 나타난다.
    다음은 불균형 데이터를 처리하는 데 사용할 수 있는 몇 가지 방법을 소개한다.거의 모든 경우에 적용되는 기술도 있고, 데이터의 특정 불균형 상황에 적합한 기술도 있다.이 글에서 우리는 두 가지 분류의 관점에서 이러한 방법을 설명하는데 대부분 상황에서 여러 가지 분류에 대해서도 같다고 할 수 있다.또 분류의 목적은 소수파의 반을 정확하게 확정하는 것이다.(이렇지 않으면 불균형 데이터를 처리하는 수법은 본래 필요 없다.)

    평가 지표


    일반적으로 불균형 데이터에 대한 분류 문제는 리콜(재현율. 실제 예측은 정비례)이다.합격률사이의 절충.소수파의 학급 실례를 검출하고자 하는 경우 일반적으로 부합률보다 재현율을 더 강하게 고려한다.왜냐하면 이 상하문에서 마이너스에 잘못된 라벨을 붙이는 것보다 정례를 놓치는 것이 비용이 들기 때문이다.예를 들어 부적절한 내용을 감지하려면 수동적인 관중이 부적절한 내용으로 판단되는 것이 사실상 부적절하다는 것을 깨닫게 되는 것은 아주 작은 문제이다표기가 부적절한 것은 아니지만 실제 부적절한 내용을 확인하기는 어렵다.따라서 불균형 데이터 분류 문제를 처리할 때 재현율, 적합률, AUROC 등 정밀도보다 적합한 평가 지표를 사용하는 것을 연구해 주십시오.매개 변수나 모델을 선택할 때 최적화된 지표를 전환하면 소수파 종류를 검사할 때의 성능을 향상시키는 데 도움이 된다.

    원가 고려형 학습


    일반적인 학습에서 모든 오류 분류는 같지만 이러한 오류 분류도 불균형한 분류 문제에 똑같이 적용되면 문제가 발생한다.학습기기의 경우 과반수를 차지하는 학급보다 소수파를 중시하고 식별하는 학급에 특별한 이유가 없기 때문이다.원가 고려형 학습 함수 $C (p, t) 달러 (보통 행렬로 표시) 를 사용하여 이것을 변경하고 클래스 $t의 실례를 클래스 $p 달러로 잘못 분류합니다.이로써 소수파 학급의 오류 분류 벌칙을 과반수 학급의 오류 분류보다 무거워 리콜의 향상을 기대할 수 있다.원가 함수 $C (p, t) $의 정의로 클래스 $t의 실례수가 데이터 집중 비례의 꼴찌를 차지하는 것을 자주 사용합니다.이 정의를 사용하면 학급이 차지하는 비율이 작을수록 처벌이 커진다.

    샘플링


    불균형 데이터를 수정하는 간단한 방법은 소수파 클래스의 실례를 완성하거나underrsampling 소수파 클래스의 실례를 완성하는 것이다.이로써 이론적으로 정례와 음례의 균형 데이터 집합을 만들 수 있다.그러나 실제로 상술한 간단한 샘플링 방법은 결함이 있다.소수의 오버캠프가 소수파 반의 실례를 학습에 중복 사용하면 모델의 과도한 학습을 초래할 수 있다.마찬가지로 다수가underrsampling이라면 두 반 사이에 중요한 차이가 발생하는 실례는 학습에서 제외될 수 있다.
    간단한 오버캠프와 언더캠프를 넘어 더욱 강력한 샘플링 방법도 있다.가장 잘 알려진 SMOTE는 쉽게 말해 인접 인스턴스볼록 키에서 소수파 수준의 새로운 인스턴스를 만드는 방법이다.다음 그림에서 보듯이 소수파 실례 중의 두 실례 사이에 직선을 그리고 이 직선에서 어떤 점을 채취하여 소수파 단계의 새로운 실례로 삼는다.이렇게 하면 중복된 실례를 사용하지 않고 새로운 인공 실례를 만들어서 심각한 학습 없이 데이터 집합의 균형을 조정할 수 있습니다.그러나 이는 기존 데이터 포인트에서 만들어진 것이기 때문에 과도한 학습을 완전히 막을 수는 없다.

    이상 검출


    더 극단적인 상황에서는 이상 검출의 상하문 아래의 분류를 고려하는 것이 좋을 수도 있다.이상 검출에서 데이터 포인트의'일반적'분포를 가정하고 그 분포에서 벗어난 데이터가 이상이라고 판단한다.불균형 데이터와 관련된 분류 문제를 다시 이상 검출 문제로 간주하면 과반수 분류를 데이터 점의'정상'분포로 보고 소수 단계의 실례를 이상 데이터 점으로 간주한다.이상을 감지하는 알고리즘으로는 클러스터 기반 방법, 클래스 1 SVM, Isolation Forests 등이 많다.

    끝말


    위에서 소개한 방법을 결합하면 불균형 데이터를 위해 더욱 좋은 분류기를 구축할 수 있다.위에서 말한 바와 같이 불균형 정도에 따라 가장 적합한 방법은 다르다.예를 들어 간단한 샘플링 방법은 약간의 불균형이 있는 데이터에 대한 대책에 적용되지만 극단적인 불균형 데이터에 대해서는 이상 검출 방법을 바탕으로 해야 한다.결과적으로 불균형 데이터의 처리 방법으로는 만능적인 방법이 없다.가능성이 있는 수법을 시도해 정확한 평가 지표에 어떤 영향을 미치는지 확인해야 한다.
    True positive rate. 실제 양성 샘플 중 분류기가 양성 샘플의 비율을 정확하게 확정한다.리콜이라고도 불린다. 

    좋은 웹페이지 즐겨찾기