Autoencoders have become a hot researched topic in unsupervised learning due to their ability to learn data features and act as a dimensionality reduction method. With rapid evolution of autoencoder methods, there has yet to be a complete study that provides a full autoencoders roadmap for both stimulating technical improvements and orienting research newbies to autoencoders. In this paper, we present a comprehensive survey of autoencoders, starting with an explanation of the principle of conventional autoencoder and their primary development process. We then provide a taxonomy of autoencoders based on their structures and principles and thoroughly analyze and discuss the related models. Furthermore, we review the applications of autoencoders in various fields, including machine vision, natural language processing, complex network, recommender system, speech process, anomaly detection, and others. Lastly, we summarize the limitations of current autoencoder algorithms and discuss the future directions of the field.
1 October 2021 in Computers in Biology and Medicine
As the community detection is able to facilitate the discovery of hidden information in complex networks, it has been drawn a lot of attention recently. However, due to the growth in computational power and data storage, the scale of these complex networks has grown dramatically. In order to detect communities by utilizing global approaches, it is required to have all the global information of the whole network; something which is impossible, because of the rapid growth in the size of the networks. In this paper, a local approach has been proposed based on the detection and expansion of core nodes. First, a community’s central node (core node) which has a high level of embeddedness is detected based on the similarity between graph’s nodes. By using this, the total weights of a weighted graph’s edges created. Following by that, the expansion of these nodes will be considered, by utilizing the concept of node’s membership based on the definition of strong community for weighted graphs. It can be seen that in detecting communities, the more accurate the weights of edges detected based on the node similarity, the more precise the local algorithm will be. In fact, the algorithm has the ability to detect all the graph’s communities in a network using local information as well as identifying various roles of nodes, either being (core or outlier). Test results on both real-world and artificial networks prove that the quality of the communities which are detected by the proposed algorithm is better than the results which are achieved by other state-of-the-art algorithms in the complex networks.