Neural Networks: Features
Let's outline the steps that we need to take, to use the Neural
Network as the data analysing tool (I assume that you are already
familiar with the Neural Networks
theory). The Cortex will help you to do these steps faster and
with less frustration, something you may want to keep in mind
while reading.
1. First of all, we need data, anything from stock quotes
to the sound patterns for a speech recognition software. The
only criteria is - the data must be sequential (a table with
numbers in it's cells is a good example).
2.These data need to be fed to the neural network one row
in a time. Let's say, we want to do stock trading. One row of
data is simply not enough! You need a HISTORY, not just a current
OHLC information. Can you predict the tomorrow's stock price based
on today's price? Not unless you have the "historical price"
information for at least couple of prior days.
Therefore, to use a "one row in a time" approach, we need to make
sure that this row contains all the historical data we need, for
example, it can contain the today's data in the column one, the
yesterday's data in a column two, and so on. This kind of file is
called (at least in this tutorial) a lag-file, it can be
automatically generated by the "Cortex" program. As a mater of fact,
it can be either generated by the Cortex, OR by its scripting
language, if you need to have more flexibility (for example, having
Close, you may want to calculate moving average of Close, as well as
couple of indicators that are used in stock trading, and only then
create lags of this - advanced - input.
3. We need to choose a Neural Network configuration -
number of neurons, activation type and so on. The "Cortex" presents
a simple visual interface, that allows to do just that. (Again,
you can use scripting language to do it in automated way. When you
only need one neural network, it does not make a lot of sense,
but sometimes, you need to try many different combinations of
input data, with different networks - automating this task
is a real time saver).
4. We need to teach the Neural Network. To do it, we run it
against part of the data in the "backpropagation" mode, using
another part of the data to test the performance of the net. The
first part of the data will be (again - in this tutorial) called a
learning data set, the second part is called a "testing" data set.
As the "Cortex" is fine-tuning the Neural Network, it is displaying
both values and charts for learning and testing errors.
5. After the Neural Network training is completed, we can
use it on the "real" data. For example, we may teach it on the
stock qoutes for the last year, and then we expect it to predict
the tomorrow's price, based on the price for today, and couple of
days of history.
To do it we need (again) to generate a lag file, and to run the data
rows we want to analyze through the Neural Network. The resulting
file will have the following columns:
Columns for the input. What we present to the Neural Network.
Columns for the output - what we were trying to predict.
And the prediction: the column(s), generated by the Neural Net.
Here is an example: