Introduction
Unsupervised machine learning is a type of learning technique in which we try to draw inferences either directly or indirectly (through latent factors) from a set of unlabeled observations. In simple terms, we are trying to find the hidden knowledge or structures in a set of data without initially labeling the training data.
While most machine learning library implementation break down when applied to large datasets (iterative, multi-pass, a lot of intermediate writes), the Apache Spark Machine Library succeeds by providing machine library algorithms designed for parallelism and extremely large datasets using memory for intermediate writes out of the box.
At the most abstract level, we can think of unsupervised learning as:
- Clustering systems: Classify the inputs into categories either using hard (only belonging to a single cluster) or soft (probabilistic membership and overlaps) categorization.
- Dimensionality reduction systems: Find hidden factors using a condensed representation...