The most time consuming and expensive task in machine learning is the gathering of labeled data to train the model or to estimate its parameters. In the real-world scenario, the availability of labeled data is scarce and we have limited resources to label the abundantly available unlabeled data. Hence it makes sense to pick only the most informative instances from the unlabeled data and request an expert to provide the label for that instance. Active learning algorithms aim at minimizing the amount of labeled data required to achieve the goal of the machine learning task in hand by strategically selecting the data instance to be labeled by the expert. A lot of research has been conducted in this area over the past two decades leading to great improvements in performance of several existing machine learning algorithms and has also been applied to diverse fields like text classification, information retrieval, computer vision and bioinformatics, to name a few. This survey aims at providing an insight into the research in this area and categorizes the diverse algorithms proposed based on main characteristics. We also provides a desk where different active learning algorithms can be compared by evaluation on benchmark datasets.