svm解决兵王问题_如果深度学习是未来,那么SVM等浅层学习方法还有用吗?

ada1116fcb58750c80b0e46efbe19a10.png

现实世界中,不仅仅是分类准确率的问题,还有许多其他问题,如训练时间,计算资源,模型大小等。

深度学习炒作带有一定误导性,因为人们更倾向于认为深度学习是机器学习的全部和最终目标。深度学习正在解决一些重要的问题,并且由于计算性能提升,深度学习方法重新成为人们关注的焦点,人们正试图用它来解决所有的问题,这让深度学习获得了很多关注。但这并不意味着其他ML算法已经失宠了。

下面就对比下SVM和神经网络:

通过查看SVM的相关文章,自2016年以来原始SVM论文被引用超过5000次。当然,其中一些引用只是使用SVM作为baseline来证明新算法比SVM更好,但如果仔细查看列表,就会发现在各个领域,包括医学、基因组学神、经科学、植物学等,都有SVM的扩展或使用,所以SVM仍然相当受欢迎,至少在未来几年内将继续如此。

各项研究表明,神经网络已被证明比SVM更好,但这里有明显的观察偏差。因为神经网络是趋势,如果有训练的比SVM更好的NN任务就可以发表论文,因而大家会觉得只有神经网络才是厉害的。但是与SVM相比,NN有一些明显的局限性:

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

关键是这些算法有很多相似的地方,但不能说哪个算法能绝对替代另一个算法。通常做法是将浅层模型和深度模型相结合,比如将图模​​型与神经网络相结合,将逻辑回归与神经网络相结合等等,因此需要找到传统算法和神经网络之间的结合。比如新闻推荐中LR+AFM或者LR+GFM网络,再加入gbdt算法得到的特征,不管是效果还是性能都是很好的。DNN线下效果很好,但是线上性能扛不住。

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页