我仍然是keras的初学者,并且一直在研究它。 我当前的目标是使模型学习分布。为此,我选择了numpy beta分布函数。 我的目的是使模型学习beta分布,并确定其中是否包含值。
因此我制作了一个具有5000个beta / rect值的csv,模型应该从中学习。
但是当模型正在学习时,它绝对没有变化。看来我对问题的处理方式不正确,或者无法通过这种方式解决。
我尝试过更改模型,但这似乎不起作用。
data_size = 5000
X = np.zeros((data_size, 2))
Y = np.zeros((data_size, 1))
for i in range(np.size(X, 0)):
X[i][0] = np.random.beta(2, 2)
X[i][1] = np.random.random()
Y = X[i][0]
np.savetxt('\values.csv', X, delimiter=',')
dataset = np.loadtxt('\values.csv', delimiter=',')
X_train = dataset[:, 0:2]
Y_train = dataset[:, 1]
model = Sequential()
model.add(Dense(32, input_dim=2, activation='tanh'))
model.add(Dense(16, activation='tanh'))
model.add(Dense(1, activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X_train, Y_train, epochs=500, batch_size=50, verbose=1, validation_split=0.2)
答案 0 :(得分:0)
我已改为GAN。 当生成器学习重现时,鉴别器将输入分配为inpu。
像奇迹一样运作,只需要几个纪元即可收敛。