Python 偏见会降低准确性
我正在为学校编写一个应用程序,用MNIST数据集识别手写数字,我添加了一个偏差,并想写下它提高了准确性,但实际上并没有帮助。一个历元后无偏差的准确率为91.6%,有偏差的准确率为91.53%。在经历了更多的时代之后,差别不大。这让我很惊讶,有人能告诉我为什么这种偏见对我的人际网络没有帮助吗?也许代码错了,但我不这么认为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
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的样本量几乎不重要。尝试从随机初始化开始运行它更多次,并运行更多的时间段。