ML-For-Beginners 课程实战指南:构建机器学习历史时间线(Create a Timeline 作业全解析)
【免费下载链接】ML-For-Beginners12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all项目地址: https://gitcode.com/GitHub_Trending/ml/ML-For-Beginners
本指南基于 ML-For-Beginners 课程第 2 课《机器学习的历史》配套作业(英文原版见 assignment.md,西班牙语译本见 translations/es/1-Introduction/2-history-of-ML/assignment.md),完整拆解作业要求、评分标准与实现路径。通过本文,你将掌握如何借助开源的 timeline-builder 时间线构建工具,围绕算法、数学、统计学、AI 或 ML 的历史素材制作一条带有多媒体元素的时间线,并将其部署为 GitHub Pages 页面,同时系统重温课程中从贝叶斯定理到深度学习的百年发展脉络。
上图是课程配套的《机器学习历史》手绘 sketchnote(作者 Tomomi Imura),本身就是一条浓缩版历史时间线,可作为你构建作业时间线时的结构参考。
一、作业在课程中的位置
该作业位于课程第一单元(Introduction)的第 2 课《The History of machine learning and AI》,由 Jen Looper 与 Amy Boyd 编写(见 1-Introduction/README.md 的 Credits 说明)。它属于「课程后作业」,紧接在 2-history-of-ML/README.md 的正文内容与课后小测之后,其前置知识正是该课讲述的完整历史叙事——从 18 世纪的数学先驱,到 1950 年代的图灵测试、1956 年达特茅斯会议,再到 AI 寒冬、专家系统与当代深度学习时代。
与其配套的教学资源还包括:
- 课程正文:2-history-of-ML/README.md
- 授课讲义 PDF:lesson-2.pdf
- 历史插图素材:images/shakey.jpg 与 images/eliza.png
该作业的设计意图是用「做」来检验「学」:把课堂上以文字叙述的历史脉络,转化为一条可视化、可交互、可部署的时间线,考察学习者对历史关键节点的理解深度、信息检索能力与前端部署基本功。
二、作业要求逐条解析
作业正文(Instructions)的核心要求如下:
- 使用指定的 timeline-builder 开源仓库构建时间线。该工具以数据驱动的思路组织时间线内容,具体的使用方式、数据文件格式与构建命令请以该仓库自身的 README 文档为准。
- 选题范围:算法、数学、统计学、AI 或 ML 的历史,也可以是上述主题的组合。
- 聚焦方式三选一:
- 聚焦一个人物(如 Alan Turing、Frank Rosenblatt、John McCarthy、Marvin Minsky);
- 聚焦一个思想/概念(如贝叶斯推理、神经网络、专家系统);
- 覆盖一个长时段的思潮演进(如 1956–1974 黄金年代、1974–1980 AI 寒冬)。
- 必须添加多媒体元素(multimedia elements),例如历史照片、手绘示意图、视频嵌入、访谈音频等,让时间线不只是日期堆砌。
值得注意的是,作业对「时间线」的呈现形态有明确预期:评分细则中「优秀」等级的标准是A deployed timeline is presented as a GitHub page——即最终产物必须是一条已部署为 GitHub Pages 页面的时间线,而非仅仅停留在本地或仓库中未运行的代码。
三、选题素材库:直接取材于第 2 课正文
作业允许自行选题,但最稳妥、也最能体现课堂知识吸收的做法,是直接从课程正文 2-history-of-ML/README.md 中选取素材。课程正文本身已经给出了一条清晰的时间线索,可以按以下两类组织你的时间线:
3.1 关键算法与数学发现(适合「思想/概念」型选题)
| 年份 | 事件 | 课程描述要点 |
|---|---|---|
| 1763 / 1812 | 贝叶斯定理及其前身 | 基于先验知识描述事件发生概率,是推断(inference)的基石 |
| 1805 | 最小二乘理论(Adrien-Marie Legendre) | 用于数据拟合,后续在课程回归单元(2-Regression)中深入学习 |
| 1913 | 马尔可夫链(Andrey Markov) | 基于前一个状态描述一系列可能事件 |
| 1957 | 感知机(Frank Rosenblatt) | 一种线性分类器,是深度学习发展的底层支撑 |
| 1967 | 最近邻算法 | 最初用于路径规划,ML 语境下用于模式检测 |
| 1970 | 反向传播 | 用于训练前馈神经网络 |
| 1982 | 循环神经网络(RNN) | 由前馈神经网络衍生,构建时序图结构 |
3.2 时代里程碑(适合「长时段思潮」型选题)
- 1950:会思考的机器——Alan Turing 提出图灵测试,为「机器能思考」奠定概念基础(该概念后续在课程 NLP 单元继续展开)。
- 1956:达特茅斯夏季研究项目——术语「artificial intelligence」在此被正式命名,John McCarthy 主持,Marvin Minsky 参与,催生了符号方法、早期专家系统、演绎系统与归纳系统之争。
- 1956–1974:「黄金年代」——NLP 研究繁荣、搜索技术精进、「微世界(micro-worlds)」概念诞生;代表性成果包括 Shakey 机器人、ELIZA 聊天机器人与 SHRDLU 积木世界。
- 1974–1980:「AI 寒冬」——算力受限、组合爆炸、数据匮乏,图灵测试遭到「中文房间」思想实验质疑,ELIZA 的伦理问题被提出;同时形成「整洁派(neat)vs 杂乱派(scruffy)」两大流派。
- 1980 年代:专家系统——由规则引擎与推理引擎组成的混合系统,成为首批真正成功的 AI 软件形态。
- 1987–1993:AI「降温」——专用硬件过度专精,个人电脑普及带来算力民主化,为大数据时代铺路。
- 1993–2011——数据量与算力双双爆发(2007 年智能手机普及尤为关键),ML 从自由探索走向真正意义上的学科化。
- 今天——算法深度介入人类生活,隐私、表达自由等权利议题与负责任的 AI 成为核心关切。
若选择「人物」型选题,可参考课程正文中提及的 Turing、McCarthy、Minsky、Rosenblatt、Legendre、Markov 等人,并结合课程末尾的挑战题(Dig into one of these historical moments)做延伸研究。
四、时间线内容如何组织:从叙事到条目
无论使用什么工具,一条合格的历史时间线都需要先把「叙事」转化为「结构化条目」。建议每个事件条目至少包含以下字段:
- 日期/时间区间(精确到年份即可,长时段事件给区间)
- 事件标题(一句话概括)
- 人物/组织(谁推动了这件事)
- 详细描述(2–4 句话,说明技术内涵与历史意义,可复述课程正文中的要点)
- 多媒体素材(图片、视频、音频的 URL 或本地文件)
以课程正文素材为例,一个「1956–1974 黄金年代」的条目可以这样组织:
1966:Shakey 机器人——斯坦福研究院(SRI)研制的移动机器人,可自主机动并「智能地」决定如何执行任务,被视为早期 AI 实体化的代表。课程提供了其历史照片:
1966:ELIZA——早期「聊天机器人(chatterbot)」,能与人对话并扮演初级「心理治疗师」,本质是基于模式匹配的交互程序。课程提供了其对话界面截图:
1968–1970:Blocks World / SHRDLU——积木堆叠排序的「微世界」实验环境,用于测试机器决策与语言处理能力。
多媒体元素的选择标准应与课程风格一致:课程正文大量使用 sketchnote(如 sketchnotes/ml-history.png)、历史照片与视频链接来辅助讲解,你的时间线也应遵循「图文并茂、一图一义」的原则,为每个重要节点配上能说明其技术特征的多媒体内容。
五、从本地构建到 GitHub Pages 部署
作业评分的分水岭在于是否完成部署。参照「优秀」等级「deployed as a GitHub page」的要求,完整流程通常分为两步:
- 本地构建:按照 timeline-builder 仓库的 README 说明,将整理好的时间线数据填入工具要求的数据文件,运行构建命令生成本地静态页面,在浏览器中预览并检查:日期排序是否正确、每个节点描述是否完整、多媒体是否正常加载、页面在不同屏幕尺寸下是否可读。
- 部署到 GitHub Pages:将包含构建产物(通常是
index.html及配套资源)的分支推送到 GitHub 仓库,然后在仓库的 Settings → Pages 中,将发布来源(Source)指向该分支(及必要的目录),保存后即可获得公开访问的 Pages 地址。由于 Pages 部署需要等待构建与发布,建议在提交前先本地完整验证一次,避免反复推送。
需要说明的是:timeline-builder 的具体数据格式与命令以该仓库文档为准,本指南不替该工具虚构接口;作业原文也明确要求「Using this repo」,因此以工具仓库自身的 README 为操作依据是本作业的前提。
六、评分标准(Rubric)逐级拆解
作业附带的评分表只有一列评估维度,三个等级,完整复刻如下:
| 标准 | 优秀(Exemplary) | 合格(Adequate) | 需改进(Needs Improvement) |
|---|---|---|---|
| 综合 | 时间线已部署为 GitHub 页面并成功呈现 | 代码不完整且未部署 | 时间线不完整、研究不充分且未部署 |
对照三个等级的达成要点:
- 优秀:时间线完整覆盖所选主题的关键节点,事件描述经过充分研究(可参考课程正文与讲义 lesson-2.pdf 交叉核对史实),多媒体元素与主题强相关,最终成功部署为 GitHub Pages 页面,链接可公开访问。
- 合格:时间线内容基本成型,但代码存在缺口(如数据未填全、构建报错、页面渲染不完整),且停留在本地、未完成部署。
- 需改进:选题研究不深入、节点大量缺失、多媒体缺失,且完全没有部署动作。
可以看出,「部署」是拉开档次的决定性动作——即使内容不错,只要未部署,最高也只能停留在「合格」。建议把「先本地跑通、再部署上线」作为硬性完成标准。
七、从历史到课程的闭环:作业的深层价值
这条时间线并非孤立的展示品,它与课程后续单元存在多处呼应,做作业时不妨顺手标注这些连接点,让时间线真正成为课程地图:
- 回归单元(2-Regression):将深入学习 1805 年 Legendre 的最小二乘理论,你的时间线可以预告这一知识落点;
- NLP 单元(6-NLP):将重新讨论图灵测试与 ELIZA 的语言交互原理;
- 分类单元(4-Classification):感知机(1957)与最近邻(1967)正是分类算法谱系的源头;
- 强化学习单元(8-Reinforcement):与「机器自主决策」的传统一脉相承,可回溯到 Shakey 机器人的时代。
通过这种方式,作业成果就从「一条历史时间线」升级为「贯穿整个 ML-For-Beginners 课程的知识索引」,这也正是课程在正文结尾所期待的:理解这些系统、软件与算法,让你能对 AI 的未来形成自己的判断。
八、完成检查清单
提交前对照以下清单自检,确保达到「优秀」等级:
- 选题是否明确属于算法 / 数学 / 统计学 / AI / ML 历史范畴,且聚焦于一个人物、一个思想或一个长时段?
- 时间线是否完整覆盖所选主题的主要节点,每个条目是否包含日期、标题、描述与出处?
- 是否已添加多媒体元素(图片、视频或音频),且与节点内容强相关?
- 是否已按 timeline-builder 仓库文档完成本地构建并预览通过?
- 是否已部署为 GitHub Pages 页面,且公开链接可以正常访问?
- 日期排序、中英文/语言一致性与拼写是否正确?
完成以上全部检查,你不仅交付了一条可访问的历史时间线,也系统复习了 ML 从数学萌芽到深度学习浪潮的完整演进史——这正是第 2 课与本次作业希望达成的双重目标。
【免费下载链接】ML-For-Beginners12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all项目地址: https://gitcode.com/GitHub_Trending/ml/ML-For-Beginners
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考