既然使用神经网络也可以解决分类问题,那SVM、决策树这些算法还有什么意义呢?-svm,决策树,神经网络,算法
谢谢邀请回答。这个问题可以解释为,为什么神经网络为代表的深度学习无法取代包含SVM,决策树的机器学习算法呢?
这个可以从几个角度上来说,第一,神经网络为代表的深度学习,有很多训练数据的前提下,会有比较好的表现。但经常在实践中有很多场景,比如像医疗并不会有特别海量的数据来提供训练,所以说深度学习的表现在这个领域也不会是特别适合。在这种情况下,只能采用机器学习算法来进行解决。
第2点深度学习是一个黑盒计算,即使学习出来结果,也无法进行解释。但机器学习却正好相反,计算过程和结果能够进行很清晰的解释。
第3点深度学习需要强有力的GPU进行支持,但在很多场景下使用GPU不太可能,所以说在这种场景下积极学习也就成为当仁不让的算法了。
上面说了几点总结一下,在现有的场景下也有深度学习适合的,也有机器学习适合的,所以要根据场景不同选用不同的算法。
要看你的数据量和样本数量,不同的样本数量和特征数据量适合采用的算法都不一样。神经网络等深度学习算法需要训练很大的数据集才能构建比较好的预测模型。很多互联网大公司比较喜欢深度学习算法是他们获得的用户数据都是数以亿计的海量数据,这是比较适合卷积神经网络等深度学习算法。
如果你的样本数量很少,比较合适的是使用SVM,决策树等机器学习算法,如果你的数据集比较大,可以考虑使用卷积神经网络等深度学习算法。
这有一个图,就是说明任何根据样本数量和数据集大小来选择机器学习算法的。
如果觉得对您有帮助,可以多多点赞哦,也可以随手点个关注哦,谢谢!
以一个生活中的例子来类比,可能更容易理解这个问题。既然飞机是一种高效的交通工具,那么为什么还有火车和汽车,甚至是摩托车,自行车呢?我想答案应该很简单,一个是使用成本,另一个是适用环境。其实以神经网络为基础的深度学习与传统的机器学习和交通工具的例子类似。
首先是成本,神经网络,特别是深度学习使用的深层网络,因为需要训练的参数很多,不但需要收集并标记大量的训练数据,还需要高性能的计算设备——GPU,这些都会增加解决方案的成本。而传统的机器学习则不同,它们需要训练的参数相对较少,计算量也相对较低,虽然精度可能会不如深度学习,但是它有成本优势。就如同坐飞机和做火车都能到北京一样,在时间紧张的情况下,就花费较高的费用乘飞机;在时间充足的情况下,就可以选择费用较低的火车。
其次是适用环境,神经网络在数据不足的情况下很难训练出理想的效果,而实际中经常会遇到很难收集到大量数据的情况,此时即使不计成本,也因为无法收集到充足的数据而无法使用。相反,SVM、决策树等传统的机器学习方法对数据的需求量少,在这些情况下就更容易发挥优势。就如同飞机、火车无法到达的地方,可以选择开车或者骑摩托一样。
一个是告诉你机器学习的发展过程,各种解决问题的思想由来,另一个就是其实没有万能学习器,在效果和效率上每种模型可能都有最适应的场合。比如svm它训练慢但好了后预测快啊。而且,还有一点,复杂的学习器是不能直观描述其工作原理的,比如一个神经网络,它可能很多个隐藏层,那你怎么给别人解释它从数据输入到结果输出是怎么做判别的,而一个线性回归,它的每个系数的实际意义就相对好解释了。
既然使用神经网络也可以解决分类问题,那SVM、决策树这些算法还有什么意义呢?(5个回答) – 悟空问答https://m.zjurl.cn/question/6833663790135902471/?app=news_article&app_id=13
转载请注明:徐自远的乱七八糟小站 » 既然使用神经网络也可以解决分类问题,那SVM、决策树这些算法还有什么意义呢?(5个回答) – 悟空问答