• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Perceptron prosty

VPS Starter Arubacloud
0 głosów
136 wizyt
pytanie zadane 9 listopada 2019 w Inne języki przez tralnia Nowicjusz (150 p.)
Zadania:
 Wygenerować zbiór danych uczących 2-wymiarowy, w którym będą dwie klasy (klasy są liniowo separowane) i graficznie pokazać wygenerowany zbiór, rozróżniając przynależność elementów zbioru do poszczególnych klas.
 Utworzyć perceptron prosty.
 Przeprowadzić uczenie neuronu i po nauczeniu, wyrysować linię decyzyjną.
 Przeprowadzić symulację nauczonego neuronu.
 Graficznie pokazać, do której klasy przynależy element x.

// Przykład generowania danych wzorcowych 2-wymiarowych
n = 50 //liczba wzorcw
K1 = 15*rand(2,n)+5 // klasa I
K2 = 15*rand(2,n)+25 // klasa II
P = [K1,K2] // połączenie wzorców w jeden zbiór
plot(K1(1,:), K1(2,:),'rx', K2(1,:), K2(2,:),'bo') //rysunek

 

Jak ten kod ma wygląć w SCILAB ?
komentarz 9 listopada 2019 przez reaktywny Nałogowiec (40,650 p.)

Szukasz rozwiązania zadania, którego nie zrobi się w kilka minut... To jest bardziej mini projekt, czyli zlecenie płatne w mojej ocenie. Widziałem na OLX osoby, które wykonują takie rzeczy, ale to jest 500+ zł :)

Jak szukasz pomocy, pokaż kod który już zrobiłeś i powiedz w którym punkcie masz problemy, wątpliwości, etc.

komentarz 9 listopada 2019 przez tralnia Nowicjusz (150 p.)
n = 50  //liczba wzorcw  
K1 = 15*rand(2,n)+5 // klasa I
K2 = 15*rand(2,n)+25 // klasa II 
p = [K1,K2] // połączenie wzorców w jeden zbiór 
plot(K1(1,:), K1(2,:),'rx', K2(1,:), K2(2,:),'bo') //rysunek 

for i = 1:n
    W(1,i) = rand()
    W(2,i) = rand()
    W(3,i) = rand()
end

K3 = -1
f = 1
a = 0.2
w_zadana = 1
D1 = 0*rand(2,n)
D2 = 0*rand(2,n) + 1
d = [D1, D2]

while(f)
    pob = 0
    for i = 1:n
        pob = pob + p(1,i)*W(1,i) + p(2,i)*W(2,i) + K3*W(3,i)  
    end
    
    disp(pob)

    if pob > 0 then
            f = 1
            for i = 1:n
                if (d(1,i) - f) <> 0
                    W(1,i) = W(1,i) + a * (d(1,i) - f) * p(1,i)
                end
                if (d(2,i) - f) <> 0
                    W(2,i) = W(2,i) + a * (d(2,i) - f) * p(2,i)
                end
                if (w_zadana - f) <>  0
                    W(3,i) = W(3,i) + a * (w_zadana - f) * K3
                end
            end
    else
            f = 0
    end  
end

x=0:0.5:50
y = -(W(1,:)/W(2,:))*x + (W(3,:)/W(2,:))

plot(x,y, p(1,:),p(2,:), 'ro')

     
 

Neuron nie dziala

1 odpowiedź

–1 głos
odpowiedź 9 listopada 2019 przez spamator12 Nałogowiec (28,230 p.)
Nie jest to az tak skomplikowane, co nie zmienia faktu ze raczej wiadomo do czego to jest potrzebne i nie dostaniesz gotowca.
komentarz 9 listopada 2019 przez tralnia Nowicjusz (150 p.)
n = 50  //liczba wzorcw  
K1 = 15*rand(2,n)+5 // klasa I
K2 = 15*rand(2,n)+25 // klasa II 
p = [K1,K2] // połączenie wzorców w jeden zbiór 
plot(K1(1,:), K1(2,:),'rx', K2(1,:), K2(2,:),'bo') //rysunek 

for i = 1:n
    W(1,i) = rand()
    W(2,i) = rand()
    W(3,i) = rand()
end

K3 = -1
f = 1
a = 0.2
w_zadana = 1
D1 = 0*rand(2,n)
D2 = 0*rand(2,n) + 1
d = [D1, D2]

while(f)
    pob = 0
    for i = 1:n
        pob = pob + p(1,i)*W(1,i) + p(2,i)*W(2,i) + K3*W(3,i)  
    end
    
    disp(pob)

    if pob > 0 then
            f = 1
            for i = 1:n
                if (d(1,i) - f) <> 0
                    W(1,i) = W(1,i) + a * (d(1,i) - f) * p(1,i)
                end
                if (d(2,i) - f) <> 0
                    W(2,i) = W(2,i) + a * (d(2,i) - f) * p(2,i)
                end
                if (w_zadana - f) <>  0
                    W(3,i) = W(3,i) + a * (w_zadana - f) * K3
                end
            end
    else
            f = 0
    end  
end

x=0:0.5:50
y = -(W(1,:)/W(2,:))*x + (W(3,:)/W(2,:))

plot(x,y, p(1,:),p(2,:), 'ro')

     
 

Neuron nie dziala

Podobne pytania

0 głosów
0 odpowiedzi 82 wizyt
0 głosów
1 odpowiedź 226 wizyt
pytanie zadane 27 września 2021 w Algorytmy przez MrReus Nowicjusz (140 p.)

92,455 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...