public void ANN() { //var dbn = new DeepBeliefNetwork(new Accord.Neuro.ActivationFunctions.GaussianFunction(), 1, new int[] { 3, 5, 5, 10, 3 }); var dbn = DeepBeliefNetwork.CreateGaussianBernoulli(50, new int[] { 3, 5, 5, 10, 3 }); var dblNode = new UnsupervisedLearning(new DeepBeliefNetworkLearning(dbn) { Algorithm = (h, v, i) => new ContrastiveDivergenceLearning(h,v) { LearningRate = 0.1, Momentum = 0.5, Decay = 0.001 } }); var cout = new ConsoleOut("ANNOut.txt"); dbn.UpdateVisibleWeights(); dblNode.Process.LinkTo(cout.Output); var data = new double[1000000][]; for (int i = 0; i < 1000000; i++) { var curr = new double[50]; for (int j = 0; j < 50; j++) { curr[j] = Math.Sin((double)j); } data[i] = curr; } dblNode.Process.Post(new MachineLearningData<double[][], double>(data)); System.Threading.Thread.Sleep(1000); }
public void ClusterAlg() { var data = new double[10][]; for (int i = 0; i < 10; i++) { var curr = new double[3]; for (int j = 0; j < 3; j++) { curr[j] = Math.Sin((double)j); } data[i] = curr; } var cout = new ConsoleOut("Temp.txt"); var kNNNode = new KNearestNeighbors(3, data, new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }); kNNNode.Process.LinkTo(cout.Output); kNNNode.Process.Post(new MachineLearningData<double[], int>(new double[] { 0, 1, 2 })); System.Threading.Thread.Sleep(1000); }