проблема точности проверки постоянного обучения - PullRequest
0 голосов
/ 16 июня 2020

У меня есть набор данных из примерно 500 файлов .mat, 300 поездов и 200 тестов, и это действительно небольшие кадрированные изображения, не более 3 КБ каждое. когда я пробую тренироваться на архитектуре ниже со следующими параметрами, я получаю точность теста и потери 69%, а точность проверки за 25 эпох остается около 51%. Я хочу знать, как повысить точность моих тестов и решить проблему с постоянной точностью проверки. примечание: Проблема заключается в проблеме двоичной классификации, и разделение классов находится в соотношении 60:40

weight_decay = 1e-3
model = models.Sequential()
model.add(layers.Conv2D(16, (3, 3), kernel_regularizer=regularizers.l2(weight_decay),padding='same',input_shape=X_train.shape[1:]))
model.add(layers.Activation('relu'))
model.add(layers.Dropout(0.2))
model.add(layers.Conv2D(32, (3, 3),kernel_regularizer=regularizers.l2(weight_decay), padding='same'))
model.add(layers.Activation('relu'))
#model.add(layers.Dropout(0.2))
model.add(layers.Flatten())
#model.add(layers.Dropout(0.4))
model.add(layers.Dense(20, activation='relu'))
model.add(layers.Dropout(0.50))
model.add(layers.Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy', optimizer=optimizers.adam(lr=0.001), metrics=['acc'])
es_callback = callbacks.EarlyStopping(monitor='val_loss', patience=5)



history= model.fit(#train_generator,
                    X_train,Y_train,
                            batch_size= batch_size,
                            #steps_per_epoch=trainSize,
                            epochs=25,
                            validation_data=(X_val,Y_val),#val_generator,
                            #validation_steps=valSize,
                            #callbacks=[LearningRateScheduler(lr_schedule)]
                            callbacks=[es_callback]
                            )
...