2013-12-22 4 views
2

사실 OpenCV의 svm 파이썬 인터페이스를 사용하고 있으며 4 가지 범주로 데이터를 분류하려고합니다. 라벨 및 교육 데이터가 순서대로 표시되는 경우, 예를 들어 데이터가 라벨 1, 라벨 2, 라벨 3 및 라벨 4로 주문 된 4 개 그룹에 속하는 경우, 올바른 비율은 50 % 정도로 낮습니다. 그러나 훈련 데이터를 섞어 보았을 때 결과는 합리적이었습니다. 약 90 % 정확했습니다. 그래서 제 질문은 : 교육 데이터 순서가 최종 결과에 영향을 주는지 또는 교육 전에 데이터를 섞어 야합니까?SVM 다중 분류를위한 훈련 데이터를 셔플해야합니까?

답변

4

아니요 SVM 교육을 변경하지 않지만 코드에서 사용되는 일부 매개 변수 조정 방법은 주문에 따라 다를 수 있습니다. 예를 들어 무작위 추출없이 교차 유효성 검사를 사용하면 순서가 지정된 세트가 훨씬 어려워집니다. 결과적으로 접힌 폴드는 일부 클래스의 샘플도 0 개까지있을 수 있습니다. 한마디로

:

는 SVM 훈련은 "추가 방법"으로 사용
  • 일부 라이브러리 기반 도구를 주문 데이터에 의존하지 않는다
    • 에 의존 할 수
  • +0

    비율을 확인하기 위해 교차 유효성 검사를 사용했습니다. 어쩌면 그것이 핵심입니다! –

    1

    내 대답은 No입니다 this page을 기반으로 인공 신경망에 대한 역 전파 학습 알고리즘과는 달리 주어진 SVM은 ini에 관계없이 주어진 데이터 세트에 대해 항상 동일한 결정으로 수렴 적으로 수렴 할 것입니다 조건. 약 5000 점 미만을 포함하는 훈련 세트의 경우 그래디언트 디센트는이 최적화 문제에 대한 효율적인 해결책을 제공합니다 [Campbell and Cristianini, 1999].

    먼저, 셔플 후 특징 벡터가 해당 레이블에 해당하는지 확인하십시오. 또한 모든 레이블에 두 경우 모두 많은 특징 벡터가 있는지 확인하십시오.

    둘째, SVM이 변경되는지 여부를 관찰하기 위해 반복적으로 교육을 실행 해 볼 수 있습니다. 같은 순서로 셔플 링하지 않고 똑같은 데이터 세트를 사용하십시오. 이론상 볼록 최적화 문제는 고유 한 최대 값을 가져야하므로 변경되지 않습니다.

    셋째, 훈련이 매우 느리게 수렴 될 경우 최대 반복 시간에 도달했을 가능성이 있습니다. 그런 다음 조기 종료하면 결과에 명백한 임의성이 발생할 수 있습니다.

    비록 수학적으로 원시 솔루션이 SVM에서 고유하지만 이중 솔루션은 고유하지 않을 수 있습니다. 주로 바운드 변수 C의 선택에 달려 있습니다. This article은 원 솔루션과 이중 솔루션 간의 가능한 고유성을 분석했습니다.

    관련 문제