Machine learning is an application of artificial intelligence that provides computers (and other systems with the certain capability of computation) with the capability to automatically make predictions or decisions from experience without being explicitly programmed to carry out the task. The concept of machine learning has been around for a long time, but it has been gaining momentum over the last several years mainly due to three key factors:
- There is enormously increased data.
- There are significantly improved algorithms.
- There is substantially more powerful computer hardware. Virtual personal assistants (for example, smart speakers or mobile apps), predictions while commuting (traffic predictions or navigation services), video systems (surveillance camera systems or license plate recognition systems), and e-commerce applications (recommendation systems or automatic price-comparison applications) are only a few examples of machine learning applications in our day-to-day life.
In this chapter, we are going to see some of the most common machine learning algorithms and techniques OpenCV provides to solve real-world problems, such as classification and regression problems, in your computer vision projects.
We will cover the following topics:
- An introduction to machine learning
- k-means clustering
- k-nearest neighbor
- Support vector machine