модель нейронной сети для нахождения отношения признаков к выходу - PullRequest
0 голосов
/ 07 мая 2019

Я пытался создать простую модель нейронной сети, чтобы найти связь между функциями и выходными данными.Например, у меня есть наборы функций {x1, x2 ..., xn} => y.Я ожидаю от нейронной сети, чтобы скорректировать вес и отношения между объектами, чтобы сформировать вывод y.

Для своих тестов я использовал простой набор функций {x1, x2, y} => y.Здесь я ожидал, что моя модель сможет легко найти вес для x1 и x2 как 0 с минимальной тренировкой и легко найти 100% точность.На самом деле мои характерные отношения были бы более сложными.

Однако моя модель не может получить какую-либо разумную точность.Я пробовал около 1000 образцов и 300 эпох.

Я пробовал несколько простых моделей, построенных с использованием Keras, включая 4-Dense слои со 100 скрытыми слоями и модели LSTM.

Мое ожидание здесь разумно.Какова лучшая модель для достижения этой цели?Любая помощь приветствуется.Дайте мне знать, если потребуется более подробная информация.

вот одна простая модель, с которой я тестировал:

        # Init Keras
        self.regressor = Sequential()

        self.regressor.add(Dense(units = 100, init='uniform', activation='relu', input_shape = X_shape))
#         self.regressor.add(Dropout(0.2))

        self.regressor.add(Dense(units = 100, activation='relu'))
#         self.regressor.add(Dropout(0.2))

        self.regressor.add(Dense(units = 100, activation='relu'))
#         self.regressor.add(Dropout(0.2))

        self.regressor.add(Dense(units = 100, activation='relu'))
        self.regressor.add(Dropout(0.2))

        self.regressor.add(Flatten())

        self.regressor.add(Dense(units = 1, activation='sigmoid'))
#         self.regressor.add(Dense(units = 1, activation="tanh"))
#         self.regressor.add(Dense(units = 1, activation="softmax"))


        self.regressor.compile(optimizer = 'adam', loss = 'mean_squared_error', metrics=['accuracy'])
...