Modular (feedforward) neural network. Cluster the inputs to the network, then train each module in the network on each cluster