예제 #1
0
        void CreatePopulation(int count)
        {
            List <uint> Configurate = new List <uint>
            {
                2,
                2,
                1
            };

            Nr      = new List <NeuralIndividual>();
            inputs  = new List <List <double> >();
            outputs = new List <List <double> >();
            for (int i = 0; i < count; i++)
            {
                inputs.Clear();
                outputs.Clear();
                var tmpNr = new ANeuralNetwork(Configurate, ActivationType.PositiveSygmoid, 1);
                tmpNr.LoadData("..\\..\\..\\..\\PerceptronData.txt", inputs, outputs);
                tmpNr.RandomInit();
                //var tmpError = tmpNr.BackPropTraining(inputs, outputs, 1, 0.0001, 1, false);//Обучение сети метдом оьбратного распространения ошибки
                tmpNr.IsTrained = true;
                var tm = CheckAccuracy(tmpNr);
                NeuralIndividual tmpNi = new NeuralIndividual(tmpNr, tm);
                Nr.Add(tmpNi);
            }
        }
예제 #2
0
        static void BackPropagation()
        {
            List <uint> Configurate = new List <uint>(); //Создаем конфигурацию сети, состоящую из трех слоев

            Configurate.Add(2);                          //1-ой входной слой  сети с двумя нейронами
            //2-ой слой сети с двумя нейронами
            Configurate.Add(5);
            Configurate.Add(3);
            Configurate.Add(1);//4-й выходнрой слой сети с одним нейроном
            ANeuralNetwork        NR      = new ANeuralNetwork(Configurate, ANeuralNetwork.ActivationType.PositiveSygmoid, 1);
            List <List <double> > inputs  = new List <List <double> >();
            List <List <double> > outputs = new List <List <double> >();        //создаем пустые вектора под  входные и выходные данные

            NR.LoadData("..\\..\\..\\..\\PerceptronData.txt", inputs, outputs); // выгружаем данные из файла
            // инцилизируем веса сети случайным образом
            NR.BackPropTraining(inputs, outputs, 3000000, 0.01, 1, true);       //Обучение сети метдом оьбратного распространения ошибки
            Console.WriteLine(NR.GetType());                                    //в каждые 100 итераций выводит данные в строку
            NR.Save("..\\..\\..\\..\\PerceptronSavedData.txt");                 //сохраняем в файл
        }