예제 #1
0
        public MainWindow()
        {
            zaznaczonePola = new int[25];

            for (int i = 0; i < 25; i++)
            {
                zaznaczonePola[i] = 0;
            }

            nauczyciel = new SPLA(zaznaczonePola);
            p          = new Perceptron[10];

            for (int i = 0; i < 10; i++)
            {
                p[i] = new Perceptron();
                p[i].LosujWagi();
            }


            nauczyciel.nauczPerceptrony(p, stalaUczenia);

            InitializeComponent();

            defaultColor = button.Background;
        }
예제 #2
0
        void nauczPerceptron(Perceptron p, int numerPerceptronu, double mi)
        {
            bool pass = false;

            if (zapisaneDane.Count == 0)
            {
                pass = true;
            }

            p.LosujWagi();

            while (!pass)
            {
                //losujWagiPerceptornow(p);
                pass = true;
                foreach (int[] linia in zapisaneDane)
                {
                    int[] wczytana = new int[25];
                    for (int k = 0; k < 25; k++) // Tu zapisuje to tablicy liczbę z wczytanej lini z pliku
                    {
                        wczytana[k] = linia[k];
                    }

                    int val  = (linia[25] == numerPerceptronu) ? 1 : -1;
                    int blad = val - p.sprawdz(wczytana);

                    if (blad != 0)
                    {
                        pass = false;
                        p.poprawWagi(wczytana, mi, blad);
                    }
                }
            }
        }