# --- Test sieci --- print("\nTest końcowy:") for xi, target in zip(X_new, y): output = step(np.dot(w, xi) + b) print(f"Wejście: {xi}, Wyjście: {output}, Oczekiwane: {target}")W powyższym programie wagi początkowe są losowo dobierane. W zależności od ich wartości perceptron uczy się właściwych wag dla bramki XOR przez kilka-kilkanaście epok. Na końcu podaje test końcowy, który wskazuje na zgodność obliczeń perceptrony z wartościami oczekiwanymi, tj.

Wejście: [0 0 0], Wyjście: 0

Wejście: [0 1 0], Wyjście: 1

Wejście: [1 0 0], Wyjście: 1

Wejście: [1 1 1], Wyjście: 0

Trzecie liczby w nawiasach - to wartości podawane jako dodatkowe wejście .

Perceptron jednowarstwowy - budowa Perceptron jednowarstwowy jest zbudowany z neuronów, których wejścia są wspólne - na te wejścia podaje się analizowaną daną. Przy tym:

- ilość wejść perceptronu (równa liczbie wejść każdego neuronu) zależy od danych: jeżeli każda dana wejściowa jest określona za pomocą liczb , to każdy neuron musi mieć wejść - liczba neuronów perceptronu / liczba wyjść: jeśli perceptron ma klasyfikować dane ze względu na 1 cechę, to ma 1 neuron; jeśli ma klasyfikować dane ze względu na 2 cechy, to ma 2 neurony; do analizy cech perceptron ma neuronów;