Machine learning 使用Keras自动编码器进行分类
我尝试使用Keras(带有Tensorflow后端)制作一个普通的自动编码器,并在损失值收敛到特定值时停止它。在上一个历元之后,我想使用一个sigmoid函数来执行分类。你知道怎么做吗(或者至少给我指出正确的方向) 下面的代码非常类似于at的香草自动编码器。(我使用的是我自己的数据,但请随意使用链接中的MNIST示例来演示您所谈论的内容。)Machine learning 使用Keras自动编码器进行分类,machine-learning,neural-network,deep-learning,keras,autoencoder,Machine Learning,Neural Network,Deep Learning,Keras,Autoencoder,我尝试使用Keras(带有Tensorflow后端)制作一个普通的自动编码器,并在损失值收敛到特定值时停止它。在上一个历元之后,我想使用一个sigmoid函数来执行分类。你知道怎么做吗(或者至少给我指出正确的方向) 下面的代码非常类似于at的香草自动编码器。(我使用的是我自己的数据,但请随意使用链接中的MNIST示例来演示您所谈论的内容。) 我对你的目标有一个解释,但是,你自己似乎没有一个非常清晰的形象。 如果你自己准备必要的数据集,我想你可以澄清一下 一种可能的解决办法如下: NUM_ROWS
我对你的目标有一个解释,但是,你自己似乎没有一个非常清晰的形象。 如果你自己准备必要的数据集,我想你可以澄清一下 一种可能的解决办法如下:
NUM_ROWS = len(x_train)
NUM_COLS = len(x_train[0])
inputs = Input(shape=(NUM_COLS, ))
h = Dense(64, activation='sigmoid')(inputs)
outputs = Dense(NUM_COLS)(h)
model = Model(input=inputs, output=outputs)
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(x_train, x_train,
batch_size=batch,
epochs=epochs,
validation_data=(x_test, y_test))
h.trainable=False
# trying to add last sigmoid layer
outputs = Dense(1)(h)
outputs = Activation('sigmoid')
model2.fit(x_train, y_train,
batch_size=batch,
epochs=epochs,
validation_data=(x_test, y_test))
嗨,你的x_火车是什么?y_火车是什么?这看起来不像AutoEncDoer,请看链接中的示例。如果我能让它工作,我就能让它工作在我的数据上。让我换一种方式问同样的问题:你想用自动编码器实现什么。您可以使用标准分类模型。是否有理由应用两次sigmoid<代码>h=密集(64,激活='sigmoid')(输入)
输出=激活('sigmoid')
NUM_ROWS = len(x_train)
NUM_COLS = len(x_train[0])
inputs = Input(shape=(NUM_COLS, ))
h = Dense(64, activation='sigmoid')(inputs)
outputs = Dense(NUM_COLS)(h)
model = Model(input=inputs, output=outputs)
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(x_train, x_train,
batch_size=batch,
epochs=epochs,
validation_data=(x_test, y_test))
h.trainable=False
# trying to add last sigmoid layer
outputs = Dense(1)(h)
outputs = Activation('sigmoid')
model2.fit(x_train, y_train,
batch_size=batch,
epochs=epochs,
validation_data=(x_test, y_test))