ML for Beginners 第一课精读:什么是机器学习——从 AI/ML/深度学习关系图到本地学习环境搭建
本篇指南基于 ML for Beginners(12 周、26 课、52 题测验的经典机器学习课程)第一组“Introduction”的第一课 Introduction to machine learning 展开:讲清机器学习的定义、它与 AI 和深度学习的边界、课程覆盖范围与明确排除项,并给出开课前的完整环境准备清单(Python、Node.js、VS Code、Scikit-learn、Jupyter 依赖安装)。读完本篇,你应能独立完成笔记本(notebook)本地运行环境搭建,理解课程的术语体系与学习路线,知道下一课与后续动手练习在哪里。
1. 课程定位:经典机器学习,以 Scikit-learn 为核心
ML for Beginners 是 Microsoft Cloud Advocates 出品的 12 周、26 课课程,主打 classic machine learning(经典机器学习):以 Scikit-learn 为主要库(课程说明中不再重复外链,库的定位见课程 README.md),并刻意不涉及深度学习——那部分由另一门 AI for Beginners 课程覆盖。
本课(Lesson 01)在课程总表中的定位是:
| 课程编号 | 主题 | 所属分组 | 学习目标 |
|---|---|---|---|
| 01 | Introduction to machine learning | Introduction | 掌握机器学习背后的基本概念 |
第一组 Introduction 共 4 课,依次是:
课程的 pedagogy(教学法)有两条主线:一是项目式学习(project-based),二是高频测验——课前预热测验(pre-lecture quiz)设定学习意图,课后测验(post-lecture quiz)巩固记忆。全部 52 份每份 3 题的测验代码都放在 quiz-app/ 目录,这是一个 Vue.js 3 应用,可以在本地用 npm install + npm run serve 运行,也可部署为静态站点(详见 AGENTS.md 中的“Quiz Application”章节)。
每个课时的固定结构为:可选 sketchnote → 可选补充视频 → 课前测验 → 书面讲义 → 知识检查(knowledge check)→ Challenge → Assignment → 课后测验。本课属于纯概念课,因此目录下没有 notebook.ipynb 和 solution/ 文件夹,只有讲义 README.md、作业 assignment.md 和本课插图 images/ 目录——从目录结构看,动手环节被有意推迟到第 5 课(回归工具课)才开始,体现“先概念、后实操”的设计。
另外,整个课程文档基于 Docsify 实现“零构建”在线阅读:index.html 配置了 docsify 入口,仓库根目录执行 docsify serve 后在 localhost:3000 即可离线浏览全部讲义;package.json 还定义了 npm run convert 用于通过 docsify-to-pdf 生成课程 PDF(输出为 pdf/readme.pdf)。侧边栏导航定义在 docs/_sidebar.md,与 9 个主题组一一对应。
2. 机器学习到底是什么:从“孩子的大脑”到系统定义
原文档从人的学习过程切入,逐步给出机器学习的定义,这条推理链值得完整保留:
- 孩子的大脑:儿童通过感官接收周围环境的事实,逐渐学会生活中隐藏的规律,并据此构造逻辑规则去识别已学到的模式;
- 脑可塑性(brain plasticity):持续“发现隐藏模式 → 在模式上创新”的循环让人类在一生中不断进化,这是人类成为最精密生命体的学习机制;
- 人类智能行为:人脑从现实世界感知事物、处理感知到的信息、做出理性决策、并根据情境采取行动——我们把这种行为称为“智能行为”;
- 人工智能(AI):当把这个智能行为过程用程序实现到机器上时,就得到 AI;
- 机器学习(ML):它是 AI 的一个重要子集,原文给出的核心定义是——“ML 关注使用专门算法,从感知到的数据中发现有意义的信息、找出隐藏模式,以支撑理性决策过程”。
从系统视角,原文进一步将其表述为:机器学习是构建能够自动从数据中学习隐藏模式、以辅助智能决策的自动化系统。这个定义在后续课程中会被反复印证,例如 1-Introduction/4-techniques-of-ML/README.md 中“决定问题 → 收集与准备数据 → 选择训练方法 → 训练模型 → 评估 → 调参 → 预测”的七步建模流程。
为什么需要机器学习而不是硬编码规则?原文抛出的思考题是:企业为什么愿意尝试 ML 策略而不是创建硬编码的规则引擎?结合下一课的例子可以回答:规则引擎在多变量场景下会迅速失效——例如精算场景中,若变量只有“是否吸烟”还可以手写规则;但一旦引入更多变量(如天气预报需要经度、纬度、气候变化、距海洋距离、急流模式等),ML 模型比人工规则更高效。这正是本课“为什么学习 ML”一节的实质答案。
3. 术语辨析:AI、ML、深度学习、数据科学
原文配图(见文首关系图,Infographic by Jen Looper)展示了 AI、ML、深度学习、数据科学四个概念的包含与交叉关系。结合课程给出的边界声明,可以得到一张清晰的概念地图:
- AI ⊃ ML:AI 是更大的概念,ML 是其子集,专门指“从数据中学模式”的分支;
- 深度学习 ⊂ ML:深度学习是用多层神经网络建模的 ML 子分支;
- 数据科学与 ML 交叉:数据科学覆盖数据探索、清洗、可视化到建模的完整链条,ML 是其中的建模核心。
原文明确列出了课程覆盖与不覆盖的内容,这是理解整门课边界的依据:
覆盖(经典 ML,主要使用 Scikit-learn):
- 机器学习核心概念
- ML 的历史
- ML 与公平性(fairness)
- 回归技术(regression)
- 分类技术(classification)
- 聚类技术(clustering)
- 自然语言处理技术(NLP)
- 时间序列预测(time series forecasting)
- 强化学习(reinforcement learning)
- ML 的真實世界应用
不覆盖:
- 深度学习(deep learning)
- 神经网络(neural networks)
- 广义 AI
课程的理由是:为了避免神经网络带来的复杂度,让“经典 ML”成为理解更广阔 AI 概念所必需的地基;数据科学方向则留待另一门 Data Science for Beginners 课程。从仓库结构看,这十个方向恰好对应根目录下 1-Introduction 到 9-Real-World 的主题分组和 README.md 课程总表中的 26 课(第 21–23 课为时间序列,第 24–25 课为强化学习,Postscript 两课为真实世界应用与模型调试)。
4. 开课前的环境准备清单(可执行版)
原文档的 Getting started 一节要求:开始前,你的电脑必须配置好并能本地运行 notebooks。原始清单与仓库 AGENTS.md 中的 Setup Commands 相互印证,合并后如下表:
| 准备项 | 原始要求 | 仓库确认的具体操作 |
|---|---|---|
| Python | 安装 Python 并理解基础语法 | Python 3.8+,用 python --version 验证 |
| Jupyter | 能本地运行 notebooks | pip install jupyter |
| ML 常用库 | 熟悉 Scikit-learn | pip install scikit-learn pandas numpy matplotlib seaborn |
| Node.js + npm | 部分课程(Web App)使用 JavaScript | 安装 node 与 npm |
| 代码编辑器 | 设置一个开发用编辑器 | Visual Studio Code(同时支持 Python 与 JavaScript) |
| GitHub 账号 | Fork 本课程到自己名下学习 | Fork 整个仓库后在本地完成练习 |
| Web App 课依赖 | 第 9 课构建 Flask 应用 | pip install flask(仅 Web App 课需要) |
| R(可选) | 多课提供 R 版本答案 | R 中执行 install.packages(c("tidyverse", "tidymodels", "caret")) |
验证环境的典型命令(依据 AGENTS.md 的 Setup Commands 与 Common Commands Reference):
# 检查 Python 版本(需要 3.8+)
python --version
# 安装 Jupyter 与课程常用库
pip install jupyter scikit-learn pandas numpy matplotlib seaborn
# 进入某个含 notebook 的课时目录后启动
jupyter notebook notebook.ipynb
注意事项(来自 TROUBLESHOOTING.md 与 AGENTS.md 的 Troubleshooting 章节):
- 若从 GitHub 克隆整个仓库,50+ 语言的翻译目录会显著增大下载体积;README.md 提供了 sparse checkout 方式(
git clone --filter=blob:none --sparse后git sparse-checkout set --no-cone '/*' '!translations' '!translated_images')跳过翻译目录; - Jupyter 内核卡死时执行 Kernel → Restart;import 报错先确认对应包已 pip 安装;路径报错时注意从 notebook 所在目录启动。
5. 为什么数据质量重要:贯穿后续课程的暗线
原文专门用一节强调:高质量数据提升模型性能;低质量或噪声数据即使搭配先进算法也会导致预测不准。 这一论断在课程后续动手课中都有落地案例,从仓库文件可以定位到每课处理的具体数据集:
| 主题组 | 实践数据 | 数据文件路径 |
|---|---|---|
| 回归 | 美国南瓜价格 | 2-Regression/data/US-pumpkins.csv |
| Web App | 部署回归模型为 Flask 应用 | 3-Web-App/1-Web-App/data/ |
| 分类 | 亚洲与印度菜谱 | 4-Classification/data/cuisines.csv |
| 聚类 | 尼日利亚音乐数据 | 5-Clustering/data/nigerian-songs.csv |
| 时间序列 | 世界电力使用量 | 7-TimeSeries/data/energy.csv |
因此从第 6 课起,几乎每个动手课都会先做数据可视化与清洗(例如 2-Regression/2-Data/README.md 专门练习“为 ML 准备数据”),这正是本课数据质量论点的教学闭环。
6. 机器学习的应用场景:原文示例与课程对应
原文列举的四个典型应用方向,在课程主题组中都能找到对应的动手练习:
- 从患者的病史或检查报告预测患病可能性 → 对应分类主题组 4-Classification/README.md(对菜谱分类数据训练分类器,方法论同构);
- 利用气象数据预测天气事件 → 对应时间序列主题组 7-TimeSeries/README.md(用 ARIMA 与 SVR 预测电力使用量);
- 理解文本的情感 → 对应 NLP 主题组 6-NLP/README.md(酒店评论情感分析两课);
- 检测假新闻以阻止宣传扩散 → 对应 9-Real-World/1-Applications/README.md 中的真实世界应用场景讨论。
原文还指出:金融、经济、地球科学、太空探索、生物医学工程、认知科学乃至人文学科,都已将 ML 用于解决各自领域中“数据处理繁重”的难题。
7. 本课挑战与作业:动手前的最后一步
- Challenge(挑战):在纸上或用在线绘图工具,手绘你对“AI、ML、深度学习、数据科学四者差异”的理解图,并标注每种技术擅长解决什么问题。该挑战直接检验第 3 节的概念地图,可结合 sketchnotes/ 目录中课程作者绘制的各主题手绘速记图对照检查。
- Assignment(作业):Get up and running——一项非计分作业,要求:复习 Python 基础(按原始指引的 Python Learning Path),并完成本机环境搭建,确保能够运行 notebooks。完成标准即第 4 节清单全部打勾、
jupyter notebook可正常打开课时笔记本。 - 课前/课后测验:由 quiz-app/ 提供的测验应用承载(全课程共 52 份)。
- 自研拓展:原文明确列出两条 Microsoft Learn 学习路径作为后续自学方向(云上用无代码方式构建预测模型、ML 基础入门模块),可在完成本课作业后按图索骥。
8. 小结与下一步
机器学习的本质是自动化地发现数据中的隐藏模式,并以发现的洞察辅助智能决策;它是 AI 的子集、深度学习又是 ML 的子集,数据科学则与之交叉覆盖更宽的数据处理链条。本课程的边界是“经典 ML + Scikit-learn”,不碰神经网络与深度学习。
完成本课后的推荐路线:
- 按第 4 节清单搭好 Python/Jupyter 环境并跑通一个空 notebook;
- 完成 Challenge(手绘四概念关系图)与 Assignment(环境自检);
- 依序学习 ML 历史 → 公平性 → ML 建模七步技术;
- 进入 2-Regression/1-Tools/README.md 开始第一个带 Jupyter notebook 与 R 双语解答的动手课。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0624
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00

