Skip to content

AI_Prerequisites

left_adjoint edited this page Jan 23, 2023 · 1 revision

Helpful Prerequisites & Tools for AI Development

If you are struggling with some of the ML resources, or wish to gain further insight into the mechanics of ML, or expand your skills more generally (ex. in order to build your own models or better articulate/understand ML concepts) here is a list of some of the fundamental skills / topics that provide a good foundation. Each section starts with the most pertinent general tools/topics, then progresses into more niche subjects. Wherever possible, multiple resources are recommended for each topic, presuming various levels of math/programming experience.

Programming

  • Command Line (basic navigation, file & folder manipulation & editing comes in handy when dealing with code and data)

  • Python (or other programming language that supports ML libraries - Python is by far the most popular - and you will see it in many tutorials and examples)

Data Visualization

Javascript: functional programming language for web development

Applications: Data Visualization / Interaction / Web: (Useful knowledge for deploying ML in various environments - you can also build and train models completely in Javascript)

  • DNotebook (jupyternotebook like library for Javascript)
  • Danfo.js (javascript Pandas-like data manipulation library)
  • P5.js (javascript library for creative coding)
    • ML5.js (ML specific javascript library built to work with P5.js
  • D3.js - Javascript document manipulation library - manipulate documentation directly from data (ex. create interactive barchart that responds to changing dataset)
  • Observable A javascript notebook based visualization tool (tutorials, examples, etc.)

ML specific libraries for Javascript:

Math

General

Algebra

Traditional Algebra (Variables, functions, linear equations, logarithmic functions, etc)

Linear Algebra (Tensors & matrix multiplication)

Calculus (Derivatives, gradients, chain rule, etc)

Data Science

General

Statistics (Mean, median, standard deviation, etc.)

Courses

Books

  • The Elements of Statistical Learning (Free Book on Data Mining, Inference, and Prediction) - ML text with Statistics Emphasis
  • Bayes Rules - Free online book and community around introductory Baysian statistics
  • Think Bayes - Free CCA book covering Bayesian statistics using computational methods (Colab Notebooks with exercises)
  • Introduction to Statistical Learning with R - Free online ML text with emphasis on statistics concepts. Includes labs in R for each topic (potentially of interest to those already working in R)

Data Collection & Manipulation:

A large part of building AI models is aquiring and pre-processing data to train on. Knowing how to source, clean, and organize data is an essential skill.

  • Libraries: ML requires the input and processing of data, so it is helpful to be familiar with relevant libraries (Data Science programming courses will introduce you to these tools, or you can learn the libraries independently).
    • Super quick numPy, Pandas tutorials (2 heavily used DS libraries for Python)
    • See Kaggle.com for additional data processing tutorials, longer-form tutorials
  • Data Collection
    • Web Scraping: A technique for extracting data from websites (HTML & XML files) in bulk
  • GPU Acceleration & Optimization: Learn to leverage hardware and data structures for improved training and inferrence speeds (useful when working with large data sets)