Muovendo dalle Invalid probability model for large support vector machines using ksvm in R:Linea ricerca fallisce nella formazione ksvm prob.model
mi alleno uno SVM utilizzando ksvm dal pacchetto kernlab in R. Voglio utilizzare il modello di probabilità, ma durante la sigma raccordo ottengo il seguente messaggio di errore:
line search fails -1.833726 0.5772808 5.844462e-05 5.839508e-05 -1.795008e-08
-1.794263e-08 -2.096847e-12
Quando questo accade, il valore risultante di prob.model(m)
è un vettore di tutte le probabilità, piuttosto che i parametri attesi di una funzione sigmoidale calzato su queste probabilità. Cosa causa questo errore e come posso prevenirlo? La ricerca del messaggio di errore non ha prodotto risultati.
esempio riproducibile:
load(url('http://roelandvanbeek.nl/files/df.rdata'))
ksvm(label~value,df[1:1000],C=10,prob.model=TRUE)->m
prob.model(m) # works as it should, prints a list containing one named list
# the below, non-working problem, unfortunately takes an hour due to the large
# sample size
ksvm(label~value,df,C=10,prob.model=TRUE)->m # line search fails
prob.model(m) # just a vector of values
Sei riuscito a capirlo? –
No. Ho scoperto che si verifica anche con insiemi di dati più piccoli, ma non è ancora stato possibile trovare una spiegazione coerente. Spesso, riducendo o aumentando il numero di osservazioni si risolve il problema, che aggiunge all'irregolarità della sua natura ... – roelandvanbeek
@roelandvanbeek, vedo il problema quando provo a tracciare la curva di apprendimento per il mio set di dati, ma quando corro solo per alcune divisioni 70/30 ad esempio, non mostra il problema? è questo che intendi riducendo o aumentando le osservazioni? –