【问题标题】:Can I do regression with deep learning?我可以用深度学习做回归吗?
【发布时间】:2017-01-08 17:49:58
【问题描述】:

我是 ML 的新手,我有一个数据集:

地点:

X = {X_1, X_2, X_3, X_4, X_5, X_6, X_7};
Y = Y;

我正在尝试使用 深度学习找到 XY 之间的可能关系,例如 Y = M(X) 。据我所知,这是一个回归任务,因为我的目标Y的数据类型是真实的。

我尝试了一些回归算法,例如 LMS 和逐步回归,但这些算法都没有给我带来有希望的结果。所以我正在转向深度神经网络解决方案,所以:

  • ANN 可以做这个回归任务吗?
  • 如何设计网络,尤其是层的类型、激活函数等?
  • 我可以参考一些现有的 NN 架构吗?

感谢任何帮助。

【问题讨论】:

  • 这个问题太宽泛了(问题太多;其中大部分问题无法用现有知识明确回答)。您似乎也缺乏 ML 方面的背景。也许您应该先检查一些 ML 课程,然后再检查基于 NN 的方法。一些评论: ANN 可以这样做:当然; cybenko-theorem 告诉我们这是可能的。其他解决方案:还有大量其他基于 ML 的方法。 Nearest-Neighbors,所有基于决策树(RandomForest,GradientBoosting),Kernel-SVM,所有这些方法都是非线性的。你没有提到你到底想达到什么目标。
  • 感谢您指出有关我的问题的这些问题。而且,我想做的是使用基于 NN 的方法来实现我在问题中提到的目标。而且不知道选择什么样的NN,如何组织NN结构?
  • 创建好的神经网络是一门艺术(有些人有很好的直觉和支持创建好的模型的一些理论)。但这并不像我上面提到的其他方法那样被很好地理解。如果你真的想坚持使用神经网络:首先尝试一个简单的MLP 与一个隐藏层,你可以尝试一些隐藏层的大小并使用激活函数。当然也可以添加更多的隐藏层。但请记住,一般来说,基于 NN 的方法需要大量数据。还有学习率的调整。

标签: neural-network deep-learning regression non-linear-regression


【解决方案1】:

我没有机器学习部分的解决方案,但我有一个可能可行的解决方案(因为您要求任何其他解决方案)。

我会说使用机器学习可能很困难,因为您不仅需要找到关系(假设存在关系),还需要找到正确类型的模型(是线性的、二次的、指数的,正弦等),然后您需要找到这些模型的参数。

例如,在 R 编程语言中,很容易设置多元线性回归。这是用于查找线性回归的 R 代码草图。

data = load("data.Rdata") # or load a table or something
regression = lm(Y ~ X1 + X2 + X3 + X4 + X5 + X6 + x7, data = data)
print(summary(regression))

编辑:您可能会在这里得到更好的答案:https://datascience.stackexchange.com/

【讨论】:

  • 感谢您的帮助。实际上我已经尝试了一些解决方案,例如回归,但结果不是我想要的,甚至没有接近。另外,我尝试了 R 中的 neuralnet 包,但我认为它与 NN 的方式相当简单。
猜你喜欢
  • 2019-08-12
  • 1970-01-01
  • 2023-01-03
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
  • 2015-04-21
  • 2019-07-10
  • 1970-01-01
相关资源
最近更新 更多