Machine Learning with ESP32
Machine learning (ML) is a huge topic covering different disciplines and knowledge areas. It requires data science, math, algorithm development, signal processing, and subject-matter knowledge about the specific problem that we want to solve. Obviously, our goal in this chapter cannot be to discuss all these underlying subjects, but to learn how to apply ML techniques in IoT projects where possible and beneficial.
Developing an ML application is not an easy task, but developing IoT applications with ML capabilities is extra challenging due to the hardware that we work on. IoT devices are constrained in terms of processing capabilities, memory, and power. As a result, a framework that targets IoT devices has to provide the right tools and libraries that take all these constraints into account. tinyML is the term to describe the field of machine learning that relates to constrained devices.
The topics that we are going to cover in this chapter are...