Wir sind zwei Studenten, die one-Klasse-Svm für die Erkennung von summarisch Sätze in Textdokumenten verwenden möchten. Wir haben bereits Satzähnlichkeitsfunktionen für Sätze implementiert, die wir für einen anderen Algorithmus verwendet haben. Wir möchten nun die gleichen Funktionen wie Kernel für eine Ein-Klassen-Svm in libsvm für Java verwenden.Die Verwendung von vorberechneten Kernel in libsvm verursacht, dass es stecken bleibt
Wir verwenden die PRECOMPUTED
enum für die kernel_type
Feld in unserem svm_parameter
(param). Im x Bereich unserer svm_problem
(prob) haben wir die Kernmatrix auf dem Formular:
0:i 1:K(xi,x1) ... L:K(xi,xL)
wo K(x,y)
der Kernel-Wert für die Ähnlichkeit von x
ist und y
, L
ist die Anzahl der Sätze zu vergleichen und i
ist der aktuelle Zeilenindex (0
bis L
). Das Training des Kernels (svm.svm_train(prob, param)
) scheint manchmal in einer scheinbar endlosen Schleife stecken zu bleiben.
Haben wir missverstanden, wie man die PRECOMPUTED
enum verwendet, oder liegt das Problem anderswo?