首页
/ ML-For-Beginners 实战:构建并部署「机器学习与人工智能发展史」时间线(History of ML 作业指南)

ML-For-Beginners 实战:构建并部署「机器学习与人工智能发展史」时间线(History of ML 作业指南)

2026-09-06 19:20:03作者:蔡丛锟

本篇技术指南面向正在学习开源课程 ML-For-Beginners 的学习者,聚焦第 1 单元「机器学习简介」中 2-history-of-ML(机器学习的历史) 一课结尾的动手作业:把 AI/ML 发展历程做成一条带多媒体要素、可交互浏览并最终部署为 GitHub 页面的时间线。读完本文,你将理解该作业的全部硬性要求与评分细则,掌握「选题 → 研究 → 组织内容 → 部署 → 对照 Rubric 自查」的完整执行路径,并可直接复用本仓库课程正文中已经梳理好的历史里程碑素材。

History of machine learning 视觉笔记

上图是课程作者为 2-history-of-ML 一课绘制的 sketchnote(视觉笔记),以时间轴形式浓缩了机器学习史的关键节点,可作为你设计时间线版式与叙事主线的直观参照。

一、作业概览:它在课程中处于什么位置

本作业是 ML-For-Beginners 课程作业体系中的一环。该课程共 12 周、26 课、52 个测验,面向所有背景的学习者;每一课的结构通常为「课前测验 + 正文讲解 + 动手作业(assignment)」。本作业所属单元 1-Introduction 由四课构成:机器学习导论、机器学习的历史、机器学习中的公平性、机器学习的技术方法,其中本作业对应的正是第二课。

课程正文在末尾以「Assignment」小节链接了作业文件(英文原版保加利亚语译本),说明作业的设计意图是:不要求背诵日期,而是要求你把课堂上学到的历史叙事,转化为一件自研的可视化作品——这正是历史类知识「做中学」的经典练习。

二、作业要求逐条拆解(Instructions)

把两份作业文件的指令合并解读,可以得到以下四条硬性要求:

  1. 使用指定工具:作业明确要求借助 GitHub 上由 Digital-Humanities-Toolkit 组织维护的开源项目 timeline-builder 来完成时间线的构建。需要说明的是,该工具并不包含在当前 ML-For-Beginners 仓库中,其具体数据格式、命令与用法请以其项目内的 README 为准。
  2. 主题范围:为「算法、数学、统计学、AI 或 ML 的历史」中的某个方面制作时间线,也允许取其中多个方面的交叉组合。
  3. 聚焦方式三选一:你可以聚焦于一个人物(one person)、一个思想/概念(one idea),或一段较长的思想演进跨度(a long timespan of thought)。这意味着作业考查的不是「把所有年份堆上去」,而是有选择、有叙事主线
  4. 必须包含多媒体元素(add multimedia elements):时间线不能只是纯文字日期列表,需要配合图片、照片、视频、引言等视觉/媒体素材来增强表达。

作业的最终交付物不是一个普通网页,而是可以公开访问的 GitHub Pages 页面(详见评分标准一节),这一点决定了你在技术选型与完成度上的努力方向。

三、研究起点:课程正文已备好的时间线素材

作业对「研究是否充分(well researched)」有明确要求,而最省力的起步素材就在本课正文中。课程 README 已按「Notable discoveries」和「历史分期」两条线索整理了核心内容,下面把它们整理成可直接进入时间线草稿的「素材卡」:

时间 里程碑 一句话要点(据课程正文整理)
1763 / 1812 贝叶斯定理及其前身 奠定推断(inference)的数学基础,用先验知识描述事件发生的概率
1805 最小二乘理论(Adrien-Marie Legendre) 服务于数据拟合,课程第 2 单元回归专题会深入学习
1913 马尔可夫链(Andrey Markov) 用前一状态描述一系列可能事件的序列
1950 图灵与「能思考的机器」 艾伦·图灵提出图灵测试,为「机器能否思考」提供经验性判据
1956 达特茅斯夏季研究项目 「人工智能」一词在此被正式提出,参与者包括 John McCarthy、Marvin Minsky
1957 感知机 Perceptron(Frank Rosenblatt) 一种线性分类器,被视为深度学习发展的底层推动力之一
1967 最近邻算法 Nearest Neighbor 最初用于路线规划,在 ML 语境中被用来识别模式
1970 反向传播 Backpropagation 用于训练前馈神经网络
1972 前后 Shakey 机器人 / ELIZA / Blocks World 黄金年代的代表性原型机与「微世界」(SHRDLU)实验
1974–1980 「AI 寒冬」 算力受限、组合爆炸、数据匮乏,以及中文房间理论等对研究范式的质疑
1982 循环神经网络 RNN 由前馈神经网络衍生,可建立时间维度的图结构
1980 年代 专家系统 Expert Systems 首批真正成功的 AI 软件形态:规则引擎 + 推理引擎的混合系统
1987–1993 「AI 寒潮」 专用硬件过于封闭,个人电脑兴起,计算走向民主化
1993–2011 数据与算力的复兴 数据量激增(2007 年智能手机普及)、算力指数增长,ML 走向成熟学科
当下 ML 无处不在 隐私、表达自由等议题凸显,呼唤负责任的开发与合理监管

除此之外,正文还提供了贯穿全篇的历史分期叙事:1956–1974 的「黄金年代」(政府对研究大力资助,NLP、搜索、微世界研究蓬勃发展)、「scruffy vs. neat AI」两大学派的路线之争、1980 年代专家系统与神经网络关注度的回升,以及进入大数据时代后学科的逐渐成熟。

使用方法建议:把上表当作时间线的「初稿素材池」,再结合课程正文与可靠公开资料逐条核对日期、人名与表述,这既是提升时间线质量的过程,也直接对应 Rubric 中「研究是否充分」的评分维度。

四、三种典型选题与大纲示例

作业给了三种聚焦方式,下面结合课程正文各给出一种可落地的示范思路:

  • 聚焦一个人物:例如围绕艾伦·图灵展开,从 1950 年的「模仿游戏」与图灵测试出发,延伸到他为「会思考的机器」概念所做的辩护与经验验证。人物选题的核心是写出「他在哪个问题上、如何改变了领域」。
  • 聚焦一个思想/概念:例如「神经网络这条思想线」,把 1957 感知机、1970 反向传播、1982 循环神经网络、1980 年代神经网络关注度回升直至当代深度学习串成一条主线——这是课程正文中反复出现的暗线,叙事完整性很高。
  • 聚焦一段长跨度:例如从 1763 年贝叶斯定理出发,经 1805 最小二乘、1913 马尔可夫链,一路走到 1956 达特茅斯会议与之后的数次热潮/寒冬,呈现「数学基础先于 AI 学科成熟」的整体图景,正好呼应正文「人们已思考这些问题数百年」的开篇论断。

无论选哪条路,都建议先写一句「一句话选题声明」(我要讲什么、为什么这条线值得讲),再据此筛选时间点,避免把时间线做成没有观点的流水账。

五、时间线条目结构与多媒体要素设计

为了让时间线兼具信息密度与可读性,建议每个条目标签统一包含以下字段:

  • 时间点:尽量精确到年份,必要时给出区间(如 1974–1980 AI 寒冬);
  • 标题:一句话点名事件或人物;
  • 正文:2~4 句说明「是什么 + 为什么重要」;
  • 来源标注:记录每条信息的出处,便于自查与复核;
  • 媒体素材:为该条目配一张图、一段视频或一句引言。

关于「多媒体要素」,课程正文本身就是很好的范例仓库:例如黄金年代部分配了 Shakey 机器人的历史照片 shakey.jpg 和早期聊天机器人 ELIZA 的截图 eliza.png,并为 Blocks World/SHRDLU 实验嵌入了演示视频。在为自己的时间线选择媒体时,应优先使用明确可授权的内容或自行绘制的示意图(课程采用 CC 授权信息与作者署名的做法值得参考),避免随意转载来源不明的素材。

六、构建与部署:把时间线变成 GitHub Pages

评分标准中「已部署」是优秀档位的硬门槛,因此工程上要把「生成静态页面 → 托管到 GitHub Pages」作为闭环目标。由于作业指定的 timeline-builder 属于仓库外的第三方项目,其具体命令请按其项目文档执行;这里给出与交付形态相关的通用部署路径:

  1. 在本地按工具要求准备数据(通常是按「时间、标题、描述、媒体链接」组织的结构化条目)并生成静态页面;
  2. 将成果初始化为 Git 仓库并推送到 GitHub;
  3. 在仓库设置中开启 GitHub Pages,选择对应的发布分支与目录(如 main 分支的根目录或 /docs 目录);
  4. 得到公开访问 URL,即为作业要求中的「presented as a GitHub page」。

部署完成后,建议同时交付可访问的页面 URL完整可复现的源码仓库,前者证明「已部署」,后者证明「代码完整」,二者共同构成优秀档位的证据。

七、对照 Rubric 做交付前自查

作业文件附带的评分表是整个任务的验收标准,原文(保加利亚语译本,与英文原版一致)为三档评价,翻译整理如下:

标准 优秀(Exemplary) 合格(Adequate) 待改进(Needs Improvement)
整体评价 已开发完成的时间线以 GitHub 页面形式呈现 代码不完整且未部署 时间线不完整、研究不充分且未部署

据此可把交付前自查变成三条硬检查:

  1. 是否完整:选题范围内的事件是否成链、有无明显断档或留空;
  2. 是否研究充分:每一条目的日期、人物、归属关系是否经过交叉核对并标注来源,而非只依赖单一二手资料;
  3. 是否已部署:是否已生成静态页面并成功托管为 GitHub Pages,URL 能否在无本地环境时正常访问。

「合格」与「优秀」的分界线往往只在第 3 条:代码写完但未部署,就停留在合格档。因此哪怕时间线规模较小,也务必先跑通部署闭环。

八、让一次历史作业连接后续课程

这门课的巧妙之处在于,你在时间线里写下的很多条目,会在后面的课程中「重逢」:1805 年的最小二乘理论是第 2 单元 回归 的数学地基;图灵测试与 ELIZA 会在第 6 单元 NLP(自然语言处理) 中再次登场;感知机与神经网络的思想线则贯穿分类等后续专题。做完这次时间线后,如果想让叙事更丰满,可以回到 课程正文 末尾的 Review & Self Study 与 🚀Challenge 小节,深入挖掘某位历史人物所处的时代背景——正如正文所提醒的,没有任何科学发现诞生在文化真空中。

登录后查看全文
热门项目推荐
相关项目推荐