org.shapelogic.machinelearning
Class FFNeuralNetworkStream

java.lang.Object
  extended by org.shapelogic.machinelearning.FFNeuralNetworkStream

public class FFNeuralNetworkStream
extends java.lang.Object

FFNeuralNetworkStream a feed forward neural network wrapped in a stream.
Streams involved:

  • ArrayOutputListStream: A list of names of input features that need to be streams
  • FFNeuralNetwork: Creates stream of double[] from the neural network
  • ConfidenceArrayListStream: Creat result stream of String
  • Which of these needs names? None of them.

    It seems like the last stream will have the same output as the overall stream is the overall then really needed? No.

    There should probably be a stack of Streams.
    This could possibly be a LISP list, no there is no advantage to this.
    The whole think should be created lazily, but when it gets created, you can directly pipe one into the next.
    What should trigger the setup?
    As long as the first have a lazy setup we should be fine and it does.
    So the first should be any type of ListStream, while the next have to be ListCalcStream1 or any ListStream with one input.

    Author:
    Sami Badawi

    Field Summary
    static java.lang.String DEFAULT_OUTPUT_NAME
               
    static java.lang.String DEFAULT_RESULT_NAME
               
     
    Constructor Summary
    FFNeuralNetworkStream(FFNeuralNetworkWeights fFNeuralNetworkWeights, RecursiveContext recursiveContext)
               
    FFNeuralNetworkStream(java.util.List<java.lang.String> featureList, java.util.List<java.lang.String> ohList, double[][] weights, RecursiveContext recursiveContext)
               
    FFNeuralNetworkStream(java.util.List<java.lang.String> featureList, java.util.List<java.lang.String> ohList, double[][] weights, java.lang.String[] streamNames, RecursiveContext recursiveContext)
               
    FFNeuralNetworkStream(java.util.List<java.lang.String> featureList, java.util.List<java.lang.String> ohList, double[][] weights, java.lang.String[] streamNames, RecursiveContext recursiveContext, int maxLast)
              FFNeuralNetworkStream is not a normal stream, 3 streams are created here.
    FFNeuralNetworkStream(java.lang.String[] featureList, java.lang.String[] ohList, double[][] weights, RecursiveContext recursiveContext)
               
    FFNeuralNetworkStream(java.lang.String[] featureList, java.lang.String[] ohList, double[][] weights, java.lang.String[] streamNames, RecursiveContext recursiveContext)
               
    FFNeuralNetworkStream(java.lang.String[] featureList, java.lang.String[] ohList, double[][] weights, java.lang.String[] streamNames, RecursiveContext recursiveContext, int maxLast)
               
     
    Method Summary
     ListStream<double[]> getFeatureStream()
               
     ListCalcStream1<double[],double[]> getNeuralNetworkStream()
               
     ListCalcStream1<double[],java.lang.String> getOutputStream()
               
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Field Detail

    DEFAULT_RESULT_NAME

    public static final java.lang.String DEFAULT_RESULT_NAME
    See Also:
    Constant Field Values

    DEFAULT_OUTPUT_NAME

    public static final java.lang.String DEFAULT_OUTPUT_NAME
    See Also:
    Constant Field Values
    Constructor Detail

    FFNeuralNetworkStream

    public FFNeuralNetworkStream(java.util.List<java.lang.String> featureList,
                                 java.util.List<java.lang.String> ohList,
                                 double[][] weights,
                                 java.lang.String[] streamNames,
                                 RecursiveContext recursiveContext,
                                 int maxLast)
    FFNeuralNetworkStream is not a normal stream, 3 streams are created here.

    Parameters:
    featureList - Names of feature input streams
    ohList - Names of output
    weights - Weights of neural network
    streamNames - if this is given then add 3 new streams as named streams to the context
    recursiveContext - RecursiveContext to look for streams
    maxLast - Set fixed length of stream

    FFNeuralNetworkStream

    public FFNeuralNetworkStream(java.util.List<java.lang.String> featureList,
                                 java.util.List<java.lang.String> ohList,
                                 double[][] weights,
                                 java.lang.String[] streamNames,
                                 RecursiveContext recursiveContext)

    FFNeuralNetworkStream

    public FFNeuralNetworkStream(java.util.List<java.lang.String> featureList,
                                 java.util.List<java.lang.String> ohList,
                                 double[][] weights,
                                 RecursiveContext recursiveContext)

    FFNeuralNetworkStream

    public FFNeuralNetworkStream(java.lang.String[] featureList,
                                 java.lang.String[] ohList,
                                 double[][] weights,
                                 java.lang.String[] streamNames,
                                 RecursiveContext recursiveContext,
                                 int maxLast)

    FFNeuralNetworkStream

    public FFNeuralNetworkStream(java.lang.String[] featureList,
                                 java.lang.String[] ohList,
                                 double[][] weights,
                                 java.lang.String[] streamNames,
                                 RecursiveContext recursiveContext)

    FFNeuralNetworkStream

    public FFNeuralNetworkStream(java.lang.String[] featureList,
                                 java.lang.String[] ohList,
                                 double[][] weights,
                                 RecursiveContext recursiveContext)

    FFNeuralNetworkStream

    public FFNeuralNetworkStream(FFNeuralNetworkWeights fFNeuralNetworkWeights,
                                 RecursiveContext recursiveContext)
    Method Detail

    getFeatureStream

    public ListStream<double[]> getFeatureStream()

    getNeuralNetworkStream

    public ListCalcStream1<double[],double[]> getNeuralNetworkStream()

    getOutputStream

    public ListCalcStream1<double[],java.lang.String> getOutputStream()


    Copyright © 2009. All Rights Reserved.