sztuczna inteligencja, uczenie sieci neuronow

0

Muszę wykonać program związany ze sztuczną inteligencją (program który sam się uczy), jednak nie mam pomysłu jak się do tego zabrać. Nie proszę o wykonania programu, zależy mi na objaśnieniu jakie klasy będą potrzebne itp. Program ma bazować na neuronach i nie może bazować na gotowych bibliotekach. Z góry dziękuje za pomoc.

Opis zadania:

Uwaga! Poniższe zadanie ma charakter badawczo-eksperymantalny. Tym samym finalne rezultaty, zarówno te konstruktywne jak i niekonstruktywne, są w pełni wartościowe i podlegają ocenie jeżeli tylko bazują na dobrze wyprowadzonych i udokumentowanych wnioskach.

Wstęp

Rozważmy zbiór wszystkich możliwych macierzy binarnych wymiaru 3x3. Suma elementów dowolnej macierzy z tego zbioru odpowiada pewnej cyfrze systemu dziesiętnego, np. macierz

//załącznik1

reprezentuje w tym modelu zależności cyfrę 4. Oczywiście ten sposób reprezentacji cyfr nie jest jednoznaczny dla każdej cyfry systemu dziesiętnego innej niż 0 oraz 9. Dla przykładu cyfrę 4 można zapisać na 126 sposobów, np. macierze

//załącznik2

oraz

//zalacznik3

także reprezentują cyfrę 4.

Zadanie

Zaprojektuj, zaimplementuj (dowolny język programowania) i wytrenuj sieć neuronową, która dla zadanego zestawu wejściowego czterech macierzy IN={M1,M2,M3,M4} dokona jego klasyfikacji ze względu na to, czy liczba M1,M2,M3,M4 jest numerem Twojego indeksu na uczelni np s11111, s42323 itd (jeżeli Twój numer indeksu składa się z inne liczby cyfr dziesiętnych niż cztery, dostosuj właściwie liczbę macierzy zestawu wejściowego). Jako algorytmu uczenia zaprojektowanej sieci neuronowej zastosuj metodę wstecznej propagacji błędów dla samodzielnie dobranego zbioru trenującego macierzy wymiaru .

Zbadaj kolejno:
efektywność procesu nauki sieci ze względu na wybór typu dostępnych perceptronów oraz wartość współczynnika kroku nauki 0<=n<=1,
efektywność klasyfikacji danych wejściowych w zależności od wartości parametrów sterujących funkcjami aktywacji.
Dla każdego z w/w zadań badawczych wprowadź własne miary efektywności i uzasadnij ich wybór.

Uwaga! Zaproponowana przez Państwa implementacja sieci neuronowej nie może bazować na gotowych bibliotekach generujących tego rodzaju struktury.

0

Ogólnie odradzam do tych rzeczy javę. Lepiej w Matlabie lub c++ (aczkolwiek najpopularniejszy do tego Matlab). Na początku zacznij z nntool(toolbox do sieci neuronowych), żeby w ogóle potem mieć do czego porównywać. A potem w skrypcie zacznij klepać implementację algorytmu, który sobie poszukasz w necie ;)

0

https://github.com/Pharisaeus/Neural tu masz przykładowy symulator sieci neuronowych w pythonie, możesz popatrzeć jak jest zaimplementowany

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