Currently I am working on a project where I am creating an AI player for a game. I am using UCT algorithm and I plan to add a prediction of an opponent's move. For that I would like to use Neural Networks, but I have encountered some problems:
There is already some data on which I would like to build a basic neural net for a default player, i.e. a player I haven't seen before. The problem is I would like to update this net so that it adapts for each specific opponent. I have tried searching for an online neural net algorithm, but not very successfully so far. Can you give me some advice how to implement this? How can I update the parameters based on the new data without running the training completely from scratch?
The coding is done in Java and I have tried using Weka to process the data I have. However, the only neural net classifier I found in there is Multilayer Perceptron. I am familiar with a Single-layer perceptron and I know that its output are not probabilities (as opposed to loglinear or naive bayes classifiers). Is the Multilayer Perceptron also not generative? If so, how inaccurate it is to use these "scores" it outputs as probabilities? Should I use a different Neural Net algorithm? If so, is there a library for Java available for that?
Thank you very much.