# Neural network basic concepts

I want to apply neural network as an auto associative memory. So, the desired output is equal to the input. I would apply Hebbs rule to train the network.

I have a pattern in the form

Sample1 =  [1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 ]';


The length d = 30. I have a set of p samples stored in a database, Database, X = {Sample1,Sample2,....,Sample_p}

But I have some conceptual problem in understanding what determines the input to the neural network -- will it be all samples (example) or each sample /example? Would there be $p$ input neurons or $d$ neurons? In general, what is meant by number of inputs and number of outputs?

In general, an example from the sample set is an input. :) This means that since you represent samples with $d$ units of data, your network will have $d+1$ input units: $d$ for the sample you want to process with the net, and one additional for the bias unit (that is always equal to $1$).
• Sorry, I'm not familiar with signal processing. But if it helps, the networks have multiple matrices of unknown parameters that we need to train in order to achieve good performance. We do it by optimizing the function $E = \frac{1}{2}\sum_{i=1}^{p}||out_i-y_i||^2$, where $out$ is the $i$th output vector and $y_i$ is the actual vector that corresponds to the $i$th example in the set. Training essentially includes running the net for each example you want to process (that is, for $p$ times). – Milos Jul 12 '16 at 0:00