mlcourse
mlcourse 是一套清晰、深入的机器学习课程材料,由纽约大学 David Rosenberg 教授整理,涵盖从线性回归、正则化到核方法、EM 算法和贝叶斯统计等核心内容。它特别适合希望系统理解机器学习理论基础的学习者,而非仅学习代码实现。课程注重概念背后的数学直觉,例如用线性代数自然推导再生核定理,或通过矩匹配视角解释逻辑回归,帮助学习者摆脱“黑箱”印象。针对学生常感困惑的点,如条件期望符号、弹性网相关性定理、拉格朗日对偶等,课程专门补充了简明笔记,大幅提升理解效率。内容多次迭代优化,删繁就简,比如将原本一小时的对偶理论压缩为十分钟精要,同时新增了对支持向量机重训练、Thompson 采样等实用主题的深入探讨。适合有基础的大学生、研究生、数据科学从业者及对算法原理感兴趣的开发者阅读,尤其推荐给希望超越工具调参、真正理解模型为何有效的学习者。所有材料免费开放,代码与习题设计严谨,是自学或教学的优质资源。
使用场景
一位机器学习工程师在一家金融科技公司负责信用评分模型的迭代,团队正从 Lasso 回归转向弹性网络(Elastic Net),以处理高维特征中大量相关变量的问题。但团队成员对弹性网络的数学原理、正则化路径的直观理解,以及如何在实际代码中实现正则化逻辑回归存在困惑,导致模型调试周期长、解释性差。
没有 mlcourse 时
- 团队对弹性网络中“相关特征如何被同时选中”缺乏直观理解,误以为只选一个特征就代表模型更优。
- 在实现正则化逻辑回归时,不清楚经验风险最小化(ERM)与条件概率建模之间的等价性,导致代码逻辑混乱。
- 调试支持向量机(SVM)时,不知道只需用支持向量重训练即可大幅加速,每次都要重新拟合整个数据集。
- 学生和初级工程师对条件期望符号(如 E[Y|X])频繁出错,影响模型推导和论文阅读。
- 缺乏清晰的拉格朗日对偶性速成材料,团队在理解优化约束时依赖晦涩的教材,耗时数天仍不得要领。
使用 mlcourse 后
- 通过《弹性网络相关特征定理》笔记,团队快速理解了为何相关变量会被成组选择,从而合理调整正则化参数 λ₁ 和 λ₂。
- 借助《逻辑回归矩匹配》笔记,工程师确认了 ERM 与概率建模的等价性,重构了代码,使模型输出更稳定、可解释。
- 采用支持向量重训练的技巧,SVM 模型更新时间从 45 分钟缩短至 3 分钟,显著提升迭代效率。
- 《条件期望》笔记成为新员工的必读材料,团队会议中因符号误解导致的返工减少 80%。
- 10 分钟拉格朗日对偶速成指南让团队在一周内掌握优化约束的几何意义,顺利实现自定义正则化项。
mlcourse 用清晰、实用的数学直觉和工程落地指南,把原本需要数周摸索的理论障碍,变成了团队可快速掌握的实战能力。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
自2018年以来的重要变化
自2017FOML到2018年的重要变化
- 在弹性网课程中详细阐述了反对稀疏性的理由,以补充幻灯片上关于稀疏性的原因——“Lasso带来特征稀疏性:那又如何?”
- 增加了关于条件期望的笔记,因为许多学生觉得相关符号很困惑。
- 增加了关于弹性网相关特征定理的笔记,该笔记基本上是将Zou和Hastie 2005年的论文“通过弹性网进行正则化与变量选择”翻译成我们课堂的符号,并去掉了不必要的中心化条件,采用了更标准的相关性定义。
- EM算法讲解的改动:增加了若干图表(第10至14页),以说明变分方法的一般思想,并明确指出边际对数似然正是变分下界点上的逐点上确界(第31和32页)。
- 对表示定理的处理现在放在提及核函数之前,并将其描述为基本线性代数的一个有趣推论:“看看解总是位于由数据张成的子空间内。这很有趣(只要多练习就显而易见)。我们现在可以将优化问题限制在这个子空间……”
- 核方法课程被重写,大幅减少了对特征映射的引用。当我们只讨论核化时,这些额外的符号似乎并不必要。
- 用10分钟的拉格朗日对偶性总结取代了1小时的拉格朗日对偶性速成课,实际上我从未讲过这个内容,而是留作选读材料。
- 增加了关于伯努利赌博机的汤普森采样简短笔记,作为我们贝叶斯统计单元的一个有趣应用。
- 作业2中lasso回归的编程题显著改进。
- 作业5中新增了逻辑回归的书面和编程题目(展示了ERM与条件概率模型公式的等价性,以及实现正则化逻辑回归)。
- 新的反向传播作业作业7(与Philipp Meerkamp和Pierre Garapon合作完成)。
自2017年到2017FOML的重要变化
- 这个版本的课程没有机器学习先修要求,因此增加了几节基础课程:
- 增加了关于SVM对偶性的主要结论的笔记。
- 与其详细推导SVM对偶问题,在新课程中,我只是陈述对偶形式并强调从互补松弛条件中获得的见解,尤其关注“数据中的稀疏性”。
- 删除了SVM的几何推导以及所有关于硬间隔SVM的提及。这一直很受学生欢迎,但我认为不值得花那么多时间。它最适合作为仿射空间、投影及其他基础线性代数的复习。
- 删除了大部分AdaBoost课程,仅保留了作为指数损失前向阶段加法建模的特殊情况的提及(第24至29页)。
- 新的实例解析用于用线性和梯度提升模型预测泊松分布。
- 新的反向传播模块。
自2016年到2017年的重要变化
- 关于SVM几何方法的新课程(Brett)
- 关于主成分分析的新课程(Brett)
- 增加了k-means++的幻灯片(Brett)
- 增加了关于一维RBF核的显式特征向量的幻灯片
- 创建了笔记本,用于重新生成Hastie书中的有bug的lasso/弹性网图(Vlad)
- 线性模型的L2约束使预测函数具有Lipschitz连续性(感谢Brian Dalessandro指出这一点)。
- 扩展了关于L1/L2/弹性网与相关随机变量的讨论(感谢Brett提供的图表)
从2015年到2016年的主要变化
- 新增了关于多类分类的讲座[(https://davidrosenberg.github.io/mlcourse/Archive/2016/Lectures/9a.multiclass.pdf)],以及对**结构化预测**的介绍
- 新增了关于多类合页损失和多类SVM的作业[(https://davidrosenberg.github.io/mlcourse/Archive/2016/Homework/hw6-multiclass/hw6.pdf)]
- 新增了关于贝叶斯方法的作业[(https://davidrosenberg.github.io/mlcourse/Archive/2016/Homework/hw7-bayesian/hw7.pdf)],特别是**贝塔二项模型、层次模型、经验贝叶斯ML-II、MAP-II**
- 新增了关于相关变量与L1、L2及弹性网络正则化的简短讲座[(https://davidrosenberg.github.io/mlcourse/Archive/2016/Lectures/2.Lab.elastic-net.pdf)]
- 补充了一些有关次梯度方法的细节,包括一个单页证明,说明次梯度下降会将我们导向凸函数的极小值点(基于Boyd的笔记)
- 补充了一些关于方向导数、梯度和一阶近似的复习笔记
- 轻松讨论了SGD与GD的收敛速度,顺便补上了SGD的定理(之前遗漏了)
- 因时间不足,删掉了原本基于纪尧姆·奥博津斯基的幻灯片的维度灾难讨论)
- 新增了关于表示定理的讲座(第12页起)(不涉及再生核希尔伯特空间),并介绍了其在核化中的应用(基于Shalev-Shwartz和Ben-David的书)
- 删除了原定用于引入核的核机器方法(第16页),该方法基于凯文·墨菲的书中的思路
- 增加了EM算法收敛定理(第20页),基于Vaida的结果
- 新增了关于梯度提升的更多细节的讲座[(https://davidrosenberg.github.io/mlcourse/Archive/2016/Lectures/8.Lab.more-boosting.pdf)],包括一些变体的简要介绍(**随机梯度提升**、**LogitBoost**、**XGBoost**)
- 新增了实操示例,用于用广义线性模型和梯度提升模型预测指数分布
- 对2015年的广义线性模型讲座进行了重构,该讲座最初从自然指数族(第15页)开始,逐步推导出GLM的定义(第20页)。相反,这次更一般地介绍了条件概率模型,重点是使用极大似然估计,并给出了多个例子;正式引入指数族和广义线性模型的内容被移到最后;
- 在凸优化讲座中去掉了等式约束以简化内容,但如果你想恢复这些约束,请查看这里
- 因时间不足,删掉了关于贝叶斯朴素贝叶斯的内容
- 删掉了对k-means目标函数(第9页)的正式讨论
- 删掉了信息论的简要介绍。最初加入是因为我们需要引入KL散度和吉布斯不等式,以便为EM算法做准备。数学预备知识现在已放在这里(第15页)。
可能的未来主题
基础技术
- 高斯过程
- MCMC(或至少吉布斯采样)
- 重要性采样
- 密度比估计(用于协变量偏移、异常检测、条件概率建模)
- 局部方法(knn、局部加权回归等)
应用
- 协作过滤/矩阵分解(基于这篇关于矩阵分解的讲座和Brett关于PCA的讲座)
- 排序学习及相关概念
- 贝尔特/从日志数据中学习?
- 广义可加模型用于可解释的非线性拟合(平滑法、基函数法和梯度提升法)
- 自动超参数搜索(使用高斯过程、随机搜索、超带等)
- 主动学习
- 域偏移/协变量偏移适应
- 强化学习(通往REINFORCE的最小路径)
潜变量模型
- PPCA/因子分析及其非高斯推广
- 如果能获取数据,人格类型可作为因子分析的例子?
- 变分自编码器
- 潜狄利克分配/主题模型
- 图像和文本的生成模型(我们关注的是生成内容的人类感知质量,而非测试样本的似然性)(GAN及其同类)
贝叶斯模型
- 相关向量机
- BART
- 高斯过程回归与条件概率模型
技术要点
- 过拟合验证集?
- 与针对温和函数的次梯度收敛论文的链接
其他
- 类别不平衡
- 黑箱特征重要性度量(基于Ben 2018年讲座)
- 分位数回归与条件预测区间(或许融入损失函数相关的作业中);
- 更深入地介绍基础神经网络:权重初始化、梯度消失/爆炸,可能还包括批归一化
- 完成“结构化预测”部分,包括束搜索/Viterbi算法
- 给出与MEMM/CRF对应的概率模型类比
- 生成式与判别式(Jordan & Ng的朴素贝叶斯与逻辑回归,以及包含正则化的全新实验)
- 关于因果关系的一些内容?
- DART
- LightGBM和CatBoost对分类特征的高效处理(即在回归树中处理分类特征)
引用信息

机器学习课程资料由多位作者创作,采用< a rel="license" href="http://creativecommons.org/licenses/by/4.0/">知识共享署名4.0国际许可协议授权。本仓库中每份文档的作者均被视为该文档的许可持有者。
常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
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 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
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 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。