first question here but hopefully you can help. Firstly I'm a web programmer by trade but I've touched a bit of neural networks in my university days.

I've got a project to do with predicting the likely hood of an event occurring. So I thought that this sounded like a job for a neural network. I (after quite a while) got my data together loaded it all into a csv, split into targets and inputs and headed into the MATLAB world of neural networks.

Loaded it all in and despite my attempts the Regression values outputted where always quite low like I think the best way 1.4e-1 (0.14) .I'm presuming this shows quite a poor relationship in neural network world.

I've played with my data chopping bits out filtering inputs that aren't important, trying subsets of the data but still nothing.

I've also modified the hidden neurons - would it be correct to say that the more neurons the more likely it is that the data relationship will be able top learn.

Should I give up and just say that the relationship between my inputs and outputs is unpredictable and hence unlearnable or perhaps there is another input that I don't know that will shed new light but as yet that is equally unknown (or perhaps even not recorded).

Also perhaps there is another method that I can use to learn the relationship that will yield better results?

Thanks for your thoughts/inputs. Richard

edit I tried the liner regression in medcalc. I got these results.

Hi well I had a go with medcalc and it gave me back this

Classification table (cut-off value p=0.5)
Actual group Predicted group Percent correct  
                0      1 
Y = 0         49976    0     100.00% 
Y = 1         61       0     0.00% 
Percent of cases correctly classified 99.88%

They don't look good do they? Richard

Edit 2 I'm a little concerned about divulging more information about the project that I'm working on because it's a little sensitive. It is time based though over several years and over various locations.

Given that you are saying that the relationship between my data and the outcome is based off neural networks and now the liner regression output is really weak - then that tells me that there is either more data out or that the occurrence of the event or output is well a little more random and just down to bad luck.


  • 2
    $\begingroup$ Not at all; there are many ways. Logistic regression seems particularly appropriate since you are trying to model a probability. $\endgroup$ – Emre Dec 4 '14 at 11:46
  • $\begingroup$ Cheers, I've heard the term around but know well nothing more! I'll have a read up see is I can get some more information. Would you be able to give me a good program to aid me in this learning method - see if it's possible. I like the probability bit that you said it includes because that sounds like it's really what I need. $\endgroup$ – Richard Housham Dec 4 '14 at 12:32
  • $\begingroup$ Had a go and just entered the results but they don't look very promising. $\endgroup$ – Richard Housham Dec 4 '14 at 13:30

Trying to start working towards an answer...

Richard, welcome to CV. As it is, we'll need much more information in order to put together sensible recommendataions. And you'll need to read up basics about statistical modeling and pattern recognition, in order to communicate with us using vocabulary all sides here understand.

Is a neural network the only way to learn input/output relation?

No. Transforming inputs to outputs is something a large number of methods does. Supervised models do so modeling the output as dependent variable. Among them are both regression and classification models.

@Emre already pointed you towards logistic regression as one type of model for describing probablities of events. This is actually somewhere at the boundary between classification and regression - it is a regression technique as continuous probabilities are modeled, but the probabilities can be meant for class membership, which is a classification setting.

(There's an interesting link between neural networks and logistic regression: logistic regression models can be fit by a neural network with logistic sigmoid and no hidden neurons)

Please note that

  • regression (in some fields aka calibration) and classification serve fairly different purposes: regression is for continuous output whereas classification deals with assigning cases to pre-specified groups as output.

  • linear regression is not the same as logistic regression.

  • According to the confusion table in your question your data set is extremely imbalanced: almost all cases belong to class 0. This is a much harder situation to model than fairly balanced data.

  • I suspect this may be a case for one-class classification which is meant for finding out-ouf-specification cases. Again, that is a fairly specialized task.

  • One hugely important rule with statistical modeling/pattern recognition is that the method you employ should be chosen according to the type of problem and data you have. Thus, we need more information about what you actually try to achieve and what your data is.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.