Clustering is typically applied for data exploration when there are no or very few labeled data available. The goal is to find groups or clusters of like data. The clusters will be of interest to the person applying the algorithm. An objective function-based clustering algorithm tries to minimize (or maximize) a function such that the clusters that are obtained when the minimum/maximum is reached are homogeneous. One needs to choose a good set of features and the appropriate number of clusters to generate a good partition of the data into maximally homogeneous groups. Objective functions for clustering are introduced. Clustering algorithms generated from the given objective functions are shown, with a number of examples of widely used approaches discussed. © 2012 Wiley Periodicals, Inc.