черт возьми, да

аюсь создать простую модель глубокого обучения для прогнозированияy=x**2 Но, похоже, глубокое обучение не в состоянии изучить общую функциювыходит за рамки его тренировочного набора.

Интуитивно я могу думать, что нейронная сеть может не соответствовать y = x ** 2, поскольку между входами нет умножения.

Обратите внимание, я не спрашиваю, как создать модель, чтобы соответствоватьx**2, Я уже достиг этого. Я хочу знать ответы на следующие вопросы:

Мой анализ правильный?Если ответ на вопрос «1» - «да», то не слишком ли ограничена область прогнозирования глубокого обучения?Существует ли лучший алгоритм для прогнозирования таких функций, как y = x ** 2, как внутри, так и вне области данных обучения?

Путь к полной записной книжке:https://github.com/krishansubudhi/MyPracticeProjects/blob/master/KerasBasic-nonlinear.ipynb

учебный вклад:

x = np.random.random((10000,1))*1000-500
y = x**2
x_train= x

учебный код

def getSequentialModel():
    model = Sequential()
    model.add(layers.Dense(8, kernel_regularizer=regularizers.l2(0.001), activation='relu', input_shape = (1,)))
    model.add(layers.Dense(1))
    print(model.summary())
    return model

def runmodel(model):
    model.compile(optimizer=optimizers.rmsprop(lr=0.01),loss='mse')
    from keras.callbacks import EarlyStopping
    early_stopping_monitor = EarlyStopping(patience=5)
    h = model.fit(x_train,y,validation_split=0.2,
             epochs= 300,
             batch_size=32,
             verbose=False,
             callbacks=[early_stopping_monitor])


_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_18 (Dense)             (None, 8)                 16        
_________________________________________________________________
dense_19 (Dense)             (None, 1)                 9         
=================================================================
Total params: 25
Trainable params: 25
Non-trainable params: 0
_________________________________________________________________

Оценка на случайном наборе тестов

Глубокое обучение в этом примере не подходит для предсказания простой нелинейной функции. Но хорош в прогнозировании значений в выборочном пространстве обучающих данных.

Ответы на вопрос(1)

Ваш ответ на вопрос