Independent Components Analysis through Product Density Estimation