I'm studying machine learning for a final exam and I'm trying to solve an example exam question where you need general knowledge of various machine learning methods. The question goes as follows:
Assume your software already contains a good face detector, but it has to learn how to associate faces with names. To that aim, it can present the user with pictures from the users collection, with faces indicated on them, and ask the user which person this is. Which of the following learning methods are suitable for this task? Below, briefly explain why (not).
- decision trees
- rule learning
- associations rules
- neural networks
- support vector machines
- nearest neighbor methods
- Q-learning
- inductive logic programming
This is my take on the question (ordered from suitable to not suitable):
- neural networks: Very suitable, you could have a node for each pixel.
- nearest neighbor methods: Very suitable, these methods look for similarities between attributes. If it learns a face of someone it will be easy to look to similarities in pics of same person. Or will this be harder because lots of faces are similar?
- decision trees: Suitable, can split data sets quick f.e. a node that checks for eye-color.
- rule learning: Suitable, similar to decision trees.
- q-learning: Not suitable, because this works with states and actions, I don't quite see how this could be usefull for face regognition.
- association rules: Not suitable, doesn't give a prediction but gives dependencies between attributes so not able to label a face.
- inductive logic programming: Not suitable, I don't know how you would translate a picture to logic.
- support vector machines: Not sure about this one, I think not because it separates two classes? Can't explain this one well.
Any thoughts, better explanations and corrections welcome.