Methods of training Boltzmann machines include rejection sampling to approximate a Gibbs distribution associated with layers of the Boltzmann machine. Accepted sample values obtained using a set of training vectors and a set of model values associate with a model distribution are processed to obtain gradients of an objective function so that the Boltzmann machine specification can be updated. In other examples, a Gibbs distribution is estimated or a quantum circuit is specified so at to produce eigenphases of a unitary.
Please help me write a proper abstract based on the patent claims. CLAIM: 1.-15. (canceled) 16. A method, comprising: with a processor: obtaining a set of N samples from an initial distribution, wherein N is a positive integer; comparing a likelihood ratio of an approximation to a model distribution over the initial distribution to a random variable; and selecting samples from the set of N samples based on the comparison. 17. The method of claim 16, further comprising producing a final distribution based on the selected samples. 18. The method of claim 17, further comprising: storing a definition of a Boltzmann machine that includes a visible layer and at least one hidden layer with associated weights and biases; with the processor, updating at least one of the Boltzmann machine weights and biases based on the selected samples and a set of training vectors. 19. The method of claim 18, wherein the model distribution is selected so as to correspond to a data distribution. 20. The method of claim 19, further comprising: determining gradients of an objective function associated with each of the weights and biases of the Boltzmann machine based on the selected samples from the data distribution and the model distribution; and updating the Boltzmann machine weights and biases based on the gradients. 21. The method of claim 20, wherein the gradients of the objective function are determined as ∂ O ML ∂ w ij = 〈 v i  h j 〉 data - 〈 v i  h j 〉 model - λ   w i , j ,  ∂ O ML ∂ b i = 〈 v i 〉 data - 〈 v i 〉 model , and ∂ O ML ∂ d j = 〈 h j 〉 data - 〈 h j 〉 model , wherein OML is an objective function, vi and hj are visible and hidden unit values, bi and dj are biases, and wi,j is a weight. 22. The method of claim 20, further comprising receiving a scaling constant, wherein the comparison is based on a ratio of the data distribution to a product of the scaling constant and the model distribution for each sample of the model distribution. 23. An apparatus, comprising: at least one memory storing a definition of a Boltzmann machine, including numbers of layers, biases associated with hidden and visible layers, and weights; a processor that is configured to: obtain a set of samples from a model distribution by rejection sampling, and based on the obtained set of samples, update at least one of the stored biases and weights of the Boltzmann machine. 24. The apparatus of claim 23, wherein the model distribution is a mean-field distribution, a product distribution that minimizes an α-divergence with a Gibbs state or a linear combination thereof. 25. The apparatus of claim 24, wherein the stored biases and weights are updated based on a gradient associated with at least one of the stored weights and biased using the obtained set of samples. 26. The apparatus of claim 24, wherein the processor receives a set of training vectors, wherein the set of samples from the model distribution is obtained by rejection sampling based on the training vectors. 27. The apparatus of claim 24, wherein the processor obtains the set of samples from the model distribution by rejection sampling. 28. The apparatus of claim 24, wherein the at least one memory stores computer-executable-instructions that cause the processor to obtain the set of samples from the model distribution by rejection sampling and update at least one of the stored biases and weights of the Boltzmann machine. 29. The apparatus of claim 24, wherein the processor is a programmable logic device. 30. A method, comprising: with a processor, receiving an initial estimate of a prior probability distribution; obtaining a data set associated with the prior probability distribution; accepting samples from the data set based on rejection sampling; and updating the initial estimate to obtain an estimated posterior probability distribution based on the accepted samples. 31. The method of claim 30, further comprising: with the processor, obtaining a data set associated with the estimated prior probability distribution; accepting samples from the data set based on rejection sampling; and updating the estimated prior probability distribution based on accepted samples. 32. The method of claim 31, further comprising: determining a mean and covariance of the accepted samples, wherein one or more of the initial estimates of the prior probability distribution, the estimated posterior probability distribution, or the estimated prior probability distribution is updated based on the determined mean and covariance. 33. The method of claim 30, wherein the processor is configured to receive a scaling constant and the rejection sampling is based on the scaling constant. 34. The method of claim 29, wherein the processor is configured to perform the rejection sampling based on at least two scaling constants, and provide a final estimate from among updated estimates associated with the plurality of scaling constants. 35. The method of claim 30, wherein the prior probability is associated with the eigenvalues of a unitary, and the estimated prior probability distribution is updated so as to determine at least one of the eigenvalues and a rotation angle and an exponent of the unitary that define a quantum circuit that includes a rotation gate based on the determined rotation angle and a controlled gate based on the unitary and the determined exponent.