gpt4 book ai didi

python - 如何在机器学习中训练连续输出(回归)

转载 作者:行者123 更新时间:2023-11-30 08:50:03 29 4
gpt4 key购买 nike

我想训练回归模型(不是分类),其输出是连续数字。

假设我有输入变量 X,其范围在 -70 到 70 之间。我有输出变量 Y,其范围在 -5 到 5 之间。X 有 39 个特征,Y 有 16 个特征,每个特征都有 50,000 个示例。然后我想用Python中的深度信念网络(DBN)来训练它们。

我使用了 theano 主页中的脚本,该脚本用 MNIST 数据(分类)描述了 DBN。 http://deeplearning.net/tutorial/DBN.html

您能否告诉我为了应用我上面解释的回归问题,我必须更改哪些具体行?

例如我必须改变...

  1. sigmoid 函数到 tanh 函数。 :我听说 tanh 激活函数在回归中比 sigmoid 效果更好。对吗?
  2. 我必须使用最小二乘误差,而不是使用负对数似然......?
  3. 通过 zscore 对输入和输出数据进行标准化?

如果您有解决此问题的任何想法,请告诉我...大多数机器学习示例都是基于 MNIST 手部数字分类。如果您向我推荐一些不错的博客或主页,我会很高兴,我可以在其中获得与回归相关的有用信息。

提前谢谢您。

最佳答案

@hyungwon yang: 

我还没有看过 python 代码,但我认为以下内容会很有用:

sigmoid 函数转 tanh 函数:没有必要,许多出版物使用 sigmoid 进行非线性回归。坦率地说,选择是根据您拥有的数据类型做出的。我在许多非线性模型中使用 sigmoid,它对我很有用。

最小二乘误差:您可以通过内置的 Matlab 函数回归来执行此操作,而不是将其与如此多的参数混淆。

标准化:您可以进行最小-最大标准化(请参阅 Charu Agarwal 的数据挖掘),我在 Matlab 中的实现如下:

%inputData: Is your N samples * of first feature, you have to iteratively do %this process for each and every feature.
function normOut = NormaliseAnyData (inputData)
denominator = (max(inputData) - min (inputData));
numerator = (inputData - min(inputData));
normOut = numerator/denominator;
end

希望有帮助。如果您还有其他问题,请告诉我。

关于python - 如何在机器学习中训练连续输出(回归),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33721611/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com