Tek katmanlı sinir ağları
Sinir ağlarını kullanmaya alışmak için işe bir fonksiyonun basit bir yaklaştırması ile başlamak faydalı olur.
Bir girdiyi x ve bir çıktıyı y ile eşleyen bir sinir ağını eğiteceksin. Aralarındaki ilişki karekök fonksiyonu ile veriliyor, yani \(y = \sqrt{x}\).
Girdi vektörü x sana verildi. Önce Numpy'ın sqrt() fonksiyonunu kullanarak x'in karekökünü hesaplayıp y çıktı serisini oluşturacaksın. Sonra basit bir sinir ağı kurup bu ağı x serisi üzerinde eğiteceksin.
Eğitimden sonra, ağın karekök fonksiyonunu ne kadar iyi yaklaştırdığını görmek için hem y serisini hem de sinir ağının çıktısını çizeceksin.
Keras kütüphanesinden Sequential ve Dense nesneleri de çalışma alanında mevcut.
Bu egzersiz, kursun bir parçasıdır
Python ile Nicel Risk Yönetimi
Egzersiz talimatları
- Numpy'ın
sqrt()fonksiyonunu kullanarak çıktı eğitim değerlerini oluştur. - Bir gizli katmanda 16 nöron, bir giriş ve bir çıkış değeri olan sinir ağını oluştur.
- Sinir ağını eğitim değerleri üzerinde 100 epoch boyunca derle ve eğit (compile ve fit).
- Eğitim değerlerini (mavi) sinir ağının tahmin ettiği değerlerle karşılaştırarak çiz.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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()