I'm trying to use a neural net for classification and I am getting stumped on how to use it for noisy data. My problem seems simple; I have 1000's of experiments that have features and these features either hit a threshold or don't. I know if the experiments are success' or not, but since the data is noisy I can have two inputs map to different outputs, e.g.,
[1,1,0,0,0,1] -> 1
[1,1,0,0,0,1] -> 0
What I don't understand is how to use neural nets when I have thousands of runs to classify. Most of the examples online deal with XOR functions where there is a 1-1 mapping between input and output like here. How can I use neural nets to classify these inputs where the maps are not 1-1?
If I wanted to use the code in the link how can I do it? The weights would correspond to the same input, no? For example, how would I construct a neural net that could be written as this:
nn = NeuralNetwork([6,2,1])
X = np.array([[1,1,0,0,0,1],
[1,1,0,0,0,1],
[1,1,0,0,0,1],
[1,1,0,0,0,1],
[1,1,0,0,0,1],
...])
y = np.array([1, 0, 0, 1, 0,...])
nn.fit(X, y)
for e in X:
print(e,nn.predict(e))
where the ...
means more data and of course, I have other inputs and outputs, [1,1,1,1,1,1] -> 1
, etc.