Exemplo n.º 1
0
        private void ButtonViewEmployee_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(selectedEmployeeId))
            {
                MessageBox.Show("Please select employee");
            }
            else
            {
                EducationCollection  selectedEduList   = new EducationCollection();
                ExperienceCollection selectedExpList   = new ExperienceCollection();
                TrainingCollection   selectedTrainList = new TrainingCollection();

                var vEmpItem   = new EmployeeItem();
                var vEduList   = new List <EducationItem>();
                var vExpList   = new List <ExperienceItem>();
                var vTrainList = new List <TrainingItem>();
                vEmpItem   = empCollection.Where(t => t._EMP_NO.Equals(selectedEmployeeId)).FirstOrDefault();
                vEduList   = selectedEduList.RetreiveEmpEducation(vEmpItem._EMP_NO);
                vExpList   = selectedExpList.RetreiveEmpExperience(vEmpItem._EMP_NO);
                vTrainList = selectedTrainList.RetreiveEmpTraining(vEmpItem._EMP_NO);
                ViewEmployeeDetails viewEmp = new ViewEmployeeDetails(vEmpItem, vEduList, vExpList, vTrainList);
                EmployeeManagement.mEmpTransitioner.Items.Add(viewEmp);
                EmployeeManagement.mEmpTransitioner.SelectedIndex = 1;
                GetAllEmployees();
            }
        }
Exemplo n.º 2
0
        public void CanMakeAndAdd()
        {
            TrainingCollection tc = new TrainingCollection();

            tc.Add(new VectorPair(
                       new NetworkVector(1),
                       new NetworkVector(2)
                       ));
            Assert.IsNotNull(tc);
            Assert.AreEqual(1, tc.Count);
        }
Exemplo n.º 3
0
 public void CanRunOnline_WC()
 {
     WeightsMatrix matrix = new WeightsMatrix(new double[, ] {
         { 1, 1 }
     });
     WeightedCombiner   wc = new WeightedCombiner(matrix);
     TrainingCollection trainingVectors = new TrainingCollection
     {
         new VectorPair(
             new NetworkVector(new double[] { 0, 0 }),
             new NetworkVector(new double[] { 1 })
             )
     };
 }
Exemplo n.º 4
0
        public void TrainOnline_WC_CorrectThreePasses()
        {
            WeightsMatrix matrix = new WeightsMatrix(new double[, ] {
                { 1, 1 }
            });
            WeightedCombiner   wc = new WeightedCombiner(matrix);
            TrainingCollection trainingVectors = new TrainingCollection
            {
                new VectorPair(
                    new NetworkVector(new double[] { 0, 0 }),
                    new NetworkVector(new double[] { 1 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 1, 0 }),
                    new NetworkVector(new double[] { 0 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 0, 1 }),
                    new NetworkVector(new double[] { 0 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 1, 1 }),
                    new NetworkVector(new double[] { 1 })
                    )
            };

            Trainer trainer = new Trainer(wc, new SquaredError(), new GradientDescent());

            foreach (TrainingCollection tc in trainingVectors.AsSingletons())
            {
                trainer.Train(tc);
            }
            foreach (TrainingCollection tc in trainingVectors.AsSingletons())
            {
                trainer.Train(tc);
            }
            foreach (TrainingCollection tc in trainingVectors.AsSingletons())
            {
                trainer.Train(tc);
            }

            WeightsMatrix weightsCheck = new WeightsMatrix(new double[, ] {
                { 3, 7 }
            });
            NetworkVector biasesCheck = new NetworkVector(new double[] { -1 });

            Assert.AreEqual(biasesCheck, wc.Biases);
            Assert.AreEqual(weightsCheck, wc.Weights);
        }
Exemplo n.º 5
0
        public void CanRunOnline_LogisticLayer()
        {
            WeightsMatrix matrix = new WeightsMatrix(new double[, ] {
                { 1, 1 }
            });
            Layer layer = Layer.CreateLogisticLayer(matrix);
            TrainingCollection trainingVectors = new TrainingCollection
            {
                new VectorPair(
                    new NetworkVector(new double[] { 0, 0 }),
                    new NetworkVector(new double[] { 1 })
                    )
            };

            Trainer trainer = new Trainer(layer, new SquaredError(), new GradientDescent());

            trainer.Train(trainingVectors);
        }
Exemplo n.º 6
0
        public void TrainOnline_LinearLayer_CorrectOnePass()
        {
            WeightsMatrix matrix = new WeightsMatrix(new double[, ] {
                { 1, 1 }
            });
            Layer layer = Layer.CreateLinearLayer(matrix);
            TrainingCollection trainingVectors = new TrainingCollection
            {
                new VectorPair(
                    new NetworkVector(new double[] { 0, 0 }),
                    new NetworkVector(new double[] { 1 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 1, 0 }),
                    new NetworkVector(new double[] { 0 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 0, 1 }),
                    new NetworkVector(new double[] { 0 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 1, 1 }),
                    new NetworkVector(new double[] { 1 })
                    )
            };

            Trainer trainer = new Trainer(layer, new SquaredError(), new GradientDescent());

            foreach (TrainingCollection tc in trainingVectors.AsSingletons())
            {
                trainer.Train(tc);
            }

            WeightsMatrix weightsCheck = new WeightsMatrix(new double[, ] {
                { 1, 3 }
            });
            NetworkVector biasesCheck = new NetworkVector(new double[] { 1 });

            Assert.AreEqual(biasesCheck, layer.Biases);
            Assert.AreEqual(weightsCheck, layer.Weights);
        }
Exemplo n.º 7
0
        public void CanIterate()
        {
            TrainingCollection tc = new TrainingCollection();

            tc.Add(new VectorPair(
                       new NetworkVector(1),
                       new NetworkVector(2)
                       ));
            tc.Add(new VectorPair(
                       new NetworkVector(1),
                       new NetworkVector(2)
                       ));
            int count = 0;

            foreach (VectorPair pair in tc)
            {
                count++;
            }
            Assert.IsNotNull(tc);
            Assert.AreEqual(count, tc.Count);
        }
Exemplo n.º 8
0
        public void BatchTrainCorrectThreePasses_WC()
        {
            WeightsMatrix matrix = new WeightsMatrix(new double[, ] {
                { 1, 1 }
            });
            WeightedCombiner   wc = new WeightedCombiner(matrix);
            TrainingCollection trainingVectors = new TrainingCollection
            {
                new VectorPair(
                    new NetworkVector(new double[] { 0, 0 }),
                    new NetworkVector(new double[] { 1 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 1, 0 }),
                    new NetworkVector(new double[] { 0 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 0, 1 }),
                    new NetworkVector(new double[] { 0 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 1, 1 }),
                    new NetworkVector(new double[] { 1 })
                    )
            };

            Trainer trainer = new Trainer(wc, new SquaredError(), new GradientDescent());

            trainer.Train(trainingVectors);
            trainer.Train(trainingVectors);
            trainer.Train(trainingVectors);

            WeightsMatrix weightsCheck = new WeightsMatrix(new double[, ] {
                { -37, -37 }
            });
            NetworkVector biasesCheck = new NetworkVector(new double[] { -62 });

            Assert.AreEqual(biasesCheck, wc.Biases);
            Assert.AreEqual(weightsCheck, wc.Weights);
        }
Exemplo n.º 9
0
        public void BatchTrainCorrectOnePass_LinearLayer()
        {
            WeightsMatrix matrix = new WeightsMatrix(new double[, ] {
                { 1, 1 }
            });
            Layer layer = Layer.CreateLinearLayer(matrix);
            TrainingCollection trainingVectors = new TrainingCollection
            {
                new VectorPair(
                    new NetworkVector(new double[] { 0, 0 }),
                    new NetworkVector(new double[] { 1 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 1, 0 }),
                    new NetworkVector(new double[] { 0 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 0, 1 }),
                    new NetworkVector(new double[] { 0 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 1, 1 }),
                    new NetworkVector(new double[] { 1 })
                    )
            };

            Trainer trainer = new Trainer(layer, new SquaredError(), new GradientDescent());

            trainer.Train(trainingVectors);

            WeightsMatrix weightsCheck = new WeightsMatrix(new double[, ] {
                { -1, -1 }
            });
            NetworkVector biasesCheck = new NetworkVector(new double[] { -2 });

            Assert.AreEqual(biasesCheck, layer.Biases);
            Assert.AreEqual(weightsCheck, layer.Weights);
        }
Exemplo n.º 10
0
        public void CanMakeGetAsBatches()
        {
            TrainingCollection tc = new TrainingCollection();

            for (int i = 0; i < 100; i++)
            {
                tc.Add(new VectorPair(
                           new NetworkVector(1),
                           new NetworkVector(2)
                           ));
            }
            Assert.IsNotNull(tc);
            Assert.AreEqual(100, tc.Count);

            int count = 0;

            foreach (TrainingCollection singleton in tc.AsBatches(10))
            {
                Assert.AreEqual(10, singleton.Count);
                count++;
            }
            Assert.AreEqual(10, count);
        }
Exemplo n.º 11
0
        public void TrainBatch_SmallChain_CorrectOnePass()
        {
            int inputs        = 3;
            int inputneurons  = 2;
            int outputneurons = 1;

            double[,] inputWeights  = new double[inputneurons, inputs];
            double[,] outputWeights = new double[outputneurons, inputneurons];

            for (int i = 0; i < inputneurons; i++)
            {
                for (int j = 0; j < inputs; j++)
                {
                    inputWeights[i, j] = 1;
                }
            }

            for (int i = 0; i < outputneurons; i++)
            {
                for (int j = 0; j < inputneurons; j++)
                {
                    outputWeights[i, j] = 1;
                }
            }

            Layer InputLayer  = Layer.CreateLinearLayer(new WeightsMatrix(inputWeights), new NetworkVector(inputneurons));
            Layer OutputLayer = Layer.CreateLinearLayer(new WeightsMatrix(outputWeights), new NetworkVector(outputneurons));

            NetComponentChain network = new NetComponentChain();

            network.AddTrainable(InputLayer);
            network.AddTrainable(OutputLayer);


            TrainingCollection trainingVectors = new TrainingCollection
            {
                new VectorPair(
                    new NetworkVector(new double[] { 0, 0, 0 }),
                    new NetworkVector(new double[] { 1 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 1, 0, 0 }),
                    new NetworkVector(new double[] { 0 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 0, 1, 0 }),
                    new NetworkVector(new double[] { 0 })
                    ),
                new VectorPair(
                    new NetworkVector(new double[] { 1, 1, 0 }),
                    new NetworkVector(new double[] { 1 })
                    )
            };

            Trainer trainer = new Trainer(network, new SquaredError(), new GradientDescent());

            trainer.Train(trainingVectors);

            WeightsMatrix inputWeightsCheck = new WeightsMatrix(new double[, ] {
                { -4, -4, 1 }, { -4, -4, 1 }
            });
            NetworkVector inputBiasesCheck   = new NetworkVector(new double[] { -6, -6 });
            WeightsMatrix outputWeightsCheck = new WeightsMatrix(new double[, ] {
                { -9, -9 }
            });
            NetworkVector outputBiasesCheck = new NetworkVector(new double[] { -6 });

            Assert.AreEqual(inputWeightsCheck, InputLayer.Weights);
            Assert.AreEqual(inputBiasesCheck, InputLayer.Biases);
            Assert.AreEqual(outputWeightsCheck, OutputLayer.Weights);
            Assert.AreEqual(outputBiasesCheck, OutputLayer.Biases);
        }