public void TestRandomizeNeuronOutput() { double[] d = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; BasicNetwork network = EncogUtility.SimpleFeedForward(2, 3, 0, 1, false); NetworkCODEC.ArrayToNetwork(d, network); PruneSelective prune = new PruneSelective(network); prune.RandomizeNeuron(100, 100, 2, 0); Assert.AreEqual("100,100,100,100,0,0,0,0,0,0,0,0,0", network.DumpWeights()); }
public void TestNeuronSignificance() { BasicNetwork network = ObtainNetwork(); PruneSelective prune = new PruneSelective(network); double inputSig = prune.DetermineNeuronSignificance(0, 1); double hiddenSig = prune.DetermineNeuronSignificance(1, 1); double outputSig = prune.DetermineNeuronSignificance(2, 1); Assert.AreEqual(63.0, inputSig, 0.01); Assert.AreEqual(95.0, hiddenSig, 0.01); Assert.AreEqual(26.0, outputSig, 0.01); }
public void TestIncreaseNeuronCountHidden2() { BasicNetwork network = EncogUtility.SimpleFeedForward(5, 6, 0, 2, true); PruneSelective prune = new PruneSelective(network); prune.ChangeNeuronCount(1, 60); BasicMLData input = new BasicMLData(5); BasicNetwork model = EncogUtility.SimpleFeedForward(5, 60, 0, 2, true); CheckWithModel(model.Structure.Flat, network.Structure.Flat); model.Compute(input); network.Compute(input); }
public void TestPruneNeuronHidden() { BasicNetwork network = ObtainNetwork(); PruneSelective prune = new PruneSelective(network); prune.Prune(1, 1); Assert.AreEqual(18, network.EncodedArrayLength()); Assert.AreEqual(2, network.GetLayerNeuronCount(1)); Assert.AreEqual("1,3,4,5,7,8,9,11,12,13,15,16,17,18,19,23,24,25", network.DumpWeights()); BasicNetwork model = EncogUtility.SimpleFeedForward(2, 2, 0, 4, false); CheckWithModel(model.Structure.Flat, network.Structure.Flat); }
public void TestIncreaseNeuronCountHidden() { BasicNetwork network = XOR.CreateTrainedXOR(); Assert.IsTrue(XOR.VerifyXOR(network, 0.10)); PruneSelective prune = new PruneSelective(network); prune.ChangeNeuronCount(1, 5); BasicNetwork model = EncogUtility.SimpleFeedForward(2, 5, 0, 1, false); CheckWithModel(model.Structure.Flat, network.Structure.Flat); Assert.IsTrue(XOR.VerifyXOR(network, 0.10)); }
public void TestPruneNeuronOutput() { BasicNetwork network = ObtainNetwork(); Assert.AreEqual(4, network.OutputCount); PruneSelective prune = new PruneSelective(network); prune.Prune(2, 1); Assert.AreEqual(21, network.EncodedArrayLength()); Assert.AreEqual(3, network.GetLayerNeuronCount(2)); Assert.AreEqual("1,2,3,4,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25", network.DumpWeights()); BasicNetwork model = EncogUtility.SimpleFeedForward(2, 3, 0, 3, false); CheckWithModel(model.Structure.Flat, network.Structure.Flat); Assert.AreEqual(3, network.OutputCount); }
public void TestIncreaseNeuronCountHidden() { BasicNetwork network = XOR.CreateTrainedXOR(); Assert.IsTrue(XOR.VerifyXOR(network, 0.10)); PruneSelective prune = new PruneSelective(network); prune.ChangeNeuronCount(1, 5); BasicNetwork model = EncogUtility.SimpleFeedForward(2, 5, 0, 1, false); CheckWithModel(model.Structure.Flat, network.Structure.Flat); Assert.IsTrue(XOR.VerifyXOR(network, 0.10)); }
public void TestRandomizeNeuronOutput() { double[] d = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; BasicNetwork network = EncogUtility.SimpleFeedForward(2, 3, 0, 1, false); NetworkCODEC.ArrayToNetwork(d, network); PruneSelective prune = new PruneSelective(network); prune.RandomizeNeuron(100, 100, 2, 0); Assert.AreEqual("100,100,100,100,0,0,0,0,0,0,0,0,0", network.DumpWeights()); }
public void TestPruneNeuronOutput() { BasicNetwork network = ObtainNetwork(); Assert.AreEqual(4, network.OutputCount); PruneSelective prune = new PruneSelective(network); prune.Prune(2, 1); Assert.AreEqual(21, network.EncodedArrayLength()); Assert.AreEqual(3, network.GetLayerNeuronCount(2)); Assert.AreEqual("1,2,3,4,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25", network.DumpWeights()); BasicNetwork model = EncogUtility.SimpleFeedForward(2, 3, 0, 3, false); CheckWithModel(model.Structure.Flat, network.Structure.Flat); Assert.AreEqual(3, network.OutputCount); }
public void TestPruneNeuronHidden() { BasicNetwork network = ObtainNetwork(); PruneSelective prune = new PruneSelective(network); prune.Prune(1, 1); Assert.AreEqual(18, network.EncodedArrayLength()); Assert.AreEqual(2, network.GetLayerNeuronCount(1)); Assert.AreEqual("1,3,4,5,7,8,9,11,12,13,15,16,17,18,19,23,24,25", network.DumpWeights()); BasicNetwork model = EncogUtility.SimpleFeedForward(2, 2, 0, 4, false); CheckWithModel(model.Structure.Flat, network.Structure.Flat); }
public void TestNeuronSignificance() { BasicNetwork network = ObtainNetwork(); PruneSelective prune = new PruneSelective(network); double inputSig = prune.DetermineNeuronSignificance(0, 1); double hiddenSig = prune.DetermineNeuronSignificance(1, 1); double outputSig = prune.DetermineNeuronSignificance(2, 1); Assert.AreEqual(63.0, inputSig, 0.01); Assert.AreEqual(95.0, hiddenSig, 0.01); Assert.AreEqual(26.0, outputSig, 0.01); }
public void TestIncreaseNeuronCountHidden2() { BasicNetwork network = EncogUtility.SimpleFeedForward(5, 6, 0, 2, true); PruneSelective prune = new PruneSelective(network); prune.ChangeNeuronCount(1, 60); BasicMLData input = new BasicMLData(5); BasicNetwork model = EncogUtility.SimpleFeedForward(5, 60, 0, 2, true); CheckWithModel(model.Structure.Flat, network.Structure.Flat); model.Compute(input); network.Compute(input); }