Neuronale Netzwerkarchitektur für Autorennamen als Eingabe?

8

Ich baue ein neuronales Netz auf, um den Wert eines Kunstwerks mit einer Vielzahl von Eingaben (Größe, Kunstmedium usw.) vorherzusagen, und ich möchte den Autor auch als Eingabe einbeziehen (es ist oft sehr groß den Wert eines einzelnen Kunstwerks berücksichtigen).

Meine derzeitige Sorge ist, dass der Name des Autors keine ideale numerische Eingabe für eine NN ist (dh wenn ich nur jeden Autor mit einem zunehmenden ganzzahligen Wert codiere, werde ich den Autoren weiter unten in der Liste indirekt mehr Wert zuweisen -_-) . Meine Gedanken waren, separate Eingaben für alle Autoren in meinem Datensatz zu erstellen und dann nur eine Hot-Codierung zu verwenden, um die Eingabe in das NN besser darzustellen.

Dieser Ansatz stößt jedoch auf ein Problem, wenn ein Autor, der nicht in meinen Trainingsdaten enthalten ist, als Eingabe für die NN verwendet wird (dh ein neuer Autor). Ich kann dies mit einem Eingabefeld "anderer Autor" umgehen, aber ich mache mir Sorgen, dass dies nicht korrekt ist, da ich die NN für diese Eingabe nicht trainiert hätte (alle Kunstwerke mit einer Bewertung haben einen Autor).

Ich habe das noch nicht vollständig durchdacht, aber ich dachte daran, vielleicht 2 NNs zu trainieren, eine für eine Bewertung ohne Autor und eine für die Bewertung mit einem Autor, um sicherzustellen, dass ich über genügend Trainingsdaten für eine "autorlose Bewertung" verfüge, um immer noch einigermaßen genau zu sein.

Ich versuche immer noch, die beste NN-Architektur zu konzipieren, bevor ich mich auf die Implementierung einlasse. Wenn also jemand Vorschläge / Kommentare hat, wäre ich sehr dankbar!

Vielen Dank im Voraus, Vince

PS Ich mache dies als kleinen Wettbewerb mit einem Freund, um einen NN gegen die traditionellen kommerziellen Bewertungstechniken zu testen. Bitte helfen Sie mir, einen Sieg für Informatik über Versicherungsmathematik zu erzielen.

Vince Britz
quelle
1
Nicht im Zusammenhang mit Ihrer Frage, aber Sie könnten in Betracht ziehen, Funktionen aufzunehmen, die auf den vorherigen Angeboten / anderen Werken des Künstlers / und Ereignissen in der Kunstmarktwelt basieren. Diese haben normalerweise einen großen Einfluss auf die Preisgestaltung eines Stücks.
Alpha

Antworten:

4

Der einfachste Ansatz, den ich empfehlen würde, wäre die One-Hot-Codierungslösung ohne eine Funktion für "anderen Autor". Wenn Sie während des Trainings Drop-Out verwenden, sollte das Netzwerk lernen, wie Sie mit Eingabevektoren umgehen, für die keine Autorenfunktionen auf 1 gesetzt sind. Wenn Sie dann einen unbekannten Autor haben, haben Sie einfach überhaupt keine Einsen der Autoren-Features, und es sollte noch gelernt haben, damit umzugehen.

Ein anderer möglicher Ansatz wäre eine One-Hot-Codierung mit einer Funktion für "anderen Autor". Um weiterhin Trainingsdaten für dieses Gewicht zu erhalten, können Sie einfach die Datenerweiterung verwenden. Der einfachste Ansatz zur Datenerweiterung besteht darin, Kopien der Instanzen in Ihren Trainingsdaten zu erstellen. Für diese Kopien setzen Sie jedoch die Funktion "Anderer Autor" auf 1 anstelle des tatsächlichen Autors.

Die komplexeste Lösung, die ich mir vorstellen kann, wäre, die Zeichenfolgendarstellung des Autors zu verwenden und zu versuchen, dass Ihr Programm online Informationen über diesen Autor findet (z. B. versuchen Sie, eine Wikipedia-Seite nachzuschlagen) und den gesamten Text durch ein LSTM zu schieben. Die '' Ausgabeebene '' des LSTM kann dann mit Ihren anderen Features zusammengeführt werden (diese beiden zusammen bilden Ihren '' Eingabevektor ''), ein paar weitere Ebenen darüber stapeln und das gesamte Ende trainieren. beenden. Wenn die Konkurrenz mit Ihrem Freund nicht viel Geld kostet, wird dies wahrscheinlich zu kompliziert sein, um es wert zu sein.

Dennis Soemers
quelle
3

Ich würde versuchen, einige Proxy-Funktionen über den Autor zu finden , anstatt die Identität des Autors zu verschlüsseln. Zu den wahrscheinlich guten Merkmalen eines Autors gehören Durchschnittswerte anderer Merkmale des Werks (wie Größe, Medientypen usw.) und für Ihre Vorhersage einige Statistiken zu früheren Verkaufspreisen aller Werke. Denken Sie daran, dass historische Trainingsdaten die Proxy-Daten enthalten, wie sie zum Zeitpunkt des Verkaufs angezeigt wurden.

Diese Proxys funktionieren wahrscheinlich viel besser als das One-Hot-Codieren einer Autorenidentität und das Zuweisen von Gewichten durch den ML-Algorithmus allein anhand der Identität, insbesondere für Autoren mit nur geringen Datenmengen, um sie darzustellen.

Soweit ich weiß, gibt es wenig Grund zu der Annahme, dass die Zeichenfolge des Namens eines Autors mit dem Wert des Kunstwerks korreliert. Es mag einige gute oder schlechte Markennameneffekte geben , aber ich denke, dass dies selbst isoliert von anderen Faktoren sehr schwer vorherzusagen sein wird. Die Einbeziehung historischer Verkaufsdaten sollte diesen und ähnliche Effekte berücksichtigen, mit Ausnahme von Künstlern ohne bekannte Vorgeschichte.

Neil Slater
quelle