Choosing the correct type of neural network
I have a supervised learning problem where my algorithm will be 开发者_StackOverflow中文版given a set of training examples for learning whether a shape is a circle of square. I was wondering which type of ANN would be the best. I know that you can choose a perceptron if the data is linearly separable.. Surely I can easily have a hyperplane that divides my squares and circles up? So isn't a perceptron a good enough choice? However, aren't multilayer feed forward networks more commonly used? What is the natural choice and why?
The following image shows the training data given to the system. The NN needs to classify two dimensional data A=[a1,a2] into squares and circles.
Thank you.
The data set you've provided is not linearly separable in the space spanned by a1 and a2, so a perceptron won't do. You need a multi-layer perceptron (MLP). In general, MLPs are used more often because they can do everything a single-layer perceptron can do (look up universal approximation theorem). A radial-basis function will also do the job. Noli hinted to something interesting, but way more complex- a data set becomes linearly separable with high probability if projected onto a very very high dimensional space (Cover's theorem). That is the motivation for using support vector machines.
In summary, there is no natural choice, it's entirely problem specific. Experiment. A lecturer of mine used to say "crossvalidation is your friend"
精彩评论