2015-01-13 9 views
1

Encog 내부에서 SVM을 사용하여 2 진 긍정/부정 분류자를 학습하려고합니다. 이 특정 사례에서 데이터 세트는 매우 불균형 적이며, 부정적인 예는 약 30 : 1의 양의 예보다 많습니다.교육에서 잘못된 반응을 처벌하십시오

모델 교육에서 모델에 주어진 긍정적/부정적 사례를 대략적으로 균형 잡기 위해 음의 경우를 의도적으로 언더 샘플링합니다. 이는 다른 문제에 대해 저에게 유리한 접근 방식입니다. 그러나이 경우 최종 모델은 불균형 테스트 세트에서 테스트했을 때 진정한 긍정의 수보다 중요한 가양 성의 수를 초과하여 허용 할 수없는 높은 가양 성율로 끝납니다.

오 탐지율을 줄이기 위해 훈련시키는 방법에 대한 제안이 있으십니까? 불균형 한 데이터 (또는 관찰 된 균형에 근접한)로 훈련하면 전반적인 긍정적 인 예측의 수는 줄어들지 만 진정한 긍정의 비율은 진정한 긍정의 비율로 증가하지는 않습니다.

+0

이것은 다른 게시물에서 응답되었습니다. http://stackoverflow.com/questions/18078084/how-should-i-tach-machine-learning-algorithm-using-data-with-big-disproportion/18088148#18088148 – Yakku

답변

0

데이터 세트와 같은 소리는 분리 할 수 ​​없습니다. 이 경우 언밸런스 드 세트는 성능이 저하 될 수 있습니다. libsvm에서는 작은 표현으로 레이블에 더 높은 가중치를 할당 할 수 있습니다.

처음에는 모든 네거티브를 유지할 것을 제안합니다. 네거티브의 기능 공간은 아마도 훨씬 커질 것이고 모든 샘플을 보관하면 더 많은 가능성이 있습니다. 두 번째로 무엇을 최적화 할 것인지 결정해야합니다. (TP + TN)/(TP + TN + FP + FN)이다. 이제 귀하의 정의에 따라 최대 성능을 찾으려면 긍정적 인 레이블에 대해 서로 다른 가중치를 사용하여 교육/평가를 실행하십시오. 최종 성능은 데이터의 분리 가능성에 달려 있습니다.