我想训练回归模型(不是分类),其输出是连续数字。
假设我有输入变量X,其范围在-70到70之间。 我有输出变量Y,范围在-5到5.X有39个功能,Y有16个功能,每个有50,000个例子。然后我想用python中的深度信任网络(DBN)训练它们。
我在theano主页中使用了脚本,该脚本用MNIST数据(分类)描述了DBN。 http://deeplearning.net/tutorial/DBN.html
你能否告诉我为了应用上面解释的回归问题,我必须更改哪些具体的行?
例如,我必须改变......
如果您有任何想法解决这个问题,请告诉我... 大多数机器学习示例基于MNIST手数分类。如果你向我推荐一些不错的博客或主页,我会很高兴能获得与回归相关的有用信息。
谢谢你提前。
答案 0 :(得分:0)
@hyungwon yang:
我还没有看到python代码,但我认为以下内容很有用:
sigmoid函数与tanh函数:没有必要,许多出版物使用sigmoid进行非线性回归。坦率地说,可以根据您拥有的数据类型进行选择。我使用sigmoid作为许多非线性模型,它对我有用。
最小二乘误差:您可以通过内置的Matlab函数回归执行此操作,而不是将其与如此多的参数混淆。
Normalisations:你可以做一个min-max规范化(参考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
希望它有所帮助。如果您有其他问题,请与我们联系。