Biclustering methods and a Bayesian approach to fitting Boltzmann machines in statistical learning