Independent component analysis by general nonlinear Hebbian-like learning rules