Author: tommaso
Date: Mon Jan 23 22:31:37 2012
New Revision: 1235040

URL: http://svn.apache.org/viewvc?rev=1235040&view=rev
Log:
introduced SigmoidFunction<Double> (and parametrized ActivationFunction<T>)

Added:
    labs/yay/trunk/core/src/main/java/org/apache/yay/SigmoidFunction.java
Modified:
    labs/yay/trunk/core/src/main/java/org/apache/yay/ActivationFunction.java

Modified: 
labs/yay/trunk/core/src/main/java/org/apache/yay/ActivationFunction.java
URL: 
http://svn.apache.org/viewvc/labs/yay/trunk/core/src/main/java/org/apache/yay/ActivationFunction.java?rev=1235040&r1=1235039&r2=1235040&view=diff
==============================================================================
--- labs/yay/trunk/core/src/main/java/org/apache/yay/ActivationFunction.java 
(original)
+++ labs/yay/trunk/core/src/main/java/org/apache/yay/ActivationFunction.java 
Mon Jan 23 22:31:37 2012
@@ -23,8 +23,8 @@ import org.apache.yay.bio.Signal;
 /**
  * An activation function receives a signal and generates a new signal AF : S 
-> S
  */
-public interface ActivationFunction {
+public interface ActivationFunction<T> {
 
-  public Signal apply(Signal signal);
+  public Signal<T> apply(Signal<T> signal);
 
 }

Added: labs/yay/trunk/core/src/main/java/org/apache/yay/SigmoidFunction.java
URL: 
http://svn.apache.org/viewvc/labs/yay/trunk/core/src/main/java/org/apache/yay/SigmoidFunction.java?rev=1235040&view=auto
==============================================================================
--- labs/yay/trunk/core/src/main/java/org/apache/yay/SigmoidFunction.java 
(added)
+++ labs/yay/trunk/core/src/main/java/org/apache/yay/SigmoidFunction.java Mon 
Jan 23 22:31:37 2012
@@ -0,0 +1,19 @@
+package org.apache.yay;
+
+import org.apache.yay.bio.Signal;
+
+/**
+ * See <a href="http://en.wikipedia.org/wiki/Sigmoid_function";>here</a>.
+ */
+public class SigmoidFunction implements ActivationFunction<Double> {
+
+  public Signal<Double> apply(final Signal<Double> doubleSignal) {
+    return new Signal<Double>() {
+      @Override
+      public Double getValue() {
+        return 1d / (1d + Math.exp(-1 * doubleSignal.getValue()));
+      }
+    };
+  }
+
+}



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

Reply via email to