从图像中预测数值

数据挖掘 回归 图像分类
2022-02-19 20:20:10

我有两个问题:

1)我有图像,我必须预测一个连续的值。

我必须遵循什么方法?

例如使用这样的预训练网络?

 last_layer = pretrained net
 x = Flatten()(last_layer)
 x = Dense(512, activation='relu')(x)
 x = Dropout(0.4)(x)
 predictions = Dense(1)(x)

那么,只在最后使用一个带有 1 个节点的密集层?

然后像往常一样进行预测?

2)如果我再次有一个数值要预测,但它是序数。

如果我想在这种情况下进行回归,我可以像前面的例子一样工作吗?

只是为结果分配一些概率?

If result >0 and <=0.5 then classify as 0 
If result >0.5 and <=1 then classify as 1 

等等?

1个回答

看来你做得对。情况1)和2)的区别应该主要是损失函数(也可能是predictions层的激活)。

对于 1) 您将使用 eg mean_squared_error,而对于 2) 您将使用来自 logits 的二进制交叉熵(logits 是您将馈入 sigmoid 或 softmax 层的内容)。在 keras 文档中,似乎 keras 没有提供来自 logits 的交叉熵作为损失,因此您必须将激活设置predictions为 sigmoid 并使用binary_crossentropy. 我想你可以这样做If result >0 and <= 0.5 then classify as 0 ...,根据result >0sigmoid 的定义,你可能会得到照顾,但是你可能想要根据你需要的精度和召回率来优化阈值。