2017-10-03 16 views
0

나는 SVM을 사용하여 의료 영상을 분류하는 프로그램에 dlib을 사용하고 있습니다. 이미지가 큽니다 (많은 기능, 예를 들어 10000에서 100000). 선형 커널을 사용하기 때문에 svm_c_linear_dcd_trainer을 사용하는 것이 좋습니다.은 dlib의 dcd 트레이너의 '웜 스타트 (warm start)'옵션으로 1 등급 분류에만 해당됩니까?

svm_c_linear_dcd_trainer 클래스를 좋아하는 또 다른 이유는 '따뜻한 시작'을 지원한다는 것입니다. 따라서 하나의 관찰이 종종 긴 벡터에 효과적인 샘플 (예 : LOOCV에서)에 추가/제거되는 경우입니다.

그러나 svm_c_linear_dcd_trainer의 유일한 예는 one_class 분류를 사용합니다. 설명서에 따르면 웜 스타트를 구현하는 force_last_weight_to_1 옵션은 1 클래스 분류에만 사용됩니다.

사실인가요?이 웜 시작 옵션은 바이너리 분류에 사용할 수 없습니까? 이 경우 또 다른 구현이 빨라 집니까?

답변

1

이는 제한 사항이 아닙니다. 그 교실에 대한 문서를 읽었습니까? http://dlib.net/dlib/svm/svm_c_linear_dcd_trainer_abstract.h.html#svm_c_linear_dcd_trainer dlib의 문서에서 warm-starting은 하나의 클래스 분류로 제한됩니다. svm_c_linear_dcd_trainer에 대한 문서는 내가 볼 수있는 것처럼 하나의 클래스 분류에 대해서는 언급하지 않았습니다.

+0

"dob"란 무엇입니까? –

+0

답변 해 주셔서 감사합니다. 이 문서에서는 웜 스타트 (warm start)를하는 법을 실제로 말하지 않고있다. 예제 프로그램에서 force-to-1 옵션과의 링크를 찾았습니다. 거기에 대한 의견은 저에게 1 클래스 분류자를위한 것이라고 생각하게 만들었습니다 ... –

+0

"그러나 empirical_kernel_map을 제쳐 놓고, 선형 SVM을 하나의 클래스 SVM으로 변환하는 것은 다음과 같습니다. 각 특징 벡터의 끝에 -1 값을 추가 한 다음 트레이너에게이 기능의 가중치를 1로 설정하도록 지시합니다. –