两者是不同的应用场景。传统的机器学习比如SVM和树算法,要求数据是结构化数据,比如离散或者连续的好几个特征,特征通常都是数值类型,并且具有一定统计意义。要求数据的量也很小,著名的IRIS数据集就150条数据,波士顿房价数据集就506条数据神经网络这样的算法现在构成越来越深的网络,要求数据是非结构化数据,比如图片、语音、文字,其中的统计意义隐藏的非常深。由于网络参数通常很多,Inception系列大约都有两千万个参数,也要求数据量非常的大,一般来说小于十万的数据集基本没法用。这也意味着对于小规模的数据集,如果不是用微调这样的技巧,网络将会和数据集发生过拟合而失去泛化能力当然,如果你真的要用神经网络代替的话,也不是不行。从数学意义上可以分析的我们知道决策树划开的都是垂直或水平的线,形如:
从sklearn里抄来的而对于全连接神经网络, 在去掉b的情况下,wx这个矩阵相乘是把特征x所在的空间进行线性变换,+b是对原点进行偏移,激活函数 引入非线性部分,空间直觉上来看就是扭曲了空间。综上可以发现DT这样的算法对数据的线性是有很高的要求的,这也是为什么传统机器学习之前总要进行繁杂的特征工程。说道特征工程,深度网络可以将一些非结构数据转化为结构化数据,从而极大地减轻了特征工程师的工作量,再在此基础上做解释性更好的工作。也是一个比较好的思路神经网络可以在数学形式上复刻决策树,但需要加上较强的约束,比如完全去掉激活函数就去掉了非线性的部分