偏差会降低精度

时间:2019-06-23 12:27:47

标签: python tensorflow neural-network

我正在编写一个应用程序,以使用学校的MNIST数据集识别手写数字,我添加了一个偏见,并想写出它可以提高准确性,但实际上并没有帮助。一个时期后,无偏差的准确度为91.6%,有偏差的为91.53%。经过更多的时代之后,两者之间并没有太大的区别。这让我非常惊讶,有人可以告诉我为什么偏见对我的网络没有帮助吗?也许代码是错误的,但我不这么认为。

import tensorflow as tf
iN = 28*28
hN = 150
oN = 10
lr = 0.2
epochs = 15

wih = tf.Variable(tf.truncated_normal((iN,hN), stddev=0.1))
who = tf.Variable(tf.truncated_normal((hN,oN), stddev=0.1))

bh = tf.Variable(tf.zeros((1,hN)))
bo = tf.Variable(tf.zeros((1,oN)))

x = tf.placeholder(tf.float32, shape=[1,28*28])
y = tf.placeholder(tf.float32, shape=[1,10])

hidden = tf.sigmoid(tf.matmul(x,wih) + bh)
output = tf.sigmoid(tf.matmul(hidden, who) + bo)

loss = tf.reduce_mean(tf.squared_difference(y, output))
train_step = tf.train.GradientDescentOptimizer(lr).minimize(loss)

0 个答案:

没有答案