ML-For-Beginners 机器学习与人工智能发展史:从 1763 年贝叶斯定理到现代 ML 的完整里程碑时间线
本文基于微软开源课程 ML-For-Beginners 第 2 课 History of machine learning 整理而成。该课是"Introduction to machine learning"单元(12 周、26 课经典机器学习课程)中承接"什么是机器学习"之后的历史脉络课。读完后,你将掌握人工智能与机器学习发展史上从 1763 年贝叶斯定理到当代的关键人物、核心算法与阶段划分,并能理解这些历史节点如何与本课程后续的回归、NLP 等实战单元相互呼应。
本课配有 Tomomi Imura 绘制的手绘笔记(Sketchnote),以一张图概括整部机器学习的历史脉络,适合快速复习。
课程背景:为什么机器学习课程要从历史讲起
ML-For-Beginners 是一份"以世界文化为线索"的经典机器学习课程,主要使用 Scikit-learn,侧重经典机器学习而非深度学习(参见课程总 README)。在 Introduction 单元 中,"History of machine learning and AI" 是第 2 课,其学习闭环遵循该课程的教学法:课前小测 → 阅读课程 → 课后小测 → 挑战题 → 作业。
理解这段历史的价值在于:人工智能(AI)作为一门学科的历史与机器学习的历史深度交织——支撑机器学习的算法与计算进展直接推动了 AI 的发展。需要记住的是,虽然这两个领域作为独立研究方向是在 1950 年代才逐渐成形,但重要的算法、统计、数学、计算与技术发现都早于或重叠于这一时期。事实上,人类对"会思考的机器"的思考已有数百年之久。
关键发现:支撑现代 ML 的七个里程碑
原课以"Notable discoveries"一节列出了一条清晰的算法时间线。这些发现构成了后续所有课程的数学与算法地基:
| 年份 | 发现 | 提出者 | 核心思想 | 在本课程中的后续呼应 |
|---|---|---|---|---|
| 1763 / 1812 | 贝叶斯定理 | Bayes 及其前驱工作 | 基于先验知识推断事件发生的概率,是概率推理的基石 | 分类与不确定性估计的理论基础 |
| 1805 | 最小二乘理论 | 法国数学家 Adrien-Marie Legendre | 一种数据拟合方法 | 回归单元 中线性回归的核心 |
| 1913 | 马尔可夫链 | 俄国数学家 Andrey Markov | 基于前一状态描述可能事件的序列 | 序列建模的基础思想 |
| 1957 | 感知器(Perceptron) | 美国心理学家 Frank Rosenblatt | 一种线性分类器,是深度学习进展的先驱 | 分类单元 中的线性分类思想 |
| 1967 | 最近邻(Nearest Neighbor) | 最初用于路径规划映射 | 在 ML 语境下用于检测模式 | 经典无参数分类算法 |
| 1970 | 反向传播(Backpropagation) | — | 用于训练前馈神经网络 | 神经网络训练的标准技术 |
| 1982 | 循环神经网络(RNN) | 衍生自前馈神经网络 | 构建时序图(temporal graphs) | 序列与时序建模(参见时序单元) |
其中,最小二乘理论在本课程中有最直接的代码级体现:回归单元第 3 课 Linear Regression 明确说明"Least-Squares 指的是最小化模型总误差的过程"——对每个数据点测量其到回归线的垂直残差,平方后求和,寻找使该平方和最小的直线。该课还给出了最优拟合线的方程 Y = a + bX,并展示了如何用 Scikit-learn 的 LinearRegression 实际训练、用 RMSE 和判定系数评估模型。可见 1805 年的 Legendre 理论在 200 多年后依然是机器学习工程师日常调用的工具。
1950:会思考的机器——图灵与图灵测试
艾伦·图灵(Alan Turing)是一位极其杰出的人物——2019 年经公众投票被评选为"20 世纪最伟大的科学家"。他被视为奠定"能够思考的机器"这一概念基础的关键人物。他一方面要与质疑者抗衡,另一方面自己也需要为这一概念寻找实证,为此他设计了图灵测试(Turing Test)。
图灵测试的核心设定是:让一个人通过打字方式与一个人类和一个计算机进行会话,如果经过一定时长的对话后,人无法分辨回答来自计算机,那么是否可以认为这台计算机在"思考"?
本课程在 NLP 单元第 1 课 中专门回顾了这一测试的由来,并指出其灵感来源于一个名为"模仿游戏"的派对游戏:审问者独处在房间里,通过纸条向另一房间中的两名选手提问,试图分辨两人各自的性别——图灵正是把"分辨性别"替换成了"分辨人与机器"。
1956:Dartmouth 暑期研究项目——"人工智能"一词的诞生
原课直接引用了该项目的评价:"The Dartmouth Summer Research Project on artificial intelligence was a seminal event for artificial intelligence as a field"(Dartmouth 暑期人工智能研究项目是人工智能作为一个领域的开创性事件),"人工智能"(artificial intelligence)这一术语正是在此被提出。
项目负责人、数学教授 John McCarthy 的出发点是这样一个猜想:
"Every aspect of learning or any other feature of intelligence can in principle be so precisely described that a machine can be made to simulate it."(学习的方方面面或智能的其他任何特征,原则上都可以被精确描述到足以让机器模拟它。)
与会者中包括该领域的另一位巨匠 Marvin Minsky。据课程所述,这次研讨会被认为发起并推动了多方面的讨论,包括:
- 符号方法(symbolic methods)的兴起;
- 面向有限领域的系统(早期专家系统的雏形);
- 演绎系统(deductive systems)与归纳系统(inductive systems)的对立。
1956–1974:"黄金年代"——乐观、资金与三台原型机器
从 1950 年代到 1970 年代中期,乐观情绪高涨,人们相信 AI 能解决大量问题。1967 年,Marvin Minsky 自信地断言:"Within a generation ... the problem of creating 'artificial intelligence' will substantially be solved."(在一个世代之内……创造"人工智能"的问题将基本得到解决。)(引自 Minsky, Marvin (1967), Computation: Finite and Infinite Machines, Prentice-Hall)
这一时期的特征包括:自然语言处理研究繁荣、搜索技术被不断改进和强化、"微世界"(micro-worlds)概念的诞生——即用自然语言指令完成简单任务的封闭环境。政府机构提供了充足的研究资金,计算与算法都有进展,一批"智能机器"原型被建造出来。课程重点介绍了三台代表性机器:
1. Shakey 机器人
能够自主移动并"智能地"决定如何执行任务的机器人:
Shakey,拍摄于 1972 年,是黄金年代最具代表性的移动机器原型之一。
2. Eliza:初代"聊天机器人"
Eliza 能够与人对话并扮演一个原始的"治疗师"角色。它的运作方式是解析句子、识别某些语法结构和关键词,然后重排、替换词语来生成看似合理的回应——例如用户说 "I am sad",它会回应 "How long have you been sad",营造出"理解"的假象,实际上只是改变了时态并加了些词。
Eliza 是早期"聊天机器人"的代表,也是后来引发"机器是否真的理解语言"争论的重要案例。
课程在此提示:你将在 NLP 课中更深入地了解 Eliza。事实上,NLP 第 1 课 专门用一整节"Developing Eliza"剖析了 Joseph Weizenbaum 在 1960 年代开发的这一"计算机治疗师":它能识别关键词模式并套用应答模板,但无法被说成是真正理解句子——如果用户写 "You are a bicycle",它可能机械地回应 "How long have I been a bicycle?",而不是给出任何有理性的回答。该课甚至要求学生亲手用 Python 写一个 Eliza 式的随机应答 bot(参考其 solution/bot.py),从而在实践中体会"看起来理解"与"真正理解"的差距。
3. Blocks World 与 SHRDLU
"Blocks world"(积木世界)是一个典型的微世界:积木可以被堆叠和排序,用来实验"教机器做决策"。SHRDLU 等库推动的语言处理进展让这一实验得以展开,也带动了整体语言处理研究的前进。
1974–1980:"AI 寒冬"——承诺为何落空
到 1970 年代中期,人们逐渐意识到:制造"智能机器"的复杂性被严重低估了,而其在当时算力条件下的前景被过度吹捧。资金枯竭,领域内信心下滑。课程归纳了四个直接打击信心的问题:
- 算力局限(Limitations):当时的计算能力太有限。
- 组合爆炸(Combinatorial explosion):要求计算机做的事情越多,需要训练的参数呈指数级增长,而算力没有同步演进。
- 数据匮乏(Paucity of data):缺少数据,阻碍了算法的测试、开发与迭代。
- 我们问对问题了吗(Are we asking the right questions?):研究者开始遭到对其研究路线本身的批评:
- 图灵测试受到"中文房间理论"(chinese room theory)等思想的挑战——该理论认为,给数字计算机写程序可能让它看起来理解语言,但无法产生真正的理解;
- 将 ELIZA 这样的"治疗师"型 AI 引入社会的伦理问题受到质疑。
"Scruffy"与"Neat"两大流派的分野
与此同时,各种 AI 学派开始形成,出现了 "scruffy"(粗糙派)与"neat"(整洁派)AI 实践之间的二分法:
- Scruffy 实验室:花数小时反复调程序,直到得到想要的结果;
- Neat 实验室:聚焦于逻辑与形式化问题求解。
ELIZA 和 SHRDLU 是著名的 scruffy 系统。到 1980 年代,随着社区出现让 ML 系统可复现(reproducible)的需求,neat 路线因其结果更可解释(more explainable)而逐渐占据前沿。这一条脉络对今天的工程实践仍有直接意义:可解释性与可复现性至今仍是模型部署的核心诉求。
1980 年代:专家系统——第一种真正成功的 AI 软件
随着领域发展,AI 对商业的价值变得愈发清晰,"专家系统"(expert systems)在 1980 年代大量普及。课程引用了这样的评价:"Expert systems were among the first truly successful forms of artificial intelligence (AI) software."(专家系统是最早真正成功的人工智能软件形式之一。)
值得注意的技术细节是:这类系统实际上是**混合型(hybrid)**架构,由两部分构成:
- 一个规则引擎(rules engine):定义业务需求(用规则表达领域知识);
- 一个推理引擎(inference engine):利用规则系统来推导(deduce)新事实。
这一"规则 + 推理"的双引擎结构,是后来所有基于知识的 AI 应用的原始形态。与此同时,这一时期神经网络也开始获得更多关注——为 1980 年代末的复兴埋下伏笔。
1987–1993:AI "降温期"——专业化硬件的败笔
专业化专家系统硬件的泛滥带来了一个不幸的后果:它们变得过于专用。与此同时,个人电脑的崛起与这些大型、专用、集中式系统形成竞争。课程将这一转折概括为:计算的平民化(democratization of computing)开始了,并最终为后来大数据的爆发铺平了道路。
1993–2011:数据与算力双爆发,学科走向成熟
这一纪元让 ML 和 AI 能够解决此前因数据和算力不足而无法解决的问题:
- 数据:数据量开始快速增长并变得更易获取(有好有坏),尤其是 2007 年前后智能手机出现之后;
- 算力:计算能力指数级扩张,算法随之演进;
- 学科化:随着早期"自由散漫"的日子沉淀,领域开始走向成熟,结晶体般凝固为一门真正的学科(a true discipline)。
这一判断与课程整体定位高度一致:课程主打的正是这种已经成熟、可复现、以 Scikit-learn 为代表的"经典机器学习",而不是实验性的新范式。
现在(Now):理解风险与潜力
原课最后指出:如今机器学习和 AI 几乎触及生活的方方面面。这个时代要求我们审慎地理解这些算法对人类生活的风险与潜在影响。课程引用了微软 Brad Smith 的表述,大意是:信息技术触及隐私和言论自由等根本人权保护的核心,这加重了创造这些产品的科技公司的责任,同时也呼吁审慎的政府监管和围绕"可接受用法"建立行为规范。
课程作者的结论是:未来如何仍待观察,但理解这些计算机系统及其上运行的软件与算法至关重要——这门课程的目标,就是帮你获得足够的理解力,从而能够自己做出判断。这也解释了本仓库 3-fairness 课(ML 公平性)为什么紧跟在历史课之后——历史中的"Are we asking the right questions?"在当代的延续,正是公平性与责任问题。
挑战与作业:亲手构建一条时间线
原课的学习闭环包含两个实践环节:
挑战(Challenge)
深入挖掘上述某个历史时刻,了解其背后的人物。原课的提示是:"There are fascinating characters, and no scientific discovery was ever created in a cultural vacuum."(其中有引人入胜的人物,且没有任何科学发现诞生于文化真空之中。)你会发现什么?
此外,课程还布置了一个开放性调研任务:查一查还有哪些年份在 ML 与 AI 历史上同样关键——建议对照仓库中已有的 关键发现时间线 自行补充,例如 2012 年前后的深度学习突破、1997 年 Deep Blue 战胜国际象棋世界冠军等,并思考它们为何没有出现在 1993–2011 段落的叙述中。
作业(Assignment):Create a timeline
作业要求见 assignment.md,核心指令是:
- 使用 timeline-builder 仓库(一个 Digital Humanities Toolkit 的开源时间线构建器)创建一条时间线;
- 主题可以是算法、数学、统计、AI 或 ML 历史的某个方面,或它们的组合;
- 可以聚焦一个人、一个思想,或一段漫长的思想演进;
- 务必添加多媒体元素;
- 评分标准(Rubric):
| 标准 | 卓越(Exemplary) | 合格(Adequate) | 需改进(Needs Improvement) |
|---|---|---|---|
| 交付物 | 一个部署为 GitHub Pages 的时间线 | 代码不完整且未部署 | 时间线不完整、研究不充分且未部署 |
这个作业的设计意图很值得注意:它让学习者反向梳理本文梳理过的内容——把 Bayes、Legendre、Markov、Turing、McCarthy 等节点用交互式时间线重述一遍,是检验是否真正内化历史的最佳方式。
延伸学习:把历史课接回课程主线
学完本课之后,原课推荐阅读/聆听的资料(包括 Amy Boyd 关于 AI 演进的播客与演讲、Yann LeCun 关于深度学习历史的讲座等,详见原 README 的 Review & Self Study 一节),并可通过以下仓库内资源继续深入:
- 回到算法本身:最小二乘 → 线性回归实战(Scikit-learn 训练、RMSE、判定系数、多项式回归与 one-hot 编码的完整代码);
- 回到图灵测试与 Eliza:NLP 第 1 课(模仿游戏的由来、ELIZA 的开发细节,以及动手写一个 Python 对话 bot);
- 单元导航:通过 docs/_sidebar.md 查看整个 12 周课程大纲,本课位于 Introduction 单元第 2 位,之后是 ML and Fairness 与 Techniques of ML;
- 离线学习材料:本目录还附带 lesson-2.pdf,是本课的 PDF 版本,适合打印复习。
小结
本课以时间轴串起了机器学习与 AI 发展的完整骨架:数学奠基(1763–1913:贝叶斯、最小二乘、马尔可夫链)→ 学科诞生(1950 图灵测试、1956 Dartmouth 会议与"人工智能"一词)→ 黄金年代(1956–1974:Shakey、Eliza、Blocks World,乐观与政府资助)→ 第一次寒冬(1974–1980:算力、组合爆炸、数据匮乏、中文房间质疑,neat/scruffy 分野)→ 专家系统商业化(1980s:规则引擎 + 推理引擎的混合架构)→ 降温期(1987–1993:专用硬件败于 PC 平民化)→ 数据算力双爆发(1993–2011)→ 当代(理解风险、公平与责任)。这条时间线不仅解释了"ML 从哪里来",更预告了后续每一课会站在哪块历史基石之上。
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


