ПочатиПочніть безкоштовно

Нейронні мережі з одним шаром

Щоб упевненіше працювати з нейронними мережами, корисно почати з простої апроксимації функції.

Ви натренуєте нейронну мережу наближати відображення між входом 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()
Редагувати та запускати код