我们如何结合 ANN+CNN 和结合 CNN+SVM?

Posted

技术标签:

【中文标题】我们如何结合 ANN+CNN 和结合 CNN+SVM?【英文标题】:How could we combine ANN+CNN and combining CNN+SVM? 【发布时间】:2019-10-02 10:57:33 【问题描述】:

我在 UCF-101 数据集上训练了 SVM、CNN 和 ANN,SVM 和 ANN 分别使用 Hue 和 LBP 特征的 CSV 文件,而 CNN 使用 LBP 图像进行分类训练。现在我想结合 SVM 和 CNN和 ANN 和 CNN。有可能这样做吗?如果是,怎么做。

我已经为数据集中的每个视频提取了第一个关键帧,然后计算了它的 LBP 直方图。用它作为图像的特征,将它连同它的标签一起写在 csv 中(我从 101 个可用的类中选择了只有 5 个类的数据) 然后在其上训练 SVM 和 ANN。ANN 是一个简单的网络,在输出端具有 Softmax 激活函数,在每个隐藏层有 2 个隐藏层,每个隐藏层有 8 个节点。不使用 dropout。对于 CNN,我提取了图像的 LBP 特征并将其转换为 image 。这个图像数据是我用来训练 CNN 的。 CNN网络有输入层、卷积层、激活层、全连接层、dropout层(dropout=0.5)和输出层。激活函数为softmax

SVM 在测试中提供 10% 的准确率,而 ANN 在 1000 个 epoch 中提供 35% 的准确率。 CNN 对 10 个 epoch 的测试数据的准确度为 29%

【问题讨论】:

【参考方案1】:

首先,您需要增加隐藏层或隐藏节点,因为您对 CNN、ANN、SVM 的准确性不好。 此外,您不需要总是添加 Dropout 层,尤其是在这种准确性不好的情况下。 Dropout层本来就是为了避免过拟合。

其次,我不知道您的 SVM、CNN、ANN 代码应该是什么样子。不过按照你说的,SVM、CNN、ANN每个代码都有可能有一点点错误。

所以再次检查您的代码。

【讨论】:

通过更好的预处理解决了准确性问题。更改代码以整合模型组合的结果

以上是关于我们如何结合 ANN+CNN 和结合 CNN+SVM?的主要内容,如果未能解决你的问题,请参考以下文章

结合来自不同 CNN 模型的概率

Keras 功能 API:将 CNN 模型与 RNN 结合起来查看图像序列

深度学习篇---CNN和RNN结合与对比,实例讲解

阅读《ANN和CNN异同分析》

将 RNN 和 CNN 与千层面相结合

准确率高,预测效果差--CNN与TensorFlow Python的结合。