1
저는 선형 회귀를 수행하기 위해 아주 단순한 2 층 인공 신경망을 만들기 위해 텐서 흐름 라이브러리를 사용하고 있습니다. 제 문제는 결과가 예상보다 멀어진 것 같습니다. 나는 몇 시간 동안 실수를 저 지르려고 노력했지만 희망은 없었다. 나는 텐서 흐름과 신경 네트워크에 익숙하지 않으므로 사소한 실수 일 수 있습니다. 누구든지 내가 뭘 잘못하고 있는지 생각할 수 있을까?회귀 분석을위한 Tensorflow 신경망
from __future__ import print_function
import tensorflow as tf
import numpy as np
# Python optimisation variables
learning_rate = 0.02
data_size=100000
data_length=100
train_input=10* np.random.rand(data_size,data_length);
train_label=train_input.sum(axis=1);
train_label=np.reshape(train_label,(data_size,1));
test_input= np.random.rand(data_size,data_length);
test_label=test_input.sum(axis=1);
test_label=np.reshape(test_label,(data_size,1));
x = tf.placeholder(tf.float32, [data_size, data_length])
y = tf.placeholder(tf.float32, [data_size, 1])
W1 = tf.Variable(tf.random_normal([data_length, 1], stddev=0.03), name='W1')
b1 = tf.Variable(tf.random_normal([data_size, 1]), name='b1')
y_ = tf.add(tf.matmul(x, W1), b1)
cost = tf.reduce_mean(tf.square(y-y_))
optimiser=tf.train.GradientDescentOptimizer(learning_rate=learning_rate)
.minimize(cost)
init_op = tf.global_variables_initializer()
correct_prediction = tf.reduce_mean(tf.square(y-y_))
accuracy = tf.cast(correct_prediction, tf.float32)
with tf.Session() as sess:
sess.run(init_op)
_, c = sess.run([optimiser, cost],
feed_dict={x:train_input , y:train_label})
k=sess.run(b1)
print(k)
print(sess.run(accuracy, feed_dict={x: test_input, y: test_label}))
도움 주셔서 감사합니다.
어떤 데이터를 교육하고 있습니까? RMSE와 RMSE를 간단한 회귀 분석 (아마 scikit-learn의 구현을 사용)과 비교해 보았습니까? 학습 속도를 다양하게 시도 했습니까? 당신은 당신의 데이터에 대해 단 한번의 패스 (신기원)를하고있는 것처럼 보입니다 : 아마도 당신은 여러 신기원을 위해 훈련해야합니까? – valentin