ML-foundations

GitHub
4.6k 2.2k 非常简单 1 次阅读 昨天MIT数据工具开发框架其他
AI 解读 由 AI 自动生成,仅供参考

ML-foundations 是一套由 Jon Krohn 打造的机器学习基础课程代码库,旨在通过数学、统计学和计算机科学的核心知识,帮助用户夯实人工智能与深度学习的理论根基。许多从业者在应用现成模型时,常因缺乏对底层原理的理解而遇到瓶颈,ML-foundations 正是为了解决这一痛点而生。它系统性地涵盖了线性代数、微积分、概率统计以及算法与优化等八大核心主题,将抽象的数学概念转化为可交互的代码笔记,让学习者能直观地看到公式如何在机器学习中发挥作用。

这套资源特别适合希望深入理解算法本质的开发者、数据科学家及研究人员,同时也欢迎有一定基础想要查漏补缺的学生使用。其独特亮点在于严谨的课程结构:内容按逻辑顺序编排,后续主题建立在前期知识之上,确保学习路径清晰连贯;同时,四大知识板块又相对独立,允许用户根据需求灵活选学。除了 GitHub 上的完整代码笔记,相关视频教程也在 YouTube 和 O'Reilly 平台免费开放,支持多种学习方式。无论你是想从零构建知识体系,还是针对特定领域进行强化,ML-foundations 都能提供专业且友好的支持,助你真正掌握当代机器学习的“内功”。

使用场景

一位刚转行进入算法团队的工程师,在尝试复现一篇涉及复杂梯度推导的深度学习论文时陷入了瓶颈。

没有 ML-foundations 时

  • 面对论文中密集的矩阵运算符号和偏导数公式,因线性代数与微积分基础薄弱,完全无法理解模型背后的数学逻辑,只能盲目复制代码。
  • 在调试模型不收敛的问题时,由于缺乏对优化算法(如梯度下降变体)原理的认知,只能靠随机调整学习率碰运气,浪费了大量算力资源。
  • 试图理解概率分布假设时,被信息论中的熵和散度概念卡住,不得不碎片化地搜索零散博客,导致知识体系支离破碎且充满误解。
  • 遇到数据结构效率问题时,不清楚算法复杂度对训练速度的影响,写出了冗余代码却找不到性能瓶颈所在。

使用 ML-foundations 后

  • 通过系统中“线性代数”与“微积分”模块的交互式笔记,快速重温了矩阵分解与链式法则,能够独立推导论文公式并精准定位实现细节。
  • 借助“优化”章节对损失函数景观的直观讲解,理解了不同优化器的适用场景,迅速将模型调整为合适的配置并实现收敛。
  • 利用“概率与信息论”部分的结构化课程,厘清了交叉熵等核心概念的物理意义,能够自信地向团队解释模型设计的统计学依据。
  • 结合“算法与数据结构”的学习,重构了数据预处理流程,显著降低了内存占用并提升了整体训练效率。

ML-foundations 将分散的数理知识编织成坚实的基石,让开发者从“调包侠”蜕变为能洞察算法本质的工程师。

运行环境要求

操作系统
  • 未说明
GPU

未说明

内存

未说明

依赖
notes代码主要在免费的 Google Colab 云环境中运行,这是目前唯一主动支持的环境。虽然也支持本地运行 Jupyter Notebook 或使用 Docker(提供了 Dockerfile 作为参考),但其中的库版本可能不是最新的。课程涵盖线性代数、微积分、概率统计及计算机科学基础,包含大量 Python 代码示例。建议具备高中数学基础及一定的编程经验(最好是 Python 或其他面向对象语言)。
python未说明
Jupyter notebooks
PyTorch
TensorFlow
ML-foundations hero image

快速开始

机器学习基础

此仓库收录了乔恩·克罗恩《机器学习基础》课程配套的代码。该课程全面概述了支撑当代机器学习方法(包括深度学习及其他人工智能技术)所需的数学、统计学和计算机科学等领域的知识。

课程共包含八个主题,分为四个学科领域。有关为何这些是至关重要的基础学科领域的详细说明,请参阅下方的“机器学习之家”部分:

后继主题建立在先前主题的内容之上,因此建议按照提供的顺序依次学习这八个主题。不过,您也可以根据个人兴趣或对相关知识的熟悉程度,自由选择特定的主题进行学习。尤其是,这四个学科领域相对独立,可以分别单独学习。

地点与时间

这八个《机器学习基础》主题最初由乔恩·克罗恩(jonkrohn.com)于2020年5月至9月期间,在O'Reilly学习平台上以线上直播形式提供(并于2021年7月至12月再次开设;具体讲座日期请参见这里)。

为适应您的学习偏好,相关内容现已通过多种渠道提供:

  • YouTube
  • O'Reilly(许多雇主和教育机构可免费访问该平台;若您无访问权限,可通过我的专属SDSPOD23优惠码获得30天免费试用链接
  • Udemy:所有线性代数和微积分内容自2021年9月起已在一门名为《机器学习的数学基础》的课程中上线(免费概览视频在此)。尽管该课程本身即可作为数学主题的完整入门,但第5至第8个主题最终将以免费附加材料的形式加入。
  • 开放数据科学大会:整个系列课程于2020年12月至2021年6月期间以线上直播形式讲授。所有培训的按需录像现可在Ai+平台上观看。
  • 书籍:目前已与培生出版社达成出版协议;待我有足够时间投入时,将开始撰写书稿,并通过oreilly.com提前发布章节草稿。

(请注意,虽然YouTube包含了全部授课内容,但付费选项——例如Udemy、O'Reilly和ODSC——还提供了练习题的完整解答讲解,而这些内容在YouTube上并未公开。此外,部分付费选项还包含平台特有的功能,如互动测试、速查表以及成功完成课程后的证书颁发等。)

推送通知

如需及时了解未来的直播课程、新视频发布及书籍章节更新,请考虑订阅乔恩·克罗恩在其主页上的邮件通讯

笔记本文件

所有代码均以Jupyter笔记本的形式提供,位于此目录中。这些笔记本旨在配合(免费的)Colab云环境使用,目前也仅支持该环境。

当然,如果您习惯于在本地运行Jupyter笔记本,同样可以这样做(请注意,此仓库的Dockerfile中所列的库版本可能并非最新,但可作为在Docker容器中运行Jupyter的一个合理起点)。

机器学习之屋

要成为一名杰出的数据科学家或机器学习工程师,仅仅掌握如何通过最流行的库(如 scikit-learn、Keras)提供的抽象接口来使用机器学习算法是远远不够的。要想训练出创新性的模型,或者将其部署到生产环境中高效运行,深入理解机器学习理论(图中以中央紫色楼层表示)可能是有益的,甚至是必不可少的。而要培养这种对机器学习的深刻理解,就必须具备对基础学科的实际掌握。

当“机器学习之屋”的根基稳固时,从通用的机器学习原理(紫色楼层)跃迁到专门的机器学习领域(顶层灰色楼层),例如深度学习、自然语言处理、机器视觉和强化学习等,也会变得更加容易。这是因为,应用越专业化,其具体的实现细节往往只存在于学术论文或研究生级别的教科书中——而这些资料通常都假定读者已经掌握了基础学科的知识。

本系列的内容可能对你尤其有帮助,如果你:

  • 使用高级软件库来训练或部署机器学习算法,并希望了解这些抽象背后的 fundamental 基础知识,从而扩展自己的能力;
  • 是一名数据科学家,希望进一步巩固自己专业领域核心知识的理解;
  • 是一名软件开发者,希望为将机器学习算法部署到生产系统中打下坚实的基础;
  • 是一名数据分析员人工智能爱好者,希望转型成为数据科学家或数据/机器学习工程师,因此渴望从底层开始深入理解这一领域(这非常明智!);
  • 或者只是单纯地想理解线性代数、微积分、概率论、统计学、算法和/或数据结构等基础知识。

在过去几十年里,这些基础学科几乎没有变化,而且在未来几十年内也很可能保持不变。然而,它们却是所有机器学习和数据科学方法的核心所在。因此,这些基础构成了一个稳固、贯穿整个职业生涯的基石。

教学方法

本系列的目的是为你提供对所涵盖内容的实用且功能性理解。我们将为每个主题提供背景介绍,突出其与机器学习的相关性。

如同 Jon Krohn 创作的其他材料一样(例如书籍《Deep Learning Illustrated》以及他长达18小时的视频课程《Deep Learning with TensorFlow, Keras, and PyTorch》),本系列的内容通过以下方式生动呈现:

  • 生动的全彩插图
  • 配有完整解答的纸笔练习题
  • 数百个基于 Jupyter Notebook 的简单 Python 代码示例(特别关注 PyTorch 和 TensorFlow 库)
  • 实用的机器学习应用
  • 用于深入探索你感兴趣主题的资源

先修条件

编程:所有代码演示都将使用 Python,因此具备 Python 或其他面向对象编程语言的经验将有助于你更好地跟随代码示例。一个很好的(而且免费的)Python 入门资源是 Al Sweigart 的《Automate the Boring Stuff》。

数学:熟悉中学阶段的数学知识将使课程更容易理解。如果你能够自如地处理定量信息——比如读懂图表、进行简单的方程变形——那么你应该能够很好地跟上所有的数学内容。如果你在学习本《机器学习基础》课程的过程中发现自己存在一些数学知识上的空白,我推荐使用免费且全面的 Khan Academy 来填补这些空白。

Oboe

最后,这里有一张由才华横溢的艺术家 Aglaé Bassens 创作的 机器学习基础 吉祥物 Oboe 的插图:

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架