# Supervised or unsupervised learning problem

I'm working on a pattern recognition problem. I have been using supervised learning (neural network and svm with one class classification) but I think I'm doing it in a wrong way. For simplifying, the problem I'm going to describe below is just an example.

In order to determine the pattern (called pattern X), I have the following training data (4 features to determine pattern X):

• 0,1,2,3,X
• 1,0,4,7,X
• 0,0,6,5,X
• 1,1,8,9,X

And this is my testing data: 0,1,3,5,X ?

As you can see, the first two numbers only accept binary numbers, the third number only accepts even numbers and the fourth number only accepts odd numbers.

With neural network: I think this problem is not suitable for neural network because I only have true values. And the neural network should be trained by both true and false value. Or should it be other way around ?

With svm one classification: Currently I'm using libsvm library and got accuracy at 0%, I don't know should this be problem from training data or not...

So should I change to unsupervised learning in order to find the pattern in the given training data?

• You need to be much more specific than how to find "the pattern." Frequently people mistakenly assume that giving a toy characterization of their problem it going to make giving an answer easier. In reality the opposite is normally true, the more details you provide about what you're actually trying to accomplish, the easier it is to give a useful answer.
– alto
Mar 11, 2014 at 16:40
• what i'm trying to accomplish is looking for a pattern in my sample data, I believe the data contains pattern in it, but I couldn't find out what it is. Currently I have around 250 features for each data sample. I tried supervised learning so that it can detect the pattern but not really successful.... That's why I'm thinking about unsupervised learning. Mar 12, 2014 at 8:04

If you try supervised learning algorithms, like the One-class SVM, you must have both positive and negative examples (anomalies).

If you only have "positive" examples to train, then supervised learning makes no sense.

After you define what exactly you want to learn from the data you can find more appropriate strategies.

My friend if you want to detect relations between datasets you must certainly use self organizing maps. which are also unsupervised nn.Now i can not tell you how you achieve that but there is a book you can check out

MATLAB Implementations and Applications of the Self-Organizing Map

by Teuvo Kohonen

The Self-Organizing Map (SOM) is a data-analysis method that visualizes similarity relations in a set of data items.

The meaning often given to automated data mining is that the method is able to discover new, unexpected and surprising results. Even in this book I have tried to collect simple experiments, in which something quite unexpected will show up. Consider, for instance, in which we find that the ferromagnetic metals are mapped to a tight cluster; this result was not expected, but the data analysis suggested that the nonmagnetic properties of the metals must have a very strong correlation with the magnetic ones!

PLease if this is usefull for you mark my answer even it is not a full solition. I need points and i have only few ...

I don't really understand neural turing machines, but I think they can learn specific algorithms and input output like tasks. Perhaps that is something to look into. Feel free to down-vote if I'm wrong.

• You need to boost your answer, as it currently looks more like a comment. Aug 29, 2016 at 21:46
• I can't comment because I don't have 50 rep as that was what I tried first. So I posted in the hope that this would help OP. I really don't know much about Neural Turing Machines other than the headlines and was hoping OP could find this as a useful jumping off place.
– www3
Aug 31, 2016 at 13:10