Research/Machine Learning
여러 Classifier 간의 특성
IMCOMKING
2015. 9. 14. 19:34
- 여러 데이터의 구조에서 각 알고리즘들이 경계선을 찾은 결과
http://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html
참고로 scikit-learn 은 python 에서의 weka라고 생각될 정도로 매우 사용이 쉽고 다양한 알고리즘이 구현되어있다고한다. 단 2~3줄 만으로 학습 및 추론이 가능하다.
- 아래와 같은 데이터를 분류해보자. (arff는 weka의 데이터 형식이다.) generated by 곽하녹
이 문제는 우선 2차원에서의 유클리드 거리정보가 매우 중요하다. 따라서 KNN알고리즘을 쓰면 쉽게 97%의 정확도에 도달할 수 있다. SVM으로 할 경우 gamma가 매우매우 성능에 민감한 영향을 미치고 잘 피팅하면 98%까지 나온다.
이 데이터는 기본적으로 1번처럼 유클리드 거리를 이용해 분류 가능하나, 문제는 가운데에 2가지 클래스의 점이 겹쳐있다는 것이다. 따라서 61.5%가 베이즈에러에 근접한 성능의 한계로 생각된다. 베이즈에러는 완벽하게 데이터의 확률 분포를 알고 있어도, 겹치는 부분 때문에 맞출 수 없는 한계 성능을 의미한다.
이 데이터는 2번에서 가운데 겹치는 부분을 제거한 것이다. 이경우 KNN으로 약 95%의 성능과 SVM으로 gamma를 잘 조정할 경우 93%까지 성능이 얻어진다.