Однослойные нейронные сети
Чтобы освоиться с нейронными сетями, полезно начать с простой аппроксимации функции.
Вы обучите нейронную сеть приближённо воспроизводить зависимость между входным значением x и выходным значением y. Эти переменные связаны функцией квадратного корня, то есть \(y = \sqrt{x}\).
Входной вектор x уже задан. Сначала вычислите квадратный корень из x с помощью функции Numpy sqrt(), получив выходной ряд y. Затем создайте простую нейронную сеть и обучите её на ряде x.
После обучения постройте график ряда y и выходных значений нейронной сети, чтобы оценить, насколько точно сеть аппроксимирует функцию квадратного корня.
Объекты Sequential и Dense из библиотеки Keras также доступны в вашем рабочем пространстве.
Это упражнение является частью курса
Количественное управление рисками на Python
Инструкции к упражнению
- Вычислите обучающие выходные значения с помощью функции Numpy
sqrt(). - Создайте нейронную сеть с одним скрытым слоем из 16 нейронов, одним входным значением и одним выходным значением.
- Скомпилируйте нейронную сеть и выполните её подгонку на обучающих значениях в течение 100 эпох.
- Постройте график обучающих значений (синим цветом) в сравнении с предсказанными значениями нейронной сети.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create the training values from the square root function
y = np.____(x)
# Create the neural network
model = Sequential()
model.____(Dense(16, input_dim=1, activation='relu'))
model.____(____(1))
# Train the network
model.____(loss='mean_squared_error', optimizer='rmsprop')
model.____(x, y, epochs=100)
## Plot the resulting approximation and the training values
plt.plot(x, y, x, model.____(x))
plt.show()