[Hai Users, Can anyone explain me the function of training error log as in the picture below. Kindly need your helps. Thank You.
selfuser 0 Newbie Poster
**Hai Users, Can anyone explain me the function of training error log as in the picture below. Kindly need your helps. Thank You.
**
arunkumars 14 Junior Poster
shepri, your question doesnot seem to be understandable, please be more clear on your requirements, thanks, and also show what have you done.
selfuser 0 Newbie Poster
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;
}
thines01 401 Postaholic Team Colleague Featured Poster
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.
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.