我最近正在研究一些分类问题,其中决策树的性能优于神经网络。我尝试了各种神经网络组合,改变神经元/隐藏层的数量,目的是在测试集上击败决策树分类器的准确性。但是我用神经网络可以达到的最佳精度是 0.42,决策树是 0.50。
我在这里问了一个问题,可能是什么情况,有人指出,与非结构化数据(例如表示图像中的每个像素)相比,神经网络在结构化数据(表格格式的数据)上的工作效果不佳. 在链接到相同答案的评论中,有人指出:
那么你可以看看 kaggle 比赛的获胜者。迄今为止,在包含结构化数据的比赛中,最流行的算法是 xgboost(以及其他类似的算法 lightgbm、catboost 等)。另一方面,神经网络很少在这些比赛中使用,因为它们对这些类型的数据并不那么强大。神经网络近 20 年的消失也证明了这一点,直到深度学习使它们再次相关。在这些年里,树和 SVM 居于首位。
这通常是正确的,但我不知道为什么神经网络不能很好地处理结构化数据?有人可以帮我推理吗?如果您能指出一些解释这一点的论文/帖子,那也很棒。
我的一种感觉是,这可能是因为数据量较少。与其他分类器(如决策树、支持向量机等)相比,神经网络在数据点较少的情况下可能无法很好地泛化。但我对此不太确定。