我正在尝试使用Keras为ANN训练16位二进制输入和16位二进制输出。问题是训练精度仅达到15%。训练像这样的数据类型的最佳方法是什么?
Xtrain Ytrain
1,0,1,0,1,1,1,0,0,0,0,0=1,0,1,0,1,0,1,1,1,1
1,1,1,0,0,0,0,1,1,1,1,1=0,0,0,0,1,1,1,1,1,1
Xtest
1,1,1,1,0,1,0,1,0,1,0,1
X = dataset[:,0:16]
Y = dataset[:,16:32]
x_train,x_test,y_train,y_test = train_test_split(X,Y,test_size = 0.15, random_state = 0)
clf_ann_ad = Sequential()
clf_ann_ad.add(Dense(32, activation = 'relu', input_dim = 16))
clf_ann_ad.add(Dense(16,activation='relu'))
clf_ann_ad.add(Dense(16,activation='sigmoid'))
clf_ann_ad.compile(optimizer = 'adam', loss = 'mean_squared_error', metrics = ['accuracy'])
history = clf_ann_ad.fit(x_train,y_train,batch_size = 100, nb_epoch = 200, validation_split = 0.1)
print(history.history.keys())
答案 0 :(得分:0)
第一个:
我认为您的问题是序列问题
因此,我认为您需要使用具有单向RNN的递归神经网络来获取模式如何编码数字并对其进行转换:
Binaray Classification Using Recurrent
第二点: 您在分类问题中使用了mean_square_error错误函数,该函数不正确,该函数用于告诉您回归线与一组点的接近程度。 所以我将使用二进制交叉熵,该损失函数用于涉及是/否(二进制)决策的问题。
对于您的问题缺少明确,明确的答案,我深表歉意,我无法确定,因为您没有给我们足够的信息