Обучающий мультиклассовый ввод-вывод в керасе - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь обучить 16-битный двоичный вход и 16-битный двоичный выход для ANN, используя Keras. проблема в том, что точность отслеживания достигает 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())

1 Ответ

0 голосов
/ 18 октября 2019

Первый:

Я думаю, что ваша проблема - это проблема последовательности до последовательности, поэтому я думаю, что вам нужна рекуррентная нейронная сеть с однонаправленным RNN, чтобы получить образец того, как мыкодировать число и преобразовать его:
Классификация Бинарея с использованием Recurrent

Второй пункт: вы используете функцию ошибки mean_square_error в задаче классификации, которая не подходит этой функциииспользуется для определения того, насколько близка линия регрессии к набору точек. поэтому я бы использовал двоичную кросс-энтропию, какую функцию потерь использовали в задачах, связанных с решениями «да / нет» (бинарные).

Я извиняюсь за отсутствие четкого и ясного ответа о вашей проблеме, но не могу определитьне дал нам достаточно информации

...