Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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
Machine learning 在Keras中,什么代表了训练结果的损失或准确性_Machine Learning_Tensorflow_Keras - Fatal编程技术网

Machine learning 在Keras中,什么代表了训练结果的损失或准确性

Machine learning 在Keras中,什么代表了训练结果的损失或准确性,machine-learning,tensorflow,keras,Machine Learning,Tensorflow,Keras,我有两个班,每个班有3张图片。我在Keras中试过这个代码 trainingDataGenerator = ImageDataGenerator() trainGenerator = trainingDataGenerator.flow_from_directory( trainingDataDir, target_size=(28, 28), bat

我有两个班,每个班有3张图片。我在Keras中试过这个代码

trainingDataGenerator = ImageDataGenerator()

trainGenerator = trainingDataGenerator.flow_from_directory(
                        trainingDataDir,
                        target_size=(28, 28),
                        batch_size = 1,
                        seed=7,
                        class_mode='binary',
                        )

FilterSize = (3,3)
inputShape = (imageWidth, imageHeight,3)

model = Sequential()
model.add (Conv2D(32, FilterSize, input_shape= inputShape))
model.add (Activation('relu'))
model.add ( MaxPooling2D(pool_size=(2,2)))

model.add(Flatten())
model.add(Activation('relu'))
model.add(Dense(1))
model.add(Activation('sigmoid'))

model.compile(loss='binary_crossentropy',
                optimizer = 'rmsprop',
                metrics=['accuracy'])


model.fit_generator(
        trainGenerator,
        steps_per_epoch=3,
        epochs=epochs)
我的输出:

当我训练这个模型时,我得到以下输出:

Using TensorFlow backend.
Found 2 images belonging to 2 classes.
Epoch 1/1
3/3 [==============================] - 0s - loss: 5.3142 - acc: 0.6667 
我的问题:

我想知道它是如何确定损失和准确性的,依据是什么?(即:损失:5.3142-附件:0.6667)。我没有给出任何验证图像来验证模型以发现准确性和损失这是否会造成损失,并且准确性与输入图像本身不符?


简而言之,我们可以这样说:“这个模型在没有验证图像的情况下,准确率为%,损失率为%”?

不是通过与验证数据进行比较,而是通过将样本x的神经网络预测与您在训练集中提供的样本的标签y进行比较,来计算训练的损失和准确度

初始化神经网络并(通常)将所有权重设置为具有一定偏差的随机值。之后,您将培训数据集的功能输入到您的网络中,并让它“猜测”结果,也就是您的标签(如果您像您这样进行监督学习)

然后,您的框架将该猜测与实际标签进行比较,并计算错误,然后通过网络反向传播,从而调整和改进所有权重

这在没有任何验证数据的情况下运行良好

验证数据让模型预测看不见的数据,从而帮助您查看模型的质量(损失、准确性等)。这样,您就得到了所谓的验证损失/准确性,并利用此信息调整超参数


在最后一步中,您使用测试数据来评估培训的最终质量。

您的意思是说1)获取输入x1,2)训练x1,3)用x1预测,4)找到其准确性/损失,如果这些步骤是正确的,那么最终准确性/损失代表所有准确性/损失的平均值不完全正确。1.馈入功能
x
。2.让模型猜测
x
的标签
y
。3.将猜测值与
x
4的实际标签进行比较。计算误差,即GUS和真值之间的差异。5.反向传播错误。6.回到1。Sry,1)首先用给定的x训练模型,然后再次2)按照您提到的步骤执行?是吗?我错过了什么吗?我想你可能会混淆功能和标签。监督学习中的所有数据都有一些特征(通常称为X顺序X_序列)和标签,您希望模型在训练后预测这些特征和标签。例如你的课程(猫、狗等)。当然可以。谢谢你抽出时间。