Learning can be defined as the process of improving one's ability to perform a task efficiently. Machine learning is another subfield of computer science, and data mining enables modern computers to learn without being explicitly programmed.
Machine learning is a subset where a large computer of machines is used to analyze and extract knowledge from a large dataset.
Machine learning is closely related to computational statistics, has strong ties to mathematical optimizations, and explores algorithms that can make high-end predictions on data. Machine learning is employed in various types of computing tasks where designing efficient algorithms and programs becomes rather difficult. The tasks include email spam filtering, optical character recognition (OCR), search engine improvement, computer vision, and data mining.
Machine learning systems can be classified into three categories depending on the nature of the learning signal available to a learning system:
Unsupervised learning: No labels of outputs are given to the learning system. It finds structure on its own based on the inputs it receives. Each example is a pair consisting of an input object (vector) and the desired output value (supervisory signal).
Supervised learning: The system is presented with inputs and desired outputs from a human and the goal is to learn a model to map inputs to outputs. It is closely related to the problem of density estimation in statistics.
Reinforcement learning: The system interacts with an environment in which it performs a stated goal without a human explicitly telling it whether it has come close to its goal. It is applied to diverse areas like game theory, information theory, swarm intelligence, statistics, and genetic algorithms.
Supervised learning models use labeled data to learn. Recommendation engines, regression, and classification are examples of supervised learning methods. The labels in these models can be user- movie ratings (for recommendations), movie tags (in the case of the preceding classification example), or revenue figures (for regression).
When a model does not require labeled data, we refer to unsupervised learning. These types of models try to learn or extract some underlying structure in the data or reduce the data down to its most important features. This includes clustering, dimensionality reduction, and some forms of feature extraction, such as text processing.
The application of machine learning to diverse areas of computing is rapidly gaining popularity — not only because of cheap and powerful hardware but also because of the increasing availability of free and open-source software that enables machine learning to be implemented easily. Machine learning practitioners and researchers, as part of the software engineering team, continuously build sophisticated products, integrating intelligent algorithms with the final product to make software more reliable — quickly and with fewer hassles.