This course covers the applied/coding side of algorithmics in machine learning, with some deep learning and evolutionary algorithms thrown in as well.
Short reads on topics related to this course
- Basics of Python programming
- What is machine learning (ML)?
- Applying ML: evaluation, dataset splits, cross-validation, performance measures, bias/variance tradeoff, visualization, confusion matrix, choosing estimators, hyperparameter tuning, statistics
- Supervised learning: models, features, objectives, model training, overfitting, regularization, classification, regression, gradient descent, k nearest neighbors, linear regression, logistic regression, decision tree, random forest, adaptive boosting, gradient boosting, support vector machine, naïve Bayes
- Dimensionality reduction: principal component analysis
- Unsupervised learning: hierarchical clustering, k-means, t-SNE
- Deep networks: backpropagation, deep neural network, convolutional neural network
- Evolutionary algorithms: genetic algorithm (GAs), genetic programming (GP)
(: my colab notebooks,
: my medium articles)
-
Python
-
Artificial Intelligence
-
Date Science
-
Machine Learning Intro
-
Scikit-learn
-
ML Models
-
Decision trees
-
Random Forest
-
Linear Regression
-
Logistic Regression
-
Linear Models
-
Regularization: Ridge & Lasso
-
AdaBoost
-
Gradient Boosting
-
AddGBoost
-
Ensembles
-
XGBoost
-
Comparing ML algorithms
-
Gradient Descent
-
SVM
-
Bayesian
-
Metrics
-
ML in practice
-
Data Leakage
-
Dimensionality Reduction
-
Clustering
-
Hyperparameters
-
Some Topics in Probability
-
Feature Importances
-
Neural Networks
-
Deep Learning
- Neural Networks with À La Carte Selection of Activation Functions
- PyTorch
- PyTorch
- Double Descent
- Overparameterization, Backpropagation, Alimentation: Them and Us
- conv demo
- convolution
- A simple image convolution
- Implementing Image Processing Kernels from scratch using Convolution in Python
- Introduction to image generation (diffusion)
- Loss is Boss
and other articles in the DL section
-
Large Language Models
-
DL and AI
-
Evolutionary Algorithms: Basics
-
Evolutionary Algorithms: Advanced
Resources: Machine Learning, Deep Learning, Evolutionary Algorithms
Cheat Sheets
- Machine Learning Glossary
- Some Pros and Cons of Basic ML Algorithms, in 2 Minutes
- Cheat Sheets for Machine Learning and Data Science
- The Illustrated Machine Learning Website
Vids
- John Koza Genetic Programming (YouTube)
- גיא כתבי - אלגוריתמים אבולוציוניים (YouTube) [גיא בוגר הקורס שלי: אלגוריתמים אבולוציוניים וחיים מלאכותיים]
- StatQuest with Josh Starmer
- ML YouTube Courses
- Machine Learning Essentials for Biomedical Data Science: Introduction and ML Basics
- Artificial Intelligence Under Fire: Attacking and Defending Deep Neural Networks
Basic Reads
- Genetic and Evolutionary Algorithms and Programming
- Choosing Representation, Mutation, and Crossover in Genetic Algorithms
- Introduction to Evolutionary Computing (course/book slides)
- 26 Top Machine Learning Interview Questions and Answers: Theory Edition
- 10 Popular Machine Learning Algorithms In A Nutshell
- Machine learning preparatory week @PSL
- Neural Networks and Deep Learning (coursera)
- Tinker With a Neural Network in Your Browser
- Common Machine Learning Algorithms for Beginners
Advanced Reads
- What can LLMs never do?
- Foundational Challenges in Assuring Alignment and Safety of Large Language Models
- “Explainability” Is a Poor Band-Aid for Biased AI in Medicine
- Some Techniques To Make Your PyTorch Models Train (Much) Faster
- GPT in 60 Lines of NumPy
- ROC-AUC
- Why video games are essential for inventing artificial intelligence
Books (🡇 means free to download)
- M. Sipper, Evolved to Win, Lulu, 2011 🡇
- M. Sipper, Machine Nature: The Coming Age of Bio-Inspired Computing, McGraw-Hill, New York, 2002
- A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing, Springer, 1st edition, 2003, Corr. 2nd printing, 2007
- R. Poli, B. Langdon, & N. McPhee, A Field Guide to Genetic Programming, 2008 🡇
- J. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press, Cambridge, MA, 1992.
- S. Luke, Essentials of Metaheuristics, 2013 🡇
- A. Geron, Hands On Machine Learning with Scikit Learn and TensorFlow, 2017 🡇
- G. James, D. Witten, T. Hastie, R. Tibshirani, An Introduction to Statistical Learning, 2nd edition, 2021 🡇
- J. VanderPlas, Python Data Science Handbook
- K. Reitz, The Hitchhiker’s Guide to Python
- M. Nielsen, Neural Networks and Deep Learning
- Z. Michalewicz & D.B. Fogel, How to Solve It: Modern Heuristics, 2nd ed. Revised and Extended, 2004
- Z. Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs. Springer-Verlag, Berlin, 3rd edition, 1996
- D. Floreano & C. Mattiussi, Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies, MIT Press, 2008
- A. Tettamanzi & M. Tomassini, Soft Computing: Integrating Evolutionary, Neural, and Fuzzy Systems, Springer-Verlag, Heidelberg, 2001
- M. Mohri, A. Rostamizadeh, and A. Talwalka, Foundations of Machine Learning, MIT Press, 2012 🡇
- Simon J.D. Prince, Understanding Deep Learning, MIT Press, 2023 🡇
Software
- EC-KitY: Evolutionary Computation Tool Kit in Python with Seamless Machine Learning Integration
- gplearn: Genetic Programming in Python, with a scikit-learn inspired and compatible API
- LEAP: Library for Evolutionary Algorithms in Python
- DEAP: Distributed Evolutionary Algorithms in Python
- Swarm Intelligence in Python (Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Algorithm, Immune Algorithm, Artificial Fish Swarm Algorithm in Python)
- Scikit-learn: Machine Learning in Python
- Mlxtend (machine learning extensions)
- PyTorch (deep networks)
- Best-of Machine Learning with Python
- Fundamental concepts of PyTorch through self-contained examples
- Faster Python calculations with Numba
Datasets