Author: tommaso
Date: Tue May 29 10:30:45 2012
New Revision: 1343651

URL: http://svn.apache.org/viewvc?rev=1343651&view=rev
Log:
adding OR and NOT tests

Modified:
    
labs/yay/trunk/core/src/test/java/org/apache/yay/NeuralNetworkFactoryTest.java

Modified: 
labs/yay/trunk/core/src/test/java/org/apache/yay/NeuralNetworkFactoryTest.java
URL: 
http://svn.apache.org/viewvc/labs/yay/trunk/core/src/test/java/org/apache/yay/NeuralNetworkFactoryTest.java?rev=1343651&r1=1343650&r2=1343651&view=diff
==============================================================================
--- 
labs/yay/trunk/core/src/test/java/org/apache/yay/NeuralNetworkFactoryTest.java 
(original)
+++ 
labs/yay/trunk/core/src/test/java/org/apache/yay/NeuralNetworkFactoryTest.java 
Tue May 29 10:30:45 2012
@@ -45,21 +45,44 @@ public class NeuralNetworkFactoryTest {
     assertEquals(1l, Math.round(andNN.predict(createSample(1d, 1d))));
   }
 
-  private Example<Double> createSample(final Double x, final Double y) {
+  @Test
+  public void orNNCreationTest() throws Exception {
+    Set<WeightsMatrix> orWeightsMatrixSet = new HashSet<WeightsMatrix>();
+    double[][] weights = {{-10d, 20d, 20d}};
+    WeightsMatrix singleOrLayerWeights = new WeightsMatrix(weights);
+    orWeightsMatrixSet.add(singleOrLayerWeights);
+    NeuralNetwork<Double,Double> orNN = NeuralNetworkFactory.create(new 
LinkedList<TrainingExample<Double, Double>>(), orWeightsMatrixSet, new 
VoidLearningStrategy(), new FeedForwardStrategy(new SigmoidFunction()));
+    assertEquals(1l, Math.round(orNN.predict(createSample(1d, 0d))));
+    assertEquals(1l, Math.round(orNN.predict(createSample(0d, 1d))));
+    assertEquals(0l, Math.round(orNN.predict(createSample(0d, 0d))));
+    assertEquals(1l, Math.round(orNN.predict(createSample(1d, 1d))));
+  }
+
+  @Test
+  public void notNNCreationTest() throws Exception {
+    Set<WeightsMatrix> notWeightsMatrixSet = new HashSet<WeightsMatrix>();
+    double[][] weights = {{10d, -20d}};
+    WeightsMatrix singleNotLayerWeights = new WeightsMatrix(weights);
+    notWeightsMatrixSet.add(singleNotLayerWeights);
+    NeuralNetwork<Double,Double> orNN = NeuralNetworkFactory.create(new 
LinkedList<TrainingExample<Double, Double>>(), notWeightsMatrixSet, new 
VoidLearningStrategy(), new FeedForwardStrategy(new SigmoidFunction()));
+    assertEquals(1l, Math.round(orNN.predict(createSample(0d))));
+    assertEquals(0l, Math.round(orNN.predict(createSample(1d))));
+  }
+
+  private Example<Double> createSample(final Double... params) {
     return new Example<Double>() {
       @Override
       public Vector<Feature<Double>> getFeatureVector() {
-        Vector<Feature<Double>> features = new Vector<Feature<Double>>();
-        Feature<Double> byasFeature = new Feature<Double>();
-        byasFeature.setValue(1d);
-        features.add(byasFeature);
-        Feature<Double> trueFeature = new Feature<Double>();
-        trueFeature.setValue(x);
-        features.add(trueFeature);
-        Feature<Double> falseFeature = new Feature<Double>();
-        falseFeature.setValue(y);
-        features.add(falseFeature);
-        return features;
+      Vector<Feature<Double>> features = new Vector<Feature<Double>>();
+      Feature<Double> byasFeature = new Feature<Double>();
+      byasFeature.setValue(1d);
+      features.add(byasFeature);
+      for (Double d : params) {
+        Feature<Double> feature = new Feature<Double>();
+        feature.setValue(d);
+        features.add(feature);
+      }
+      return features;
       }
     };
   }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to