首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >深度学习模型中的投票集成

深度学习模型中的投票集成
EN

Stack Overflow用户
提问于 2020-11-27 04:34:09
回答 1查看 636关注 0票数 0

我正在研究一种使用RGB-D图像的多模式深度学习分类器。我为每种情况开发了两个独立的模型。对于具有shape (3046,200,200,3)的RGB图像,首先使用CNN进行LSTM;对于具有shape (3046,200,200)的深度图像,采用LSTM。我在试着弄清楚如何才能做投票组合。

我已经做了下面的代码,它找到了投票最多的标签,但似乎不太好用。有没有其他方法可以对模型进行后期融合?

代码语言:javascript
复制
labels = []
loaded_model = keras.models.load_model('Saved/LSTM_RGB/LSTMRGB.h5')
predictsRGB = np.argmax(loaded_model.predict(x_testRGB), axis=1)
labels.append(predictsRGB)

loaded_model = keras.models.load_model('Saved/LSTM_DEPTH/LSTMDEPTH.h5')
predictsDepth = np.argmax(loaded_model.predict(x_testDepth), axis=1)
labels.append(predictsDepth)

print(labels)
# Ensemble with voting
labels = np.array(labels)
labels = np.transpose(labels, (1, 0))
print(labels,labels.shape)
labels = scipy.stats.mode(labels)[0]
labels = np.squeeze(labels)
print(labels)
print(labels.shape)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-27 21:10:43

你有两个分类器,在这种情况下直接投票是没有意义的,因为如何解决关系?

由于您正在对模型的预测进行np.argmax,因此我相信模型会输出概率作为预测。如果你不能引入第三个模型,你可以求出这些概率的平均值,然后使用argmax。

例如:模型1表示类1的概率为0.9,类0的概率为0.1,而模型2表示类1的概率为0.3,类0的概率为0.7。

平均概率是: Class1: 0.6 Class0: 0.4,你会选择class1。在某种程度上,这是有意义的,因为模型1比model2更确定其预测

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65028895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档