Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 偏见会降低准确性_Python_Tensorflow_Neural Network - Fatal编程技术网

Python 偏见会降低准确性

Python 偏见会降低准确性,python,tensorflow,neural-network,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.Variab

我正在为学校编写一个应用程序,用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)

您的网络是正确的。神经网络的问题是,由于它们的性质,它们使你很难访问哪些有效,哪些无效,因此我认为你的问题没有具体的答案(尽管你总是可以假设…)。我的假设是,偏差项不会给模型增加太多的复杂性,事实上,许多现代架构完全忽略了偏差项。经验法则:在机器学习中,在测试它们之前,你无法确定什么会有帮助,什么不会。数字识别任务通常被建模为多类分类问题,而不是回归问题。我怀疑在这里使用RMSE损失是否合适。有关更多信息,请参阅和。我认为1个历元后1的样本量几乎不重要。尝试从随机初始化开始运行它更多次,并运行更多时间。您的网络是正确的。神经网络的问题是,由于它们的性质,它们使你很难访问哪些有效,哪些无效,因此我认为你的问题没有具体的答案(尽管你总是可以假设…)。我的假设是,偏差项不会给模型增加太多的复杂性,事实上,许多现代架构完全忽略了偏差项。经验法则:在机器学习中,在测试它们之前,你无法确定什么会有帮助,什么不会。数字识别任务通常被建模为多类分类问题,而不是回归问题。我怀疑在这里使用RMSE损失是否合适。有关更多信息,请参阅和。我认为1个历元后1的样本量几乎不重要。尝试从随机初始化开始运行它更多次,并运行更多的时间段。