Rețele neuronale cu un singur strat
Pentru a te familiariza cu rețelele neuronale, este util să începi cu o aproximare simplă a unei funcții.
Vei antrena o rețea neuronală să aproximeze o mapare între o intrare, x, și o ieșire, y. Acestea sunt legate prin funcția rădăcină pătrată, adică \(y = \sqrt{x}\).
Vectorul de intrare x îți este pus la dispoziție. Vei calcula mai întâi rădăcina pătrată a lui x folosind funcția sqrt() din Numpy, generând seria de ieșire y. Apoi vei crea o rețea neuronală simplă și vei antrena rețeaua pe seria x.
După antrenare, vei reprezenta grafic atât seria y, cât și ieșirea rețelei neuronale, pentru a vedea cât de bine aproximează rețeaua funcția rădăcină pătrată.
Obiectele Sequential și Dense din biblioteca Keras sunt disponibile în spațiul tău de lucru.
Acest exercițiu face parte din cursul
Managementul Cantitativ al Riscului în Python
Instrucțiuni pentru exercițiu
- Creează valorile de antrenament pentru ieșire folosind funcția
sqrt()din Numpy. - Creează rețeaua neuronală cu un strat ascuns de 16 neuroni, o valoare de intrare și o valoare de ieșire.
- Compilează și antrenează rețeaua neuronală pe valorile de antrenament, timp de 100 de epoci.
- Reprezintă grafic valorile de antrenament (în albastru) față de valorile prezise de rețeaua neuronală.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()