Wie kann ich ein einfaches, nichtlineares Regressionsmodell mit Tensorfluss trainieren?

8

Ich habe dieses Beispiel für linear gesehen Regression und ich möchte ein Modell trainieren

wo

Was ich versucht habe

%Vor%

Wenn ich es ausführe, bekomme ich:

%Vor%

Ich habe ein paar leichte Variationen in den Eingabedaten versucht, aber ich kann es nicht zum Laufen bringen.

Wie kann ich ein solches einfaches, nichtlineares Regressionsmodell mit Google TensorFlow trainieren?

    
Martin Thoma 16.12.2015, 12:20
quelle

2 Antworten

8

Der InvalidArgumentError ist darauf zurückzuführen, dass die von Ihnen eingegebenen Werte ( train_X und train_Y ) nicht die erforderliche Form haben, um mit W1 multipliziert zu werden.

Es gibt ein paar Probleme hier:

  1. Die Anweisung mul = X * W1 sollte mul = tf.matmul(X, W1) sein, da * eine elementweise Multiplikation berechnet. Dies ist nicht das, was Ihre Gleichung angibt.

  2. Die Eingabedaten X sollten eine einspaltige Matrix sein. Um Skalar- und Vektordaten zu verarbeiten, können Sie sie wie in Ihren Feedaufrufen wie folgt umformen:

    %Vor%
  3. Wenn Sie die endgültigen Kosten abrufen, sollte das erste Argument für sess.run l2_loss (und nicht cost ) lauten:

    %Vor%
mrry 16.12.2015 16:04
quelle
0

Die Form Ihrer Daten (40 Dimensionen) ist nicht kompatibel mit der Form der Matrix, mit der Sie sie multiplizieren (10 Dimensionen). Versuchen Sie, die Größe zu ändern.

    
Pfaeff 16.12.2015 15:35
quelle

Tags und Links