深度学习很厉害,但是并不意味着其他的机器学习算法就失去用武之地!
与SVM相比,NN有一些明显的局限性:
- 数据匮乏时效果不好:要训练NN需要大量数据。当数据很少时,NN的效果可能没那么好;
- 巨大的计算资源要求:训练SVM不需要GPU;
- CNN包含空间属性:卷积运算是对一组有序像素或者一系列相邻的文字/音频信号处理。如果将像素/文字/音频信号这类有前后关系的内容打散后将完全改变CNN的输出。也就是说特征的顺序对CNN来说很重要,或者说卷积是“空间”操作,而SVM不受影响;
- 参数优化复杂:NN需要调整的参数很多,而SVM只需要调整2-3个参数;
- 解释性较差:很多时候我们对NN网络内部情况一无所知,特别是在靠近输出层。这让NN网络难以改进,因为我们不太了解究竟出了什么问题,只能不断的尝试。SVM也可能无法完全解释,但它们比NN更易解释。
- 更长设置时间:除非做的工作与ImageNet非常相似,否则就找不到预先训练好的模型。所以即使构建了标准的深度学习框架,也必须编写大量代码来训练和评估合理的NN模型。而使用SVM,往往可以在很短时间内开始训练模型。