Я пытаюсь создать простую модель, основанную на глубоком обучении, для прогнозирования 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
_________________________________________________________________
Оценка на случайном наборе тестов
Глубокое обучение в этом примере не подходит для предсказания простой нелинейной функции. Но хорошо предсказывает значения в пространстве выборки обучающих данных.