Я использую полностью подключенную нейронную сеть, и я использую нормализованные данные так, чтобы значения каждой отдельной выборки варьировались от 0 до 1. Я использовал 100 нейронов в первом слое и 10 во втором слое и использовал почти 50 проб отсчетов во время обучения , Я хочу классифицировать мои данные на два класса. Но производительность моей сети слишком низкая, почти 49 процентов по данным обучения и тестирования. Я попытался увеличить производительность, изменив значения гиперпараметров. Но это не сработало. Может кто-нибудь сказать мне, что я должен сделать, чтобы получить более высокую производительность?
x = tf.placeholder(tf.float32, [None, nPixels])
W1 = tf.Variable(tf.random_normal([nPixels, nNodes1], stddev=0.01))
b1 = tf.Variable(tf.zeros([nNodes1]))
y1 = tf.nn.relu(tf.matmul(x, W1) + b1)
W2 = tf.Variable(tf.random_normal([nNodes1, nNodes2], stddev=0.01))
b2 = tf.Variable(tf.zeros([nNodes2]))
y2 = tf.nn.relu(tf.matmul(y1, W2) + b2)
W3 = tf.Variable(tf.random_normal([nNodes2, nLabels], stddev=0.01))
b3 = tf.Variable(tf.zeros([nLabels]))
y = tf.nn.softmax(tf.matmul(y2, W3) + b3)
y_ = tf.placeholder(dtype=tf.float32, shape=[None, 2])
cross_entropy = -1*tf.reduce_sum(y_* tf.log(y), axis=1)
loss = tf.reduce_mean(cross_entropy)
optimizer = tf.train.GradientDescentOptimizer(0.01).minimize(loss)
correct_prediction = tf.equal(tf.argmax(y_,axis=1), tf.argmax(y, axis=1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))