Vícenásobné aktualizace vah
Teď provedeme několik aktualizací za sebou, abys výrazně zlepšil/a váhy modelu a mohl/a sledovat, jak se s každou aktualizací zlepšují i předpovědi.
Aby byl kód přehledný, máš k dispozici předem načtenou funkci get_slope(), která přijímá argumenty input_data, target a weights. K dispozici je také funkce get_mse() se stejnými argumenty. Proměnné input_data, target a weights jsou také předem načteny.
Tato síť nemá žádné skryté vrstvy – vstup (se 3 uzly) vede přímo na výstupní uzel. Všimni si, že weights je jednoduché pole.
Předem je načten také matplotlib.pyplot – po dokončení kroků gradientního sestupu se zobrazí graf průběhu chyby.
Toto cvičení je součástí kurzu
Úvod do deep learningu v Pythonu
Pokyny k cvičení
- Pomocí cyklu
foriterativně aktualizuj váhy:- Vypočítej sklon pomocí funkce
get_slope(). - Aktualizuj váhy s použitím rychlosti učení
0.01. - Vypočítej střední kvadratickou chybu (
mse) pro aktualizované váhy pomocí funkceget_mse(). - Přidej
msedomse_hist.
- Vypočítej sklon pomocí funkce
- Klikni na Submit Answer a zobraz
mse_hist. Jaký trend si všimneš?
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
n_updates = 20
mse_hist = []
# Iterate over the number of updates
for i in range(n_updates):
# Calculate the slope: slope
slope = ____(____, ____, ____)
# Update the weights: weights
weights = ____ - ____ * ____
# Calculate mse with new weights: mse
mse = ____(____, ____, ____)
# Append the mse to mse_hist
____
# Plot the mse history
plt.plot(mse_hist)
plt.xlabel('Iterations')
plt.ylabel('Mean Squared Error')
plt.show()