如何确定要为keras Dense层构造函数使用哪些参数?

时间:2019-07-08 12:32:11

标签: python machine-learning keras

我(显然)是新来的,并尝试使用this作为指导,使用角膜进行多目标回归,但是我遇到了麻烦。我遇到的一件事是如何在model.add(Dense(input_dim=4, output_dim=500))行中初始化Dense层。我认为input_dim=4是由于XX_train数组具有4列,但是不确定。我也不清楚为什么使用output_dim=500。 500的价值从何而来?它是任意的吗?

我看了keras文档here,它使用了input_shape参数,但是我不确定应该为units和{{1 }}参数。显然,input_shape仅需要为第一层传递,但是对于所有后续层,input_shape参数是否应该始终具有相同的值(在链接中所示的示例中为32)?该文档将单位定义为:“单位:正整数,输出空间的维数”,但我必须承认我不确定这是什么意思。这是否意味着如果我要预测8个要素的值(y_train,y_test),units

This指出我只需要将units=8传递到第一层,但没有说明如何确定该形状。

我要做什么:我有11列和数千行数据。我正在尝试使用这些列中的3个作为特征来预测其他8个(已标记)。我可能缺少明显的东西,但是有人可以指出正确的方向吗?据我所知,多目标回归甚至可能不是解决之道。

感谢您的帮助。我为我明显的不幸而致歉。请让我知道是否需要提供更多信息。

1 个答案:

答案 0 :(得分:1)

  

model.add(密集(input_dim = 4,output_dim = 500))。我认为input_dim = 4   是由于XX_train数组具有4列,但不确定

是的,这是正确的。 input_dim为4,因为XX_train有4列。

  

500的值从哪里来?它是任意的吗?

这是凭经验发现的。

  

这是否意味着如果我要预测8个要素的值   (y_train,y_test),单位= 8?

是的,这是正确的。

  

我要做什么:我有11列和数千行   数据。我正在尝试使用其中三列作为预测的特征   其他8个(已标记)。我可能缺少明显的东西,   但是有人可以指出我正确的方向吗?

代码段,只是一个起点。

from keras.layers import Dense, Activation
from keras.models import Sequential

model = Sequential()
model.add(Dense(32, activation='relu', input_dim=3))
model.add(Dense(64, activation='relu')) # add more layers as necessary
model.add(Dense(8))
model.summary()  # use summary() to verify model architecture