【发布时间】:2018-06-13 17:39:15
【问题描述】:
我正在尝试使用机器学习来预测数据集。这是一个具有 180 个输入特征和 1 个连续值输出的回归问题。我尝试比较深度神经网络、随机森林回归和线性回归。
如我所料,3 层隐藏层深度神经网络的性能优于其他两种方法,均方根误差 (RMSE) 为 0.1。然而,我意外地看到随机森林的表现甚至比线性回归更差(RMSE 0.29 对 0.27)。在我的预期中,随机森林可以发现特征之间更复杂的依赖关系以减少错误。我试图调整随机森林的参数(树数、最大特征、最大深度等)。我也尝试了不同的 K-cross 验证,但性能仍然低于线性回归。
我在网上搜索,一个答案说,如果特征对协变量具有平滑、近乎线性的依赖关系,线性回归可能会表现得更好。我不完全明白这一点,因为如果是这样的话,深度神经网络不应该带来很大的性能提升吗?
我很难给出解释。在什么情况下,随机森林比线性回归差,但深度神经网络的表现要好得多?
【问题讨论】:
-
I also tried different K-cross validation...您不要交叉验证随机森林,因为 Breiman 的算法在构建森林时已经隐式交叉验证。你应该用你实际运行随机森林的方式来更新你的问题,因为我怀疑你可能没有正确使用它。 -
你能在你的随机森林回归器上报告
out of bag错误吗?与交叉验证相比,这可能是访问随机森林性能的更好方法。我认为这也是蒂姆的想法。如果您使用sklearn,则袋外错误已经是 R^2 的度量。
标签: machine-learning deep-learning linear-regression random-forest