In heterogeneous networks (HetNet), the load between macro-cell base stations (MBS) and small-cell base stations (SBS) is imbalanced due to their different transmission powers and locations. This load imbalance significantly impacts the system performance and affects the experience of mobile users (MU) with different priorities. In this paper, we aim to distributively optimize the user association in HetNets with various user priorities to solve the load balancing problem. Since the user association is a binary matching problem, which is NP-hard, we propose a distributed belief propagation (BP) algorithm to approach the optimal solution. We first develop a factor graph model using the network topology to represent this user association problem. With this factor graph, we propose a novel distributed BP algorithm by adopting the proportional fairness as the objective. Next, we theoretically prove the existence of the fixed point in our BP algorithm. To be more practical, we develop an approximation method to significantly reduce the computational and communication complexity of the BP algorithm. Furthermore, we analyze some properties of the factor graph relevant to the performance of the BP algorithm using the stochastic geometry. Simulation results show that 1) the proposed BP algorithm well approaches the optimal system performance and achieves a much better performance compared with other association schemes, and 2) the analytical results on the average degree distribution and sparsity of the factor graph match with those obtained from the Monte-Carlo simulations. . His research interests include network information theory, channel coding theory, wireless network coding and cooperative communications.