The main goal of machine condition monitoring (MCM) is to avoid catastrophic machine failure that may cause secondary damage, downtime, potential safety incidents, lost production, and higher costs associated with repairs. This chapter provides an overview of the vibration-based MCM process. The main task of machine learning algorithms in machine fault diagnosis is to make a prediction about the machine's health. The chapter describes the fault-detection and -diagnosis problem framework, and the types of learning that can be applied to vibration data. The types of learning include: batch learning, online learning, instance-based learning, model-based learning, supervised learning, unsupervised learning, semi-supervised learning, reinforcement, and transfer learning. The chapter also provides the definition of the main problems of learning from vibration data for the purpose of fault diagnosis and also describes techniques to prepare vibration data for analysis to overcome the problems.