Vowpal Wabbit inverted_hash Option erzeugt leere Ausgabe, aber warum?

8

Ich versuche, ein Vowpal-Wabbit-Modell mit invertierten Hashes zu erhalten. Ich habe ein gültiges Modell mit folgendem erstellt:

vw --oaa 2 -b 24 -d mydata.vw --readable_model mymodel.readable

erzeugt eine Modelldatei wie folgt:

%Vor%

(und so weiter für viele tausend weitere Funktionen). Um jedoch nützlicher zu sein, muss ich die Feature-Namen sehen. Schien sich wie eine ziemlich offensichtliche Sache, aber ich tat

vw --oaa 2 -b 24 -d mydata.vw --invert_hash mymodel.inverted

und es wurde eine Modelldatei wie folgt erstellt (es werden keine Gewichte erstellt):

%Vor%

Es fühlt sich an, als hätte ich offensichtlich etwas falsch gemacht, aber ich denke, ich verwende die Optionen in dokumentierter Weg :

  

--invert_hash ist ähnlich wie --readable_model , aber das Modell wird in einem besser lesbaren Format ausgegeben, gefolgt von Feature-Namen   Gewichte, anstelle von Hash-Indizes und Gewichten.

Weiß jemand, warum mein zweiter Befehl keine Ausgabe erzeugt?

    
Ben Collins 26.06.2014, 17:56
quelle

1 Antwort

9

Dies wird durch einen Fehler in VW verursacht, der kürzlich (aufgrund dieser Frage) behoben wurde, siehe Ссылка .

Übrigens ist es nicht sinnvoll, --oaa 2 zu verwenden. Wenn Sie eine binäre Klassifizierung (auch logistische Regression genannt) wünschen, verwenden Sie --loss_function=logistic (und stellen Sie sicher, dass Ihre Labels 1 und -1 sind). OAA ist nur für N & gt; 2 Anzahl von Klassen sinnvoll (und es wird empfohlen, --loss_function=logistic mit --oaa zu verwenden).

Beachten Sie auch, dass das Lernen mit --invert_hash viel langsamer ist (und natürlich mehr Speicher erfordert). Die empfohlene Vorgehensweise zum Erstellen eines invertierten Hash-Modells, insbesondere mit mehreren Durchläufen, besteht darin, ein übliches binäres Modell zu lernen und es dann mit einem Durchlauf über die Trainingsdaten mit -t :

in invertierten Hash zu konvertieren %Vor%     
Martin Popel 09.07.2014, 17:35
quelle

Tags und Links