import numpy as np
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# 1. Bemeneti és kimeneti adatok előkészítése (Tanítóhalmaz)
# Például egy logikai ÉS (AND) műveletet tanítunk meg a hálózaton.
# A bemenetek (X) párok, a kimenetek (y) pedig a várt eredmények.
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]], dtype=float)
y = np.array([[0], [0], [0], [1]], dtype=float)
# 2. A neurális hálózat felépítése
# A Sequential modell egy rétegek egymásutánjából álló hálózat.
model = Sequential([
# Rejtett réteg: 4 neuron, bemeneti dimenzió: 2, aktivációs függvény: ReLU
Dense(4, input_dim=2, activation='relu'),
# Kimeneti réteg: 1 neuron, aktivációs függvény: Sigmoid (0 és 1 közötti értékhez)
Dense(1, activation='sigmoid')
])
# 3. A modell lefordítása
# Meghatározzuk a veszteségfüggvényt (loss) és az optimalizálót (optimizer)
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
# 4. A modell tanítása
# A hálózat 500 cikluson (epochs) keresztül tanulja a mintákat
print("A modell tanítása folyamatban...")
model.fit(X, y, epochs=500, verbose=0)
# 5. Predikció (Tesztelés)
# Megnézzük, hogy a hálózat jól tanult-e
print("\nPredikciók a tanítás után:")
predictions = model.predict(X)
for i in range(len(X)):
print(f"Bemenet: {X[i]} | Elvárt: {y[i][0]} | Becsült eredmény: {predictions[i][0]:.4f}")
Nincsenek megjegyzések:
Megjegyzés küldése