void TeachBtnClick(object sender, EventArgs e) { string sizeStr = teachingSetSizeTextBox.Text; int teachingSetSize = 100; try { teachingSetSize = Convert.ToInt32(sizeStr); if (teachingSetSize <= 0) { throw new FormatException(); } } catch (FormatException) { MessageBox.Show("Teaching set size should be a positive integer", "Wrong Teaching Set Size"); return; } oneLayerNetwork.SetRandomWeights(); IList <NetworkTeachingPair> teachingSet = PatternDictionary.GetInstance().GenerateTeachingSetOfSize(teachingSetSize); oneLayerNetwork.Teach(teachingSet, Commons.TEACHING_RATIO); errorProbabilityTextBox.Text = oneLayerNetwork.CalculateErrorProbability(teachingSet).ToString(); //oneLayerNetwork.TeachContinuously(teachingSet, Commons.TEACHING_RATIO); MessageBox.Show("Taught successfully.", "Neural Network Training Completed"); }
private void LoadSavedPatterns() { ICollection <string> keys = PatternDictionary.GetInstance().Entries.Keys; foreach (string key in keys) { patternListBox.Items.Add(key); } }
void ShowBtnClick(object sender, EventArgs e) { object selectedItem = patternsComboBox.SelectedItem; if (selectedItem != null && selectedItem.ToString().Trim().Length != 0) { string patternName = selectedItem.ToString(); NetworkTeachingPair dictPair = PatternDictionary.GetInstance().GetTeachingPairForPattern(patternName); patternInput.LoadPattern(dictPair.Input); } }
void PatternListBoxSelectedIndexChanged(object sender, EventArgs e) { object selectedItem = patternListBox.SelectedItem; if (selectedItem != null) { string patternName = selectedItem.ToString(); double[] pattern = PatternDictionary.GetInstance().GetTeachingPairForPattern(patternName).Input; patternInputLabelTable.LoadPattern(pattern); patternNameTextBox.Text = patternName; } }
void CorrectBtnClick(object sender, EventArgs e) { object selectedItem = patternsComboBox.SelectedItem; if (selectedItem != null && selectedItem.ToString().Trim().Length != 0) { string patternName = selectedItem.ToString(); NetworkTeachingPair dictPair = PatternDictionary.GetInstance().GetTeachingPairForPattern(patternName); double[] currentPattern = patternInput.GetNetworkInput(); oneLayerNetwork.Teach(new NetworkTeachingPair(currentPattern, dictPair.Output), Commons.TEACHING_RATIO); MessageBox.Show("Taught successfully.", "Correction Completed"); } }
void RecognizeBtnClick(object sender, EventArgs e) { PatternDictionary dict = PatternDictionary.GetInstance(); double[] input = patternInput.GetNetworkInput(); double[] output = oneLayerNetwork.FireSignal(input); string patternName = dict.FindPatternName(output); recognizedByOneLayerTextBox.Text = patternName != null ? patternName : "Not recognized properly"; output = twoLayerNetwork.FireSignal(input); patternName = dict.FindPatternName(output); recognizedByTwoLayerTextBox.Text = patternName != null ? patternName : "Not recognized properly"; }
void PutPatternBtnClick(object sender, EventArgs e) { string patternName = patternNameTextBox.Text; if (patternName == null || patternName.Trim(' ').Length == 0) { MessageBox.Show("Pattern name is empty. Please fill the field.", "Can't add pattern"); } else { double[] input = patternInputLabelTable.GetNetworkInput(); PatternDictionary.GetInstance().PutPattern(patternName, input); if (log.IsDebugEnabled) { log.Debug(input.GetContentsString()); } if (!patternListBox.Items.Contains(patternName)) { patternListBox.Items.Add(patternName); } } patternNameTextBox.Text = ""; patternInputLabelTable.SetColor(Commons.BACK_COLOR); }
void RemovePatternBtnClick(object sender, EventArgs e) { object selectedItem = patternListBox.SelectedItem; if (selectedItem != null) { string patternName = selectedItem.ToString(); DialogResult dialogResult = MessageBox.Show("Are you sure you want to remove the selected pattern?", "Remove Pattern", MessageBoxButtons.YesNoCancel); switch (dialogResult) { case DialogResult.Yes: PatternDictionary.GetInstance().RemovePattern(patternName); patternListBox.Items.Remove(patternName); patternInputLabelTable.Clear(); break; default: return; } } else { MessageBox.Show("Please select pattern to remove first.", "Remove Pattern"); } }
private void FillPatternComboBox() { patternsComboBox.Items.Clear(); patternsComboBox.Items.AddRange(PatternDictionary.GetInstance().Entries.Keys.ToArray()); }