AI 发展史(二):统计机器学习 —— AI 第一次学会"从数据里学"

Administrator 1 阅读 AI 发展史

阶段跨度:1986 – 2010 | 关键词:反向传播、SVM、决策树、scikit-learn
一句话总结:AI 不再靠人写规则,而是从海量数据里自己总结规律——今天所有 AI 的"学习方法",都是这个时代奠定的。

1. 发生了什么

转机出现在 1986 年:Rumelhart、Hinton 等人发表**反向传播(Backpropagation)**算法——让多层神经网络可以训练了。之前"感知机学不会异或"的死结被解开,神经网络重新活了下来。

但真正成为主流的是一帮统计学味道更浓的方法,因为它们更实用、更可控:

  • 1995 年,SVM(支持向量机):小数据时代的王者,数学优雅,一度是"最好的分类器"
  • 2001 年,随机森林:把很多棵决策树绑在一起投票,简单粗暴但效果稳定
  • 同期贝叶斯方法、逻辑回归、梯度提升树(GBDT)陆续成熟

这个时代最重要的思想转变:AI 的问题被重新定义为——

不再问"怎么给机器写规则",而是问"怎么让机器从样本中归纳规则"。

垃圾邮件过滤、信用评分、推荐系统、搜索引擎排序……你身边最早一批"智能"产品,全是这套方法造的。

2. 这个时代的工具

工具年代地位
WEKA1993老牌 Java 机器学习工具,教学常青树
libsvm2000SVM 事实标准库,无数论文用它跑实验
scikit-learn2007至今仍是机器学习入门第一库,Python 生态核心
NLTK2001自然语言处理启蒙库

scikit-learn 是这个时代留给普通开发者最大的礼物:统一的 API、几行代码一个模型,把机器学习从论文拉进了工程师的日常。

3. 怎么用:5 行代码训练你的第一个 AI

装好 Python 后 pip install scikit-learn,下面这段代码跑的就是经典的鸢尾花分类——机器学习界的 "Hello World":

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

# 1. 加载数据(150 朵花,4 个特征:花瓣长宽、花萼长宽)
X, y = load_iris(return_X_y=True)

# 2. 切分:70% 训练,30% 考试
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

# 3. 训练模型 —— 注意,"学习"就发生在这一行
model = RandomForestClassifier()
model.fit(X_train, y_train)

# 4. 考试
print("准确率:", model.score(X_test, y_test))   # 通常 0.95 左右

核心流程就这四步:数据 → 切分 → fit → 评估。 后来深度学习、大模型时代换的只是"模型"和"数据规模",流程骨架一模一样。

4. 这个时代的天花板

统计机器学习很能干,但有个迈不过去的坎:喂给它的特征得靠人手工设计。想识别猫,你得先告诉它"猫有尖耳朵、有胡须"——这些特征还是人在写规则,只是换了个地方写。

图片、语音这种原始数据,人工根本设计不出足够好的特征。

下一篇预告:2012 年,AlexNet 用 GPU 训练深层网络横扫 ImageNet,证明了一件大事——不用人设计特征,让网络自己学。深度学习革命开始了。