Sto cercando di ottenere un modello vowpal wabbit salvato con hash invertite. Ho un modello valido prodotto con la seguente:L'opzione Vowpal di Wabbit inverted_hash produce output vuoto, ma perché?
vw --oaa 2 -b 24 -d mydata.vw --readable_model mymodel.readable
che produce un file di modello come questo:
Version 7.7.0
Min label:-1.000000
Max label:1.000000
bits:24
0 pairs:
0 triples:
rank:0
lda:0
0 ngram:
0 skip:
options: --oaa 2
:0
66:0.016244
67:-0.016241
80:0.026017
81:-0.026020
84:0.015005
85:-0.015007
104:-0.053924
105:0.053905
112:-0.015402
113:0.015412
122:-0.025704
123:0.025704
...
(e così via per molte migliaia più caratteristiche). Tuttavia, per essere più utile, ho bisogno di vedere i nomi delle funzionalità. Sembrava una cosa abbastanza ovvia, ma ho fatto
vw --oaa 2 -b 24 -d mydata.vw --invert_hash mymodel.inverted
e ha prodotto un file di modello come questo (senza pesi vengono prodotte):
Version 7.7.0
Min label:-1.000000
Max label:1.000000
bits:24
0 pairs:
0 triples:
rank:0
lda:0
0 ngram:
0 skip:
options: --oaa 2
:0
Ci si sente come se avessi fatto qualcosa, ovviamente, sbagliato, ma penso che sto utilizzando le opzioni nella documented way:
--invert_hash
è simile a--readable_model
, ma il modello è O scita in un formato leggibile più umano con i nomi delle funzioni seguita da pesi, invece di indici hash e pesi.
Qualcuno vede perché il mio secondo comando non riesce a produrre alcun output?
Interessante. Sperimentalmente, trovo risultati che potrebbero essere interpretati in disaccordo con il punto su '--oaa'. Con solo '-b 31', riporta una perdita media di 0,6. Con '-b 31 --loss_function = logistic', riporta una perdita di .48 (e giocherellare con' -l' e '--l1' e' --passes' in realtà non cambia molto). Con '-b 31 --oaa 2 -c -k - passa 3 -l 0.25', vw riporta solo una perdita di .19. Se '--oaa 2' non ha senso, allora perché funziona molto meglio? Non sto cercando di essere sgradevole; Voglio solo capire. –
Non si devono confrontare mele (perdita 0/1) e arance (perdita logistica o quadrata). Per OAA, VW riporta sempre una perdita di 0/1. Senza OAA (o altre riduzioni multiclasse), VW riporta la perdita richiesta (quadrata, logistica, cerniera ...). –
È possibile forzare VW a segnalare una perdita di 0/1 per la classificazione binaria con '--binary'. –