Ejemplo n.º 1
0
        private static void ZrobRegresje()
        {
            DaneRegresja doNauki = new DaneRegresja();

            doNauki.Wczytaj(sciezkaRegresjaTreningowe);

            BasicNetwork siec        = UtworzSiecDoRegresji();
            IMLDataSet   dataTrening = UczSiec(siec, doNauki);

            // testuje siec na danych treningowych
            for (int i = 0; i < dataTrening.Count; i++)
            {
                IMLData wynik = siec.Compute(dataTrening[i].Input);
                doNauki.otrzymaneY.Add(wynik[0]);
            }

            doNauki.EksportujDoPliku(sciezkaRegresjaTreningoweWyniki);

            // testuje siec na danych testowych
            DaneRegresja doTestow = new DaneRegresja();

            doTestow.Wczytaj(sciezkaRegresjaTestowe);
            IMLDataSet dataTest = new BasicMLDataSet(doTestow.wejscioweX.ToArray(), doTestow.oczekiwaneY.ToArray());

            for (int i = 0; i < dataTest.Count; i++)
            {
                IMLData wynik = siec.Compute(dataTest[i].Input);
                doTestow.otrzymaneY.Add(wynik[0]);
            }
            doTestow.EksportujDoPliku(sciezkaRegresjaTestoweWyniki);
        }
Ejemplo n.º 2
0
        static IMLDataSet UczSiec(BasicNetwork siec, DaneRegresja doNauki, double wspolczynnikNauki = 0.003, double bezwladnosc = 0.01)
        {
            IMLDataSet    dataSet       = new BasicMLDataSet(doNauki.wejscioweX.ToArray(), doNauki.oczekiwaneY.ToArray());
            List <double> bledyTreningu = new List <double>();
            IMLTrain      train         = new Backpropagation(siec, dataSet, wspolczynnikNauki, bezwladnosc);

            int iter    = 1;
            int maxIter = 5000;

            do
            {
                train.Iteration();
                Console.WriteLine("Iteracja #{0} Blad {1:0.0000}", iter, train.Error);
                bledyTreningu.Add(train.Error);
                iter++;
            } while (train.Error >= 0.001 && iter < maxIter);

            EksportujBledyTreningu(sciezkaRegresjaBledyTreningu, bledyTreningu);
            train.FinishTraining();
            return(dataSet);
        }