7.3 Machine learning as programming paradigm
- ML reflects a different programming paradigm (Chollet and Allaire 2018, chap. 1.1.2)
- Machine learning arises from this question: could a computer […] learn on its own how to perform a specified task? […] Rather than programmers crafting data-processing rules by hand, could a computer automatically learn these rules by looking at data?
- Classical programming (paradigm of symbolic AI)
- Humans input rules (a program) and data to be processed according to these rules, and out come answers
- Machine learning paradigm
- Humans input data + answers expected from the data, and out come the rules [these rules can then be applied to new data]
- ML system is trained rather than explicitly programmed
- Trained: Presented with many examples relevant to a task &rarr finds statistical structure in these examples &rarr allows system to come up with rules for automating the task (remember Alpha Go)
- Role of math
- While related to math. statistics, ML tends to deal with large, complex datasets (e.g., millions of images, each consisting of thousands of pixels)
- As a result ML (especially deep learning) exhibits comparatively little mathematical theory and is engineering oriented (ideas proven more often empirically than mathematically) (Chollet and Allaire 2018, chap. 1.1.2)
References
Chollet, Francois, and J J Allaire. 2018. Deep Learning with R. 1st ed. Manning Publications.