Začněte nyníZačněte zdarma

Jednovrstvé neuronové sítě

Abys získal/a jistotu při práci s neuronovými sítěmi, je dobré začít s jednoduchou aproximací funkce.

Natrénuješ neuronovou síť, která aproximuje zobrazení mezi vstupem x a výstupem y. Obě hodnoty jsou propojeny funkcí odmocniny, tedy \(y = \sqrt{x}\).

Vstupní vektor x je připravený. Nejprve vypočítáš odmocninu z x pomocí Numpy funkce sqrt(), čímž získáš výstupní řadu y. Pak vytvoříš jednoduchou neuronovou síť a natrénuješ ji na řadě x.

Po trénování vykreslíš řadu y i výstup neuronové sítě, abys viděl/a, jak přesně síť funkci odmocniny aproximuje.

Objekty Sequential a Dense z knihovny Keras jsou v pracovním prostředí k dispozici.

Toto cvičení je součástí kurzu

Kvantitativní řízení rizik v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř výstupní tréninkové hodnoty pomocí Numpy funkce sqrt().
  • Vytvoř neuronovou síť s jednou skrytou vrstvou o 16 neuronech, jednou vstupní hodnotou a jednou výstupní hodnotou.
  • Zkompiluj neuronovou síť a natrénuj ji na tréninkových hodnotách po dobu 100 epoch.
  • Vykresli tréninkové hodnoty (modrou barvou) v porovnání s hodnotami predikovanými neuronovou sítí.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód