MATLAB Answers

0

How to operate on a count dataset (positive whole numbers with a lot of zeros)?

Asked by aditya ramesh on 15 Jun 2016
Latest activity Commented on by Greg Heath
on 1 Aug 2016
So i have some dataset, which is basically a count dataset. I have my own code for the classification using neural networks. Turns out that the data does not have a lot of correlation so accuracies as high as 55% is acceptable.For some reason the output of my neural network turns out to be the same prediction no matter what the input is on the testing set.I think this has something to do with the data, as the weights are not being learnt at all. The code i have written was tried on 5 different UCI classification datasets and it worked perfectly. Any kind of help is appreciated ,i would not mind sharing the code as well.

  1 Comment

Do you really expect us to solve your problem with the information you have given us so far
Greg?

Sign in to comment.

1 Answer

Answer by Anurag Gupta on 1 Aug 2016

It is my understanding that your neural network is giving same output which is independent of the test data set. You would like to know the probable reason of this problem and some methods which can solve this.
This type of problem can happen when you are not choosing your activation function and cost function appropriately or your data is not normalized. I will recommend to use Sigmoid activation function and cross entropy cost function as this combination eliminates lot of problems. I will suggest to first normalize your data before separating the data in to training, cross validation and test data sets. I am assuming your data set is linearly separable. So, try using 3 layer ANN, start with using less number of hidden layer units first and increase number of hidden units gradually if the error is more. If the data is not linearly separable, try increasing the number of hidden layer.
Refer to the following documentation for more information.
Regards,
Anurag Gupta
MathWorks India

  1 Comment

AG: If your data is linearly separable you do not need hidden layers. In fact you don't even need a neural network.
AR: If your code works on 5 UCI datasets, then, my guess is that the current data set is very unconventional. Therefore I suggest plotting and clustering. You do not mention the dimensionality.
Hope this helps.
Greg

Sign in to comment.