最近我参加了我所在城市的数据科学聚会,有一个关于神经网络与SVM连接的讨论。不幸的是,主持人不得不在演讲后立即退出,所以我无法提出一些问题。
我想知道这怎么可能?他正在谈论使用神经网络进行分类,后来他使用SVM分类器将准确度和精度提高了大约10%。
我使用Keras进行神经网络,使用SKlearn进行ML的其余部分。
答案 0 :(得分:5)
这是完全可能的,实际上很常见。您只需选择神经网络层的输出,并将其用作特征向量来训练SVM。通常也会对特征向量进行归一化。
(卷积)神经网络学到的特征足够强大,可以推广到不同类型的对象,甚至是完全不同的图像。有关示例,请参阅论文CNN Features off-the-shelf: an Astounding Baseline for Recognition。
关于实施,您只需要训练神经网络,然后选择其中一个层(通常是完全连接的层之前或第一个完全连接的层),在数据集上运行神经网络,存储所有然后使用不同的库(例如sklearn)训练SVM。