НачатьНачать бесплатно

Однослойные нейронные сети

Чтобы освоиться с нейронными сетями, полезно начать с простой аппроксимации функции.

Вы обучите нейронную сеть приближённо воспроизводить зависимость между входным значением 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()
Редактировать и запускать код