기계 학습의 불균형 데이터 대책
기계 학습의 불균형 데이터 대책에 대하여
기계 학습의 불균형 데이터는 클래스 당 데이터 수가 균일하지 않은 경우의 데이터입니다.
예를 들어, A클래스가 99건, B클래스가 1건인 경우, 모두, A클래스로 예측하면, 100건 중 99건이 정답이 되어 Acurracy는 0.99로 일견 고성능이지만, B클래스를 예측하는 것 어렵다.
소수의 클래스를 제대로 예측할 수 있도록 불균형 데이터를 취급할 때는 대책을 실시해야 한다.
실제 A 클래스
실제 B 클래스
예측된 A 클래스
99
1
예측된 B 클래스
1
0
대책의 종류
샘플링
불균형 데이터 대책으로서, 간단하게 실시할 수 있는 것은 샘플링이다.
샘플링에는 두 가지 종류가 있으며 다수의 클래스에 맞는 오버 샘플링과 소수의 클래스에 맞추는 언더 샘플링이 있습니다.
그러나 단순히 샘플링을하면 오버 샘플링하면 소수의 클래스 중복이 발생하여 과학 학습으로 이어질 수 있습니다.
또한 언더 샘플링은 많은 클래스의 중요한 특징을 끌어 올릴 수 있습니다.
오버 샘플링에서 대표적인 것으로서 SMOTE가 있다.
SMOTE는 그림과 같이 새로운 벡터를 같은 클러스터의 두 점 사이에서 보간을 취하여 작성하는 방법이다.
r1 = X1 + d \times gap
이상 감지 문제로 해결
데이터 불균형이 극단적 인 경우 이상 감지를 고려하십시오.
데이터의 분포를 분석하고, 그 분포를 통상으로 하고, 일탈한 값을 이상치로서, 클래스를 나눈다.
1 클래스 SVM, Isolation Forests와 같은 알고리즘이 있습니다.
단, 다음과 같이 분포가 겹치는 경우에는 사용할 수 없다.
비용 고려형 학습
기계 학습에서는 오분류를 동일하게 취급하는 경우가 많다.
이것을 불균형 데이터에 적용하면,
따라서 비용을 고려한 학습에서는 데이터 수가 적은 클래스의 오 분류의 페널티를 크게함으로써 재현률을 향상시키는 효과를 기대할 수있다.
XGBoost와 같은 알고리즘이 있습니다.
불균형 데이터에 해당하는 손실 함수 사용
심층 학습에서는 손실 함수의 정의를 변경하여 불균형 데이터 대책을 수행 할 수 있습니다.
예를 들어, Focal Loss 함수는
정답에 가까운 예측치의 경우는 더 이상 학습하는 것을 억제하게 되어, 부정답한 데이터에 대한 학습을 보다 진행하는 성질이 있다.
Class-Balanced Loss와 Affinity loss와 같은 손실 함수가 있습니다.
Reference
이 문제에 관하여(기계 학습의 불균형 데이터 대책), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/t-baba-11/items/04aff284488ea2a4624b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
r1 = X1 + d \times gap
데이터 불균형이 극단적 인 경우 이상 감지를 고려하십시오.
데이터의 분포를 분석하고, 그 분포를 통상으로 하고, 일탈한 값을 이상치로서, 클래스를 나눈다.
1 클래스 SVM, Isolation Forests와 같은 알고리즘이 있습니다.
단, 다음과 같이 분포가 겹치는 경우에는 사용할 수 없다.
비용 고려형 학습
기계 학습에서는 오분류를 동일하게 취급하는 경우가 많다.
이것을 불균형 데이터에 적용하면,
따라서 비용을 고려한 학습에서는 데이터 수가 적은 클래스의 오 분류의 페널티를 크게함으로써 재현률을 향상시키는 효과를 기대할 수있다.
XGBoost와 같은 알고리즘이 있습니다.
불균형 데이터에 해당하는 손실 함수 사용
심층 학습에서는 손실 함수의 정의를 변경하여 불균형 데이터 대책을 수행 할 수 있습니다.
예를 들어, Focal Loss 함수는
정답에 가까운 예측치의 경우는 더 이상 학습하는 것을 억제하게 되어, 부정답한 데이터에 대한 학습을 보다 진행하는 성질이 있다.
Class-Balanced Loss와 Affinity loss와 같은 손실 함수가 있습니다.
Reference
이 문제에 관하여(기계 학습의 불균형 데이터 대책), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/t-baba-11/items/04aff284488ea2a4624b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
심층 학습에서는 손실 함수의 정의를 변경하여 불균형 데이터 대책을 수행 할 수 있습니다.
예를 들어, Focal Loss 함수는
정답에 가까운 예측치의 경우는 더 이상 학습하는 것을 억제하게 되어, 부정답한 데이터에 대한 학습을 보다 진행하는 성질이 있다.
Class-Balanced Loss와 Affinity loss와 같은 손실 함수가 있습니다.
Reference
이 문제에 관하여(기계 학습의 불균형 데이터 대책), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/t-baba-11/items/04aff284488ea2a4624b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)