/// <summary> /// Runs this sample /// </summary> public static void Main(string[] args) { // create training set (H and T letter in 3x3 grid) DataSet trainingSet = new DataSet(9); trainingSet.addRow(new DataSetRow(new double[] { 1, 0, 1, 1, 1, 1, 1, 0, 1 })); // H letter trainingSet.addRow(new DataSetRow(new double[] { 1, 1, 1, 0, 1, 0, 0, 1, 0 })); // T letter // create hopfield network Hopfield myHopfield = new Hopfield(9); // learn the training set myHopfield.learn(trainingSet); // test hopfield network Console.WriteLine("Testing network"); // add one more 'incomplete' H pattern for testing - it will be recognized as H trainingSet.addRow(new DataSetRow(new double[] { 1, 0, 0, 1, 0, 1, 1, 0, 1 })); // print network output for the each element from the specified training set. foreach (DataSetRow trainingSetRow in trainingSet.Rows) { myHopfield.Input = trainingSetRow.Input; myHopfield.calculate(); myHopfield.calculate(); double[] networkOutput = myHopfield.Output; Console.Write("Input: " + Arrays.ToString(trainingSetRow.Input)); Console.WriteLine(" Output: " + Arrays.ToString(networkOutput)); } }
public ActionResult TrainMany(InputOutputViewModel vm) { vm.HopfieldOutput = new MatrixViewModel(64); vm.ARTOutput = new MatrixViewModel(64); vm.patterns = patterns; // trenowanie Hopfielda hp = new Hopfield(); hp.TrainByPseudoInverse(patterns); //trenowanie ART art = new ART1(); art.Train(teachingSet); //art.Train(patterns); art2 = new ART(); art2.Train(teachingSet); int[,] randomPatterns = new int[10, 64]; int[] numbers = new int[9]; foreach (int i in numbers) { var rnd = new Random(); numbers[i] = rnd.Next(0, 9); } ViewBag.Message = "Neural networks were trained by patterns."; return(View("Index", vm)); }
public Form1() { InitializeComponent(); PerceptronInputs = new List <Input>(); myDrawing = new MyDrawing(); // Transfer function 0 == binary, 1 == sigmoid _neuralNetwork = new NeuralNetwork.NeuralNetwork(2, 2, 1); _perceptron = new Perceptron(ParseData("AND.txt")); //_perceptron.PerceptronNeuron.TrainUntil(_perceptron.TrainingSet, 0.2); myDrawing.DrawPerceptron(_perceptron, perceptronPictureBox); InitControls(); refreshNetwork(); errorChart.Series.Clear(); //Hopfield _hopfield = new Hopfield(5, 7, 50); _hopImage = new List <double>(); }
/// <summary> /// Creates and returns a new instance of Hopfield network </summary> /// <param name="neuronsCount"> number of neurons in Hopfield network </param> /// <returns> instance of Hopfield network </returns> public static Hopfield createHopfield(int neuronsCount) { Hopfield nnet = new Hopfield(neuronsCount); return(nnet); }