Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.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 PyBrain多目标值_Python_Machine Learning_Neural Network_Image Recognition_Pybrain - Fatal编程技术网

Python PyBrain多目标值

Python PyBrain多目标值,python,machine-learning,neural-network,image-recognition,pybrain,Python,Machine Learning,Neural Network,Image Recognition,Pybrain,我试图训练神经网络来预测一幅图像的概率,该图像属于多个类别,我的目标值就是这些概率的集合 输入是简单的重塑28x28灰度图片,像素值为0-255 一个“目标”是这样的:0.738832,0.238159,0.023009,0,0.238159,0,0.238159,0,0,0,0.238159,0,0,0,0.19793,0.80207,0.0668066667,0.663691308,0.008334764,0,0,0,0,0.0494825,0.098965,0,0,0,0,0,0,0,0,

我试图训练神经网络来预测一幅图像的概率,该图像属于多个类别,我的目标值就是这些概率的集合

输入是简单的重塑28x28灰度图片,像素值为0-255

一个“目标”是这样的:
0.738832,0.238159,0.023009,0,0.238159,0,0.238159,0,0,0,0.238159,0,0,0,0.19793,0.80207,0.0668066667,0.663691308,0.008334764,0,0,0,0,0.0494825,0.098965,0,0,0,0,0,0,0,0,0,0,0,0,0

然而,我得到的结果非常糟糕(比简单线性回归糟糕得多),如下所示:
0.011947,0.448668,0,0,0,0.095688,0,0.038233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

如果我使用300或30000张图片,这并不重要。我显然做错了什么,我真的很感激你的建议

代码:


你的问题是你在培训中使用的价值观。图层表示该图层的所有值总和为一。因此,当您设置37个输出维度时,这意味着所有37个维度的总和将为1.0。您的样本目标似乎不符合该分布。

祝您在GalaxyZoo竞赛中好运。谢谢。由于3个第一个值相加为1,我只对它们进行了检查,结果要好得多。但是,我想知道是否有一种方法可以使用单个网络预测所有值。对于pybrain,我不知道如何设置和训练多个softmax输出层。您可以使用不同类型的输出层,而不是以相同的方式进行约束。
# create dataset
DS = SupervisedDataSet(784, 37)
assert(ia.shape[0] == ta.shape[0])
DS.setField('input', ia)
DS.setField('target', ta)

fnn = buildNetwork( DS.indim, 200, 37, outclass=SoftmaxLayer )

trainer = BackpropTrainer( fnn, dataset=DS, momentum=0.1, verbose=True, weightdecay=0.01)
trainer.trainUntilConvergence(maxEpochs=10,verbose=True,validationProportion=0.20)