오버 샘플링에 대한 의견, 특히 SMOTE 알고리즘에 대한 의견


18

분류의 오버 샘플링과 특히 SMOTE 알고리즘에 대한 귀하의 의견은 무엇입니까? 왜 클래스 데이터의 불균형과 불균형 오류 비용을 조정하기 위해 비용 / 벌금을 적용하지 않는가? 저의 목적을 위해, 미래의 실험 단위 세트에 대한 예측의 정확성이 궁극적 측정입니다.

참고로 SMOTE 논문 : http://www.jair.org/papers/paper953.html


1
불균형 데이터 세트에서 소수 클래스를 오버 샘플링하는 데 대한 한 가지 문제는 몇 가지 예 중 특정 부분을 너무 많이 배우게되어 일반화되지 않는 것입니다. SMOTE는 소수 클래스에서 해당 지점 근처의 토폴로지 특성을 학습해야하므로 과적 합 가능성이 줄어 듭니다.
horaceT

2
이것은 질문에 대한 훌륭한 주제이지만 좀 더 집중할 수 있습니까? "당신의 의견 것입니다?" 끝없는 토론을 초대하지만 질문 / 답변 형식에 더 집중하는 경향이 있습니다.
Sycorax는 Reinstate Monica

답변:


19

{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


2
당신이 "비용에 민감한 학습 알고리즘"이라고 말할 때, 나의 두뇌는 "발생 빈도가 높은 수업에 불이익을주고, 빈도가 낮은 수업에 더 중요하게 할당 할 것"이라고 생각해야합니까? 이 개념이 클래스 가중치를 할당하는 것과 동일합니까?
Jarad
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.