Sieć neuronowa, problem XOR

0

Zacznę od tego, że w temacie SSN jestem nowy. Ale do rzeczy, przerobiłem sieć składającą się z jednego perceptronu, która potrafi podzielić obszar na dwa ciągłe obszary, na taką która dzieli obszar na 3 ciągłe obszary (czyli rozwiązuje problem XOR). I mam pytanie co do całej struktury, żeby to wykonać musiałem dodać jeden zestaw wag, czyli:

Teraz mogę mówić, że jest to sieć typu perceptron z dwoma neuronami ?
Czy liczba neuronów to to samo co liczba warstw ?
Wagi to składowa neuronu czy perceptronu ?

0

"Perceptron – najprostsza sieć neuronowa, składająca się z jednego bądź wielu niezależnych neuronów McCullocha-Pittsa, implementująca algorytm uczenia nadzorowanego klasyfikatorów binarnych. "

Poniżej jeden neuron Mccullocha-Pittsa:
title
Taki rysunek to tylko jakaś tam wizualizacja, nie ma czegoś takiego że wagi są w neuronie albo nie są w neuronie, bo takie coś jak neuron w ogóle nie istnieje
, to tylko sposób przedstawiania funkcji matematycznych na rysunku ( to tak btw). Najpierw masz funkcję liniową, tak jak w modelu regresji liniowej czy liceum tzn. y=w1x1+w2x2+w3x3+........wnxn gdzie n to liczba zmiennych w Twoim modelu, a potem ta liniowa funkcja jest przepuszczana przez funkcje aktywacji. W przypadku perceptrona to jest funkcja, która zwraca 1 jeśli y>0 i 0 jeśli y<0. Jakbyś zamienił tą funkcje aktywacji na funkcje sigmoid albo tanh, to wtedy już by nie był perceptron.

Pojedyńczy neuron składa się z funkcji sumacji ( liniowej :y=w1x1+w2x2+w3x3+........), która jest oznaczona na poniższym rysunku znakiem sumy i z funkcji aktywacji f(y) ( Mcculloch - Pitts, sigmoid, tanh itp.). Wagi to jest to co znajduje się na dendrytach wchodządzych do neurona.
title

Poniżej sieć z dwom warstwami ukrytymi (czyli łącznie 4 warstwy), która jest perceptronem ponieważ wszystkie neurony w warstwach ukrytych to neurony Mccullocha -Pittsa. W artykule w sumie to jest dość dokładnie wytłumaczone.

title

0

Okej, o tym po co są wagi, czym są funkcję itd pojęcie jako takie miałem. Nie wiedziałem natomiast co jest czego elementem. Zapytam może w ten sposób, czy taki pseudo-schemat sieci jest poprawny:

Klasa Perceptron {
    
    Lista neuronów;
    
    Konstruktor dla Perceptronu(nowy Neuron){
        Dodaj do listy neuronów(nowy Neuron);        
    }
}

Klasa Neuron{
    double wagi[];   
    //+konstruktory, funkcje uczenia itd
}
0

Jeśli masz wątpliwości co do nazwy perceptron, neuron to ja napiszę ci bardzo prosto:

Sama nazwa z j. angielskiego "Multilayer perceptron" - Perceptron wielowarstwowy. A zatem i wiele neuronów się tam znajdzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1