The EM algorithm for Cluster-Weighted Modeling