Is it possible to pass in an array into a neural network perceptron?

Viewed 1609

I am trying to set up a neural network for identify Elliott Waves and I was wondering if it is possible to pass in an array of arrays into a perceptron? My plan is to pass in an array of size 4 ([Open, Close, High, Low]) into each perceptron. If so, how would the weighted average calculation work and how can I go about this using the Python Keras library? Thanks!

1 Answers

This is a pretty standard Fully Connected Neural Network to build. I assume that you have a classification problem:

from keras.layers import Input, Dense
from keras.models import Model

# I assume that x is the array containing the training data
# the shape of x should be (num_samples, 4)
# The array containing the test data is named y and is 
# one-hot encoded with a shape of (num_samples, num_classes)
# num_samples is the number of samples in your training set
# num_classes is the number of classes you have
# e.g. is a binary classification problem num_classes=2

# First, we'll define the architecture of the network
inp = Input(shape=(4,)) # you have 4 features
hidden = Dense(10, activation='sigmoid')(inp)  # 10 neurons in your hidden layer
out = Dense(num_classes, activation='softmax')(hidden)  

# Create the model
model = Model(inputs=[inp], outputs=[out])

# Compile the model and define the loss function and optimizer
model.compile(loss='categorical_crossentropy', optimizer='adam', 
              metrics=['accuracy'])
# feel free to change these to suit your needs

# Train the model
model.fit(x, y, epochs=10, batch_size=512)
# train the model for 10 epochs with a batch size of 512
Related