结合多个模型提取的特征集

我使用Sklearn和Caffe从大量训练和测试图像中提取了特征。为了进行特征提取,我使用了Caffe Model Zoo中的3个不同的预训练卷积网络。

使用这3组特征中的任何一组,我都可以训练一个在测试数据上准确率约为80%的SVM。但是,如何最好地利用所有3组特征的优势呢?

我尝试过简单地将3个独立SVM的结果平均(平均每个标签的概率预测),但这并没有比单一模型带来任何改进。

将特征集连接成一个大的集合,然后用它来训练SVM(或其他模型)会有所帮助吗?

请注意,数据集是多类多标签的。谢谢。


回答:

这种组合特征的方法并不好。在机器学习中,我们使用集成技术。集成技术包括:装袋(bagging)、提升(boosting)、堆叠(stacking)和层次(hierarchy)。根据我的经验,我喜欢使用提升或堆叠。提升是一种贪婪的学习策略,它不断改变数据的分布以及用于训练每个基础学习器的特征,使得后续的基础学习器能够专注于难处理的样本。了解一下Viola-Jones Adaboost分类器。如果你有严重的数据不平衡问题,可以了解一下SMOTEBoost算法。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注