ich vor kurzem wurde über TensorFlow
lernen, und ich bin versucht, ein Netzwerk mit folgendem Format zusammen zu stellen:Wiederholen Training mit dem gleichen Datensatz
n_inputs = 16
n_hidden = 64*2
n_outputs = 3
x = tf.placeholder(tf.float32, shape=[1,n_inputs])
W = tf.Variable(tf.truncated_normal([n_inputs, n_hidden]))
b = tf.Variable(tf.zeros([n_hidden]))
hidden_layer = tf.nn.relu(tf.matmul(x, W) + b)
W2 = tf.Variable(tf.truncated_normal([n_hidden, n_outputs]))
b2 = tf.Variable(tf.zeros([n_outputs]))
logits = tf.matmul(hidden_layer, W2) + b2
I, nur 1784
Sätze von Trainingsdaten haben, ist es gültig um mein Training mit diesen Daten wiederholt zu wiederholen? Ich würde vermuten, dass dies zu einer Überanpassung der Trainingsdaten führen wird, wenn es zu oft wiederholt wird.
Ich trainiere zur Zeit wie folgt aus:
print "Training"
for i in range(100):
errs = []
for xt, yt in zip(train[:n_dat-50], test[:n_dat-50]):
_, err = sess.run([train_step, cost], feed_dict={x: [xt], y_: [yt]})
errs.append(err)
print "Error: %.5f" % np.mean(errs)
Ich suche auch in mit L2 Regularisierung und Aussteiger, um die Klassifizierung zu verbessern. Alle anderen Tipps zur Verbesserung des Trainings mit geringen Datenmengen wären sehr hilfreich.
Danke, das ist ein guter Vorschlag, es sollte eigentlich möglich sein, einige Daten zu verfälschen – James