最近我参加了我所在城市的一个数据科学会议,有一个关于将神经网络与支持向量机连接起来的讨论。不幸的是,演讲者必须在演讲结束后马上退出,所以我不能问一些问题。
我想知道这怎么可能?他谈到了使用神经网络进行分类,后来,他使用SVM分类器将他的准确率和精度提高了大约10%。
我将Keras用于神经网络,SKlearn用于ML的其余部分。
这是完全可能的,而且实际上很常见。你只需要选择神经网络的某一层的输出,然后用它作为特征向量来训练支持向量机。通常也会对特征向量进行归一化。
(卷积)神经网络学习的特征足够强大,可以推广到不同类型的物体甚至完全不同的图像。例如,请参阅论文CNN的功能现成:一个惊人的基线识别。
关于实现,你只需要训练一个神经网络,然后选择其中一个层(通常是在完全连接层之前的层或第一个完全连接的层),在你的数据集上运行神经网络,存储所有特征向量,然后用不同的库(例如sklearn)训练SVM。