You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by to...@apache.org on 2012/01/23 23:31:38 UTC

svn commit: r1235040 - in /labs/yay/trunk/core/src/main/java/org/apache/yay: ActivationFunction.java SigmoidFunction.java

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: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org