2016-12-02 5 views
2

Ich brauche eine Orientierung für ein Problem, das ich versuche zu lösen. Alles wäre willkommen, ein Keyword für Google oder ein Hinweis!ML-Modell zur Vorhersage von Rankings (beliebige Reihenfolge einer Liste)

Also habe ich eine Liste von 5 Artikeln. Alle Elemente haben die gleichen Funktionen. Nehmen wir an, jedes Element verfügt über drei Funktionen für das Beispiel. Ich übergebe die Liste an eine Ranking-Funktion, die die Eigenschaften jedes Elements in der Liste berücksichtigt und eine beliebige geordnete Liste dieser Elemente zurückgibt.

Zum Beispiel, wenn ich die folgende Liste von Elementen (a, b, c, d, e) zur Ranking-Funktion gebe, bekomme ich (e, a, b, d, c). Hier ist die Sache, ich weiß nicht, wie die Ranking-Funktion funktioniert. Die einzigen Dinge, die ich habe, ist die Liste von 5 Gegenständen (5 ist für das Beispiel, es könnte eine beliebige Zahl größer als 1 sein), die Eigenschaften jedes Gegenstandes und das Ergebnis der Rangfolgefunktion.

Ziel ist es, ein Modell zu trainieren, das eine geordnete Liste von 5 Elementen auf die gleiche Weise ausgibt, wie es die Ranking-Funktion getan hätte.

Welches ML-Modell kann ich verwenden, um dieses Ranking zu unterstützen? Außerdem kann ich nicht feststellen, ob es sich um ein Klassifizierungs- oder ein Regressionsproblem handelt. Ich versuche nicht, einen kontinuierlichen Wert zu bestimmen oder die Items zu klassifizieren, ich möchte feststellen, wie sie durch die Ranking-Funktion miteinander verglichen werden.

Ich habe zu meiner Verfügung eine unendliche Anzahl von Gegenständen, seit ich sie selbst erzeuge. Das Ranking-Funktion könnte alles sein, aber lassen Sie uns sagen, es ist:

attribute a score = 1/3 * (x1 + x2 + x3) to each item and sort by descending score

Das Ziel für das Modell so nah wie möglich zu erraten ist, was das Ranking-Funktion durch Ausgabe ähnliche Ergebnisse für die gleiche Charge von 5 Einzelteile ist.

Vielen Dank im Voraus!

Antwort

1

Es könnte mit dem folgenden Trick als Regressionsproblem behandelt werden: Sie erhalten 5 Elemente mit 5 Merkmalsvektoren und die Funktion "Black Box" gibt 5 verschiedene Ergebnisse als [1, 2, 3, 4, 5] aus. Behandle diese als kontinuierliche Werte. Sie können sich also Ihre Funktion vorstellen, indem Sie fünf verschiedene Eingabevektoren x1, x2, x3, x4, x5 verwenden und fünf skalare Zielvariablen t1, t2, t3, t4, t5 ausgeben, wobei die Zielvariablen für Ihr Trainingssatz die sind Punkte, die die Gegenstände bekommen. Wenn beispielsweise die Rangfolge für eine einzelne Stichprobe (x1,4), (x2,5), (x3,3), (x4,1), (x5,2) lautet, dann setze t1 = 4, t2 = 5, t3 = 3, t4 = 1 und t5 = 2. MLPs haben die "universal approximation" -Fähigkeit und bei einer Black-Box-Funktion können sie diese abhängig von der Anzahl der versteckten Einheiten beliebig nahe kommen. Erstellen Sie also ein 2-Layer-MLP mit den Eingängen als fünf Feature-Vektoren und den Outputs als fünf Ranking-Scores. Sie werden eine Fehlerquadratsummenfunktion, die klassische Regressionsfehlerfunktion, minimieren. Verwenden Sie keinen Regularisierungsbegriff, da Sie versuchen werden, eine deterministische Black Fox-Funktion nachzuahmen, da in den Ausgaben dieser Funktion kein zufälliges Rauschen enthalten ist. Sie sollten also keine Angst vor Überanpassungsproblemen haben.

+0

Vielen Dank für Ihre Antwort. Ich bin ein bisschen verloren mit dem letzten Teil, wo du sagst, dass die Ausgabeeinheiten als Ranglistenpunkte wirken. Bedeutet das, dass die erste Ausgabeeinheit die Punktzahl des ersten Eingabevektors abbildet, die zweite Ausgabeeinheit die Punktzahl des zweiten Eingabevektors, ...?Oder das Gegenteil, wo die erste Ausgabeeinheit immer auf '1', die zweite auf '2', ...? – Anjou

+1

Es ist die erste, die erste Ausgabe gibt die Punktzahl des ersten Eingabevektors und so weiter. –

1

Da es eine unbekannte Funktion gibt, die die Ausgabe generiert, handelt es sich um ein Regressionsproblem. Neuronales Netzwerk mit 2 versteckten Schichten und z.B. Sigmoide können jede beliebige Funktion lernen.

+0

Vielen Dank für Ihre Antwort. Allerdings verstehe ich nicht, dass die unbekannte Funktion es zu einem Regressionsproblem macht. Wir können auch eine unbekannte Funktion haben, die Elemente annimmt und sie basierend auf ihren Eigenschaften beschriftet, aber das ist ein Klassifikationsproblem, richtig? – Anjou

Verwandte Themen