Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- # Zdefiniujmy funkcję aktywacji sigmoid
- def sigmoid(x):
- return 1 / (1 + np.exp(-x))
- # Zdefiniujmy naszą sieć neuronową
- class NeuralNetwork:
- def __init__(self):
- # Ustawiamy losowe wagi początkowe
- self.weights = np.random.rand(2, 1)
- def feedforward(self, inputs):
- # Mnożymy wagi przez wejścia
- # i zastosowujemy funkcję aktywacji sigmoid
- return sigmoid(np.dot(inputs, self.weights))
- def train(self, inputs, labels, epochs):
- for epoch in range(epochs):
- # Feedforward dla każdego wejścia
- prediction = self.feedforward(inputs)
- # Obliczenie błędu
- error = labels - prediction
- # Korekta wag
- adjustment = np.dot(inputs.T, error * prediction * (1 - prediction))
- self.weights += adjustment
- # Testowanie naszej sieci neuronowej
- nn = NeuralNetwork()
- # Przykładowe dane
- inputs = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
- labels = np.array([[0], [1], [1], [0]])
- # Trenujemy naszą sieć
- nn.train(inputs, labels, 10000)
- # Testujemy naszą sieć na nowych danych
- new_inputs = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
- predictions = nn.feedforward(new_inputs)
- # Wyświetlamy wyniki
- print(predictions)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement