gpt4 book ai didi

python - 如何从 Theano 堆叠自动编码器中获取预测向量

转载 作者:行者123 更新时间:2023-11-28 17:40:46 25 4
gpt4 key购买 nike

我正在尝试修改 Stacked Autoencoder 以从 Theano 进行分类 deep learning tutorial ,第 8 章。我正在处理的自动编码器的代码可用 here .

我的数据集由 4 个数组组成:test_set_x、test_set_y、valid_set_x、valid_set_y。名称是不言自明的。

这是在验证集上检查经过训练的自动编码器的方式:

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]”。将此结果与 valid_set_y 向量进行比较给出了大约 12% 的正确性,甚至不到 87%。

我不明白我做错了什么。

如果您曾经使用过 theano 自动编码器和/或提到的教程,请帮助我。

谢谢。

最佳答案

valid_score 输出是验证集上的错误 率。 87% 的验证分数意味着您仅对大约 12% 的验证示例进行了正确分类。这个结果似乎与“全 4”预测规则一致。

关于python - 如何从 Theano 堆叠自动编码器中获取预测向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24697064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com