Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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_Theano_Deep Learning - Fatal编程技术网

Python 如何从无堆叠自动编码器获取预测向量

Python 如何从无堆叠自动编码器获取预测向量,python,theano,deep-learning,Python,Theano,Deep Learning,我正试图修改堆叠式自动编码器,用于第8章中的分类。我正在处理的自动编码器的代码是可用的 我的数据集由4个数组组成:测试集、测试集、有效集、有效集。这些名字是自我解释的 这是如何在验证集上检查经过培训的自动编码器: valid_score = the.function([], sda.errors, givens={ sda.x: valid_set_x, sda.y: valid_s

我正试图修改堆叠式自动编码器,用于第8章中的分类。我正在处理的自动编码器的代码是可用的

我的数据集由4个数组组成:测试集、测试集、有效集、有效集。这些名字是自我解释的

这是如何在验证集上检查经过培训的自动编码器:

valid_score = the.function([], sda.errors,
                 givens={
                    sda.x: valid_set_x,
                    sda.y: valid_set_y},
                 name='valid_test')

print valid_score()
这段代码在我的数据集上打印出“0.87”,所以它确实有效

表达得更详细些

valid_score = the.function([], T.mean(T.neq(sda.logLayer.y_pred, sda.y)),
                 givens={
                    sda.x: valid_set_x,
                    sda.y: valid_set_y},
                 name='valid_test')
仍然给出了87%的正确答案

但每当我试图直接得到真实的类预测向量时,我得到了一些非常错误的结果:结果向量的所有元素都等于4(我的类上有一个)

我的尝试如下所示:

predict = the.function([], sda.logLayer.y_pred,
                   givens={sda.x: valid_set_x})
print predict()
这会打印出“[4,4,4,…,4,4]”。将此结果与有效的_集_y向量进行比较,得到大约12%的正确率,甚至不到87%

我不明白我做错了什么

如果您曾经与theano自动编码器和/或上述教程有过交易,请帮助我


谢谢。

有效的\u分数输出是验证集上的错误率。验证分数
87%
意味着您仅成功地对约12%的验证示例进行了正确分类。这个结果似乎符合“全部4”预测规则。

为什么您只使用逻辑层?输入应该首先通过sigmoid层-对吗?最后通过物流层。