Esempio n. 1
0
        private void button2_Click(object sender,EventArgs e)
        {
            int cycles=int.Parse(textBox1.Text);
            int hiddenNeurons=int.Parse(textBox2.Text);
            double learnRate=double.Parse(textBox3.Text);
            double momentum=double.Parse(textBox4.Text);
            int[] layers = new int[] { 1,hiddenNeurons,1 };
            MultilayerPerceptron ann=new MLPGenerator().Create(layers,1,new Sigmoid(2));
            ann.Reset(-1,1);
            ann.Momentum=momentum;
            ann.LearnFactor=learnRate;
            List<TrainingData> trainingList=new List<TrainingData>();

            for(int i=0;i<Map.Count;i++) {
                double[] input=new double[] { (double)Map[i].Item1/(double)pictureBox1.Width };
                double[] output=new double[] { (double)Map[i].Item2/(double)pictureBox1.Height };
                trainingList.Add(new TrainingData(input,output));
            }

            var res=ann.BP(new BPRequest(trainingList.ToArray(),cycles));
            for(int i=0;i<pictureBox1.Width;i++) {
                int x = i;
                double yd = ann.Pulse(new double[] { (double)i/(double)pictureBox1.Width })[0];
                int y=Convert.ToInt32(yd*pictureBox1.Height);
                Point p= new Point(x,y);
                Graph.DrawRectangle(new Pen(new SolidBrush(Color.Orange)),p.X,p.Y,1,1);
            }
            pictureBox1.Image=Bitmap;
        }
Esempio n. 2
0
 public void BPMinCyclesTest()
 {
     int[] layers = new int[] { 4,5,1 };
     MultilayerPerceptron nn = new MLPGenerator().Create(layers,1,new Sigmoid());
     var result=nn.BP(new BPRequest(TestVec,5000,40));
     Assert.IsTrue(result.Epochs.Length>=40);
 }
Esempio n. 3
0
 public void ExplicitBPTimeTest()
 {
     int[] layers = new int[] { 4,10,1 };
     MultilayerPerceptron nn = new MLPGenerator().Create(layers,1,new Sigmoid());
     var result=nn.BP(new BPRequest(TestVec,1500*10));
     throw new NotImplementedException("BP Total ms="+result.BPTime.TotalMilliseconds.ToString());
 }
Esempio n. 4
0
 public void BPMaxCyclesTest()
 {
     int[] layers = new int[] { 4,5,1 };
     MultilayerPerceptron nn = new MLPGenerator().Create(layers,1,new Sigmoid());
     var result=nn.BP(new BPRequest(TestVec,5));
     Assert.AreEqual(result.Epochs.Length,5);
 }
Esempio n. 5
0
 public void ReasonableBPTimeTest()
 {
     int[] layers = new int[] { 4,5,1 };
     MultilayerPerceptron nn = new MLPGenerator().Create(layers,1,new Sigmoid());
     var result=nn.BP(new BPRequest(TestVec,10000));
     Assert.IsTrue(result.BPTime.TotalMilliseconds<2000);
 }