[Hai Users, Can anyone explain me the function of training error log as in the picture below. Kindly need your helps. Thank You.

Edited 4 Years Ago by selfuser

Attachments 183864.jpg 41.03 KB 183864.jpg 41.03 KB 183864.jpg 41.03 KB

**Hai Users, Can anyone explain me the function of training error log as in the picture below. Kindly need your helps. Thank You.

**

shepri, your question doesnot seem to be understandable, please be more clear on your requirements, thanks, and also show what have you done.

arunkumar thanks for your reply. the training error log contain this codes. I can't understdn this code

private void Train(object sender, EventArgs e)
{
btnTrain.Enabled = false;

        int cycles = 200;
        if (!int.TryParse(txtCycles.Text, out cycles)) { cycles = 200; }
        txtCycles.Text = cycles.ToString();

        int currentCombination = 0;
        int totalCombinations = Alphabet.LetterCount * (Alphabet.LetterCount - 1) / 2;

        for (int i = 0; i < Alphabet.LetterCount; i++)
        {
            for (int j = i + 1; j < Alphabet.LetterCount; j++)
            {
                ActivationLayer inputLayer = new LinearLayer(400);
                ActivationLayer hiddenLayer = new SigmoidLayer(4);
                ActivationLayer outputLayer = new SigmoidLayer(2);
                new BackpropagationConnector(inputLayer, hiddenLayer);
                new BackpropagationConnector(hiddenLayer, outputLayer);
                BackpropagationNetwork network = new BackpropagationNetwork(inputLayer, outputLayer);

                TrainingSet trainingSet = new TrainingSet(400, 2);
                Alphabet ithLetter = Alphabet.GetLetter(i);
                Alphabet jthLetter = Alphabet.GetLetter(j);
                foreach (Letter instance in ithLetter.Instances)
                {
                    trainingSet.Add(new TrainingSample(instance.GetEquivalentVector(20, 20), new double[] { 1d, 0d }));
                }
                foreach (Letter instance in jthLetter.Instances)
                {
                    trainingSet.Add(new TrainingSample(instance.GetEquivalentVector(20, 20), new double[] { 0d, 1d }));
                }

                progressTraining.Value = 100 * currentCombination / totalCombinations;

                Application.DoEvents();

                bool correct = false;

                int currentCycles = 35;
                int count = trainingSet.TrainingSampleCount;

                while (correct == false & currentCycles <= cycles)
                {
                    network.Initialize();
                    network.Learn(trainingSet, currentCycles);
                    correct = true;
                    for (int sampleIndex = 0; sampleIndex < count; sampleIndex++)
                    {
                        double[] op = network.Run(trainingSet[sampleIndex].InputVector);
                        if (((trainingSet[sampleIndex].OutputVector[0] > trainingSet[sampleIndex].OutputVector[1]) && op[0] - op[1] < 0.4) || ((trainingSet[sampleIndex].OutputVector[0] < trainingSet[sampleIndex].OutputVector[1]) && op[1] - op[0] < 0.4))
                        {
                            correct = false;
                            trainingSet.Add(trainingSet[sampleIndex]);
                        }
                    }
                    currentCycles *= 2;
                }

                lstLog.Items.Add(cboAplhabet.Items[i] + " & " + cboAplhabet.Items[j] + " = " + network.MeanSquaredError.ToString("0.0000"));
                lstLog.TopIndex = lstLog.Items.Count - (int)(lstLog.Height / lstLog.ItemHeight);
                try
                {
                    using (Stream stream = File.Open(Application.StartupPath + @"\Networks\" + i.ToString("00") + j.ToString("00") + ".ndn", FileMode.Create))
                    {
                        IFormatter formatter = new BinaryFormatter();
                        formatter.Serialize(stream, network);
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Failed to save trained neural networks", "Critical Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                currentCombination++;
            }
        }
        progressTraining.Value = 0;
        btnTrain.Enabled = false;
    }

It looks as if it is a visible representation of the similarity of the a suspected letter against other letters of the alphabet -- where the higher number represents a greater similarity.

This article has been dead for over six months. Start a new discussion instead.