我们如何结合 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?的主要内容,如果未能解决你的问题,请参考以下文章