In this paper, a new automated Fuzzy Cognitive Maps (FCMs) learning algorithm is developed to generate FCMs from historical data. Automated FCM learning algorithms are used to model and analyze systems which are very complex and cannot be handled by experts' knowledge. The algorithm developed in this paper is based on the Imperialist Competitive Algorithm for global optimization and is called the Imperialist Competitive Learning Algorithm (ICLA). The ICLA divides the search space into several sections. It extracts the best knowledge from each section and follows a procedure to avoid local optima alongside rapid learning. Experiments have been conducted to compare the ICLA with other well-known FCM learning algorithms. The results show that in most cases, the ICLA performs better for learning FCMs in terms of solution accuracy and execution time. The testing results show clearly that the ICLA is a robust, fast and accurate FCM learning algorithm.