{"id":15036055,"url":"https://github.com/jonkrohn/ml-foundations","last_synced_at":"2025-05-13T20:15:15.634Z","repository":{"id":37245621,"uuid":"256789849","full_name":"jonkrohn/ML-foundations","owner":"jonkrohn","description":"Machine Learning Foundations: Linear Algebra, Calculus, Statistics \u0026 Computer Science","archived":false,"fork":false,"pushed_at":"2024-11-20T19:39:24.000Z","size":14053,"stargazers_count":3984,"open_issues_count":4,"forks_count":1900,"subscribers_count":151,"default_branch":"master","last_synced_at":"2025-05-06T20:41:58.615Z","etag":null,"topics":["calculus","computer-science","data-science","data-structures","jupyter-notebook","linear-algebra","machine-learning","mathematics","numpy","probability","python","pytorch","statistics","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonkrohn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-18T15:38:51.000Z","updated_at":"2025-05-06T19:32:22.000Z","dependencies_parsed_at":"2024-02-22T20:31:45.009Z","dependency_job_id":"7edfc8ce-a390-4b0d-b041-2e70b1e6f277","html_url":"https://github.com/jonkrohn/ML-foundations","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonkrohn%2FML-foundations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonkrohn%2FML-foundations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonkrohn%2FML-foundations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonkrohn%2FML-foundations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonkrohn","download_url":"https://codeload.github.com/jonkrohn/ML-foundations/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254020638,"owners_count":22000755,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["calculus","computer-science","data-science","data-structures","jupyter-notebook","linear-algebra","machine-learning","mathematics","numpy","probability","python","pytorch","statistics","tensorflow"],"created_at":"2024-09-24T20:30:00.241Z","updated_at":"2025-05-13T20:15:15.614Z","avatar_url":"https://github.com/jonkrohn.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Machine Learning Foundations\n\nThis repo is home to the code that accompanies Jon Krohn's *Machine Learning Foundations* curriculum, which provides a comprehensive overview of all of the subjects — across mathematics, statistics, and computer science — that underlie contemporary machine learning approaches, including deep learning and other artificial intelligence techniques.\n\nThere are eight subjects in the curriculum, organized into four subject areas. See the \"Machine Learning House\" section below for detail on why these are the essential foundational subject areas: \n\n* **Linear Algebra**\n   * 1: [Intro to Linear Algebra](https://github.com/jonkrohn/ML-foundations/blob/master/notebooks/1-intro-to-linear-algebra.ipynb)\n   * 2: [Linear Algebra II: Matrix Operations](https://github.com/jonkrohn/ML-foundations/blob/master/notebooks/2-linear-algebra-ii.ipynb)\n* **Calculus**\n   * 3: [Calculus I: Limits \u0026 Derivatives](https://github.com/jonkrohn/ML-foundations/blob/master/notebooks/3-calculus-i.ipynb)\n   * 4: [Calculus II: Partial Derivatives \u0026 Integrals](https://github.com/jonkrohn/ML-foundations/blob/master/notebooks/4-calculus-ii.ipynb)\n* **Probability and Statistics**\n   * 5: [Probability \u0026 Information Theory](https://github.com/jonkrohn/ML-foundations/blob/master/notebooks/5-probability.ipynb)\n   * 6: [Intro to Statistics](https://github.com/jonkrohn/ML-foundations/blob/master/notebooks/6-statistics.ipynb)\n* **Computer Science**\n   * 7: [Algorithms \u0026 Data Structures](https://github.com/jonkrohn/ML-foundations/blob/master/notebooks/7-algos-and-data-structures.ipynb)\n   * 8: [Optimization](https://github.com/jonkrohn/ML-foundations/blob/master/notebooks/8-optimization.ipynb)\n   \nLater subjects build upon content from earlier subjects, so the recommended approach is to progress through the eight subjects in the order provided. That said, you're welcome to pick and choose individual subjects based on your interest or existing familiarity with the material. In particular, each of the four subject areas are fairly independent so could be approached separately. \n\n### Where and When\n\nThe eight *ML Foundations* subjects were initially offered by [Jon Krohn](jonkrohn.com) as live online trainings in the [O'Reilly learning platform](https://learning.oreilly.com/home/) from May-Sep 2020 (and were offered a second time from Jul-Dec 2021; see [here](https://www.jonkrohn.com/talks) for individual lecture dates). \n\nTo suit your preferred mode of learning, the content is now available via several channels: \n\n* **YouTube**\n    * Linear Algebra [complete playlist here](https://www.youtube.com/playlist?list=PLRDl2inPrWQW1QSWhBU0ki-jq_uElkh2a) and [detailed blog post here](https://www.jonkrohn.com/posts/2021/5/9/linear-algebra-for-machine-learning-complete-math-course-on-youtube)\n    * Calculus [complete playlist here](https://www.youtube.com/playlist?list=PLRDl2inPrWQVu2OvnTvtkRpJ-wz-URMJx)\n    * [Probability playlist](https://www.youtube.com/playlist?list=PLRDl2inPrWQWwJ1mh4tCUxlLfZ76C1zge) is in active development (sign up for my email newsletter at [jonkrohn.com](https://www.jonkrohn.com/) to be notified of new video releases)\n    * In time, all of the subjects of my ML Foundations curriculum will be freely available on YouTube.\n* **O'Reilly** (many employers and educational institutions provide free access to this platform; if you don't have access, you can get a 30-day free trial [via my special SDSPOD23 code](https://learning.oreilly.com/get-learning/?code=SDSPOD23))\n    * [Linear Algebra videos](https://learning.oreilly.com/videos/linear-algebra-for/9780137398119/) published in Dec 2020 ([free hour-long lesson](https://www.youtube.com/watch?v=uG_wjmuigGg))\n    * [Calculus videos](https://learning.oreilly.com/videos/calculus-for-machine/9780137398171/) published in Jan 2021 ([free hour-long lesson](https://youtu.be/ZDAX17OGMAM))\n    * [Probability and Stats videos](https://learning.oreilly.com/videos/probability-and-statistics/9780137566273/) published in May 2021 ([free hour-long lesson](https://youtu.be/uJcGj-k50iE))\n    * [Computer Science videos](https://learning.oreilly.com/videos/data-structures-algorithms/9780137644889/) published in Jun 2021 ([free hour-long lesson](https://youtu.be/yfKkMdndY-E))\n    * (For convenience, this publisher compiled all 28 hours of the above four video series into a single playlist [here](https://learning.oreilly.com/videos/-/9780137903245/).)\n* **Udemy**: All the Linear Algebra and Calculus content has been [live in a *Mathematical Foundations of ML* course](https://www.udemy.com/course/machine-learning-data-science-foundations-masterclass/) since Sep 2021 (free overview video [here](https://youtu.be/qhLo19EIA4g)). While this course stands alone as a complete introduction to the math subjects, Subjects 5-8 will eventually be added as free bonus material. \n* **Open Data Science Conference**: The entire series was taught live online from Dec 2020 to Jun 2021. On-demand recordings of all these trainings are now available in the [Ai+ Platform](https://aiplus.odsc.com/pages/mlbootcamp).\n* **Book**: A book deal with Pearson is in place; eventually I'll have bandwidth to work on the manuscript and pre-release chapter drafts will be available via oreilly.com.\n\n*(Note that while YouTube contains 100% of the taught content, the paid options — e.g., Udemy, O'Reilly, and ODSC — contain comprehensive solution walk-throughs for exercises that are not available on YouTube. Some of the paid options also include exclusive, platform-specific features such as interactive testing, \"cheat sheets\" and the awarding of a certificate for successful course completion.)*\n\n### Push Notifications\n\nTo stay informed of future live training sessions, new video releases, and book chapter releases, consider signing up for Jon Krohn's [email newsletter via his homepage](https://www.jonkrohn.com/).\n\n### Notebooks\n\nAll code is provided within Jupyter notebooks [in this directory](https://github.com/jonkrohn/DLTFpT/blob/master/notebooks/). These notebooks are intended for use within the (free) [Colab cloud environment](https://colab.research.google.com) and that is the only environment currently actively supported. \n\nThat said, if you are familiar with running Jupyter notebooks locally, you're welcome to do so (note that the library versions in this repo's [Dockerfile](https://github.com/jonkrohn/ML-foundations/blob/master/Dockerfile) are not necessarily current, but may provide a reasonable starting point for running Jupyter within a Docker container).\n\n\n### The Machine Learning House\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/jonkrohn/ML-foundations/blob/master/img/ML-house.png\" width=\"500\" align=\"center\"\u003e\n\u003c/p\u003e\n\nTo be an outstanding data scientist or ML engineer, it doesn't suffice to only know how to use ML algorithms via the abstract interfaces that the most popular libraries (e.g., scikit-learn, Keras) provide. To train innovative models or deploy them to run performantly in production, an in-depth appreciation of machine learning theory (pictured as the central, purple floor of the \"Machine Learning House\") may be helpful or essential. And, to cultivate such in-depth appreciation of ML, one must possess a working understanding of the foundational subjects.\n\nWhen the foundations of the \"Machine Learning House\" are firm, it also makes it much easier to make the jump from general ML principles (purple floor) to specialized ML domains (the top floor, shown in gray) such as deep learning, natural language processing, machine vision, and reinforcement learning. This is because, the more specialized the application, the more likely its details for implementation are available only in academic papers or graduate-level textbooks, either of which typically assume an understanding of the foundational subjects.\n\nThe content in this series may be particularly relevant for you if: \n\n* **You use high-level software libraries** to train or deploy machine learning algorithms, and would now like to understand the fundamentals underlying the abstractions, enabling you to expand your capabilities\n* You’re a **data scientist** who would like to reinforce your understanding of the subjects at the core of your professional discipline\n* You’re a **software developer** who would like to develop a firm foundation for the deployment of machine learning algorithms into production systems\n* You’re a **data analyst** or **A.I. enthusiast** who would like to become a data scientist or data/ML engineer, and so you’re keen to deeply understand the field you’re entering from the ground up (very wise of you!) \n* You're simply keen to understand the essentials of linear algebra, calculus, probability, stats, algorithms and/or data structures\n\nThe foundational subjects have largely been unchanged in recent decades and are likely to remain so for the coming decades, yet they're critical across all machine learning and data science approaches. Thus, the foundations provide a solid, career-long bedrock. \n\n\n### Pedagogical Approach\n\nThe purpose of this series it to provide you with a practical, functional understanding of the content covered. Context will be given for each topic, highlighting its relevance to machine learning. \n\nAs with other materials created by Jon Krohn (such as the book *[Deep Learning Illustrated](https://www.deeplearningillustrated.com/)* and his 18-hour video series *[Deep Learning with TensorFlow, Keras, and PyTorch](https://github.com/jonkrohn/DLTFpT/))*, the content in the series is brought to life through the combination of:\n\n* Vivid full-color illustrations \n* Paper-and-pencil comprehension exercises with fully-worked solutions\n* Hundreds of straightforward examples of Python code within hands-on Jupyter notebooks (with a particular focus on the PyTorch and TensorFlow libraries)\n* Practical ML applications\n* Resources for digging even deeper into topics that pique your curiosity\n\n\n### Prerequisites\n\n**Programming**: All code demos will be in Python so experience with it or another object-oriented programming language would be helpful for following along with the code examples. A good (and free!) resource for getting started with Python is Al Sweigart's [Automate the Boring Stuff](https://automatetheboringstuff.com/).\n\n**Mathematics**: Familiarity with secondary school-level mathematics will make the class easier to follow along with. If you are comfortable dealing with quantitative information – such as understanding charts and rearranging simple equations — then you should be well-prepared to follow along with all of the mathematics. If you discover you have some math gaps as you work through this *ML Foundations* curriculum, I recommend the free, comprehensive [Khan Academy](https://www.khanacademy.org) to fill those gaps in.\n\n\n### Oboe\n\nFinally, here's an illustration of Oboe, the *Machine Learning Foundations* mascot, created by the wonderful artist [Aglaé Bassens](https://www.aglaebassens.com): \n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/jonkrohn/ML-foundations/blob/master/img/Oboe.jpg\" width=\"400\" align=\"center\"\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonkrohn%2Fml-foundations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonkrohn%2Fml-foundations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonkrohn%2Fml-foundations/lists"}