Named after the Boltzmann distribution in statistical mechanics, the Boltzmann machine is a form of “fully connected” neural network in which every node is connected to every other node. Boltzmann machines can model probability distributions, and learn complex patterns efficiently from large datasets. Boltzmann machines “discover interesting features” that represent complex patterns in the database. Boltzmann machines can be slow to discover patterns, so there’s a faster version called “restricted Boltzmann machines.” Multiple layers of a neural network can be efficiently processed and trained by using the discovery ability of one restricted Boltzmann machine as the training dataset for additional neural nets.