A selection of well-known AI and machine learning algorithms, implemented in Java. The code is very domain-agnostic, so it can be adapted for many tasks. The goal is to create a lightweight library for quick prototyping and simple production applications. If you really have a lot of data, you should use Apache Mahout.
Many of the ML algorithms were taken from the great bible of Machine Learning - Tom M. Mitchell
To see an example of how to use the library, take a look at the unit tests. One or more applications are included for each one.
<dependency>
<groupId>com.github.bentorfs</groupId>
<artifactId>ai-algorithms</artifactId>
<version>0.2.0</version>
</dependency>
- Agglomerative hierarchical clustering
- Association rules: apriori
- Perceptron training using perceptron rule or stochastic gradient descent
- Multi-layer feedforward networks
- Sigmoid units
- Backpropagation
- Q-learning, using
- Boltzmann action selection
- Є-greedy action selection
- A* search
- Minimax
- Alpha-beta pruning