Search code examples
machine-learninginputneural-networktraining-data

Input data values in each neuron in a neural network


I want to know how a dataset is fed to a neural network. Suppose I have a weather dataset here. The features of the dataset are outlook, temperature, humidity, windy. The class attribute is play. As per the neural network, each input node of the neural network represents one feature. Something like that,

enter image description here

If the data of the dataset are following

outlook    Temperature   Humidity    windy   play
Sunny       hot          high        false   no
Sunny       hot          high        True    no
overcast    hot          high        false   yes
rainy       mild         high        false   yes
rainy       cool        normal       false   yes

I would like to know what values should replace the ? in the picture? I am confused between two inputs

1st input

enter image description here

2nd input

enter image description here

I think the input should be like the 1st input picture. For me 2nd input picture has no sense. However, somewhere on web, I read that the input array of each neuron should be row-wise input.

Any suggestion would be helpful.


Solution

  • What "row wise" means is that your data

    outlook    Temperature   Humidity    windy   play
    Sunny       hot          high        false   no
    Sunny       hot          high        True    no
    overcast    hot          high        false   yes
    rainy       mild         high        false   yes
    rainy       cool        normal       false   yes
    

    should be fed row by row

    so, you would get on first row

    outlook=Sunny, Temperature=hot, Humidity=high, windy=false, play=no
    

    each of these key=value assignments is a value for one "neuron" (note, that in reality neurons are not really able to process a string, so you will need some form of encoding, e.g. one hot encoding, which will change the effective number of neurons)

    and so on and so forth.

    You don't really "feed dataset in", in practise we do often use batching, where many rows are processed in parallel, but this is just an implementational efficiency trick for heavily optimised vectorised computation, but for pure understanding you should just ignore its existence, as it is an independent thing.