My first encounter with machine learning was a Compute’s Gazette article which provided a Commodore 64 program attempted to predict which of two keys you would press based on your prior inputs. That was probably a simple Recurrent Neural Network. I’ve always had an interest in the topic but the applications for ML have exploded in the past 5 years.
I am still in the learning phases on this topic, so please do not take anything I say here as authoritative or as a claim of expert-level ML experience. However, much as one would expect a programmer in the 1990’s to be familiar with basic Object Oriented methods, I would expect a programmer in the 2020s to be familiar with basic Machine Learning.
Approaches/Problems
- Machine Learning Approaches — Various algorithms and what they are used for.
Classes/Online Learning
- Machine Learning with Python Machine Learning with Python, Computer Vision (CNNs/Convolutions), Keras Models Tensorflow PyTorch Coursera Final Project — Searching for concrete cracks by modifying a RESNET 18 model and the IBM Digital Certificate IBM Digital Certificate for completing the Coursera series.
Projects
- Simple KNN program to predict what points are in a circle
- Thompson Scattering is mostly useful for selecting one option from several with varying success rates, such as picking the best one-arm bandit or marketing strategy.
- Simple Logic Neuron
- Finding a Mole Interviewer
- Finding a way through a maze
Potential Projects
- FPGA Based Neural Network — Using an FPGA fabric to implement a set of Neurons. Addition and multiplication would be reasonably simple although floating point mutlipliers tend to take a bit of time and area. The RELU activation function could be done with a sign bit while tanh and Sigmoid could be approximated with lines.