跳到主要内容

过渡:从经典机器学习到深度学习

本节定位

这不是一篇新算法课,而是一页“过渡地图”。它的任务只有一个:让你从第四阶段进入第五阶段时,不会觉得像突然换了一门课。

学习目标

  • 看清第四阶段和第五阶段到底是“断开”还是“递进”
  • 理解为什么传统 ML 后面还需要学神经网络
  • 看懂神经网络和传统模型在“数据、损失、优化、评估”上的共同骨架
  • 为后面的神经元、反向传播、PyTorch 训练循环建立心智桥梁

零、先建立一张地图

很多新人学完第四阶段会有两个典型疑问:

  • 既然线性回归、逻辑回归、树模型已经能做很多事,为什么还要学深度学习?
  • 到了第五阶段,为什么一下子多了层、梯度、反向传播、PyTorch 这些新东西?

更稳的理解方式是先看这条演进线:

所以第五阶段不是推翻第四阶段,而是在第四阶段已经建立的建模思维上继续往前走。


一、第四阶段到底已经学会了什么

第四阶段真正教会你的,不只是几个模型名,而是下面这条建模主线:

  1. 先判断任务类型
  2. 先立 baseline
  3. 再选指标
  4. 再做改进
  5. 最后做错误分析和复盘

这些东西到了第五阶段并不会消失。

1.1 第五阶段真正新增的,不是“有没有评估”

很多人会误以为到了深度学习就是另一套逻辑。
其实不是。第五阶段仍然会做这些事:

  • 还是要切训练集和验证集
  • 还是要看 loss 和指标
  • 还是要防过拟合
  • 还是要做错误分析

真正新增的,是模型表示能力和训练方式。


二、为什么传统 ML 后面还要学神经网络

经典机器学习很强,但它也有一些很自然的边界。

2.1 传统 ML 更依赖“手工表示”

在第四阶段你已经反复做过这些事:

  • 手工构造特征
  • 做编码、缩放、筛选
  • 想办法把问题整理成模型更容易学的形式

这件事非常重要,但也会带来一个限制:

  • 模型的上限,很多时候会被你的特征设计能力卡住

2.2 深度学习更强调“自动学表示”

深度学习最强的一点,可以先朴素地理解成:

不只是学“怎么预测”,还在学“该怎么表示输入”。

比如:

  • 图像里,CNN 会自己学边缘、纹理、局部模式
  • 文本里,神经网络会自己学词向量、上下文表示
  • 序列里,模型会自己学时间依赖或注意力关系

这就是第五阶段真正补上的能力。

2.3 一个简单对照

问题第四阶段更常见做法第五阶段更常见做法
图像分类先手工提特征,再喂分类器直接让 CNN 学特征
文本分类TF-IDF / 手工统计特征让网络学 embedding 和上下文
复杂非线性关系试树模型、集成学习让多层网络直接表达复杂函数

这不是说第五阶段一定“取代”第四阶段,而是:

  • 数据简单、样本不大、表格任务强时,第四阶段的方法仍然非常有价值
  • 数据复杂、非结构化、特征难手造时,第五阶段的方法优势会越来越明显

三、第四阶段和第五阶段的共同骨架其实没变

看起来第五阶段新词很多,但训练一轮模型的骨架,其实和第四阶段仍然是一条线:

你可以把它和第四阶段对应起来:

第四阶段第五阶段
线性模型 / 树模型神经网络
指标和损失指标和损失
fit() 背后完成训练你会更显式地看到训练循环
调参与评估调参与评估

所以第五阶段变化最大的地方不是“有没有训练”,而是:

  • 你开始更直观地看到训练过程是怎么一步步发生的

四、第五阶段为什么会突然强调梯度和反向传播

第四阶段里,很多模型训练细节是被库包起来的。
到了第五阶段,你会开始更直接面对:

  • 参数很多
  • 模型很多层
  • 需要一轮轮更新

这时候就必须真正理解:

  • 损失是怎么来的
  • 梯度在表达什么
  • 参数为什么会更新

4.1 可以先把反向传播理解成一句人话

先不要急着背推导,先记住这句:

前向传播负责“算结果”,反向传播负责“算每个参数该怎么改”。

这句话是第五阶段一整章的核心。

4.2 第四阶段的优化思路其实已经埋下伏笔

你在第四阶段已经见过:

  • 线性回归的损失
  • 梯度下降
  • 正则化
  • 交叉验证和过拟合

所以第五阶段不是从零开始,而是把这些东西变得更显式:

  • 模型更深
  • 参数更多
  • 训练循环更清楚

五、为什么第五阶段会引入 PyTorch

第四阶段里,scikit-learn 很适合新人,因为它把流程统一封装好了。
但到了深度学习,你会更需要:

  • 自定义网络结构
  • 自己控制前向和反向
  • 更灵活地组织训练循环
  • 和 GPU、更大模型、更复杂数据配合

这就是 PyTorch 进场的原因。

5.1 先把 sklearn 和 PyTorch 的角色分清

工具更擅长什么
scikit-learn经典 ML、统一接口、快速 baseline
PyTorch深度学习、灵活定义网络、显式训练循环

所以不要把它们理解成“谁替代谁”,而应该理解成:

  • 第四阶段先用 sklearn 建立机器学习工作流
  • 第五阶段再用 PyTorch 打开深度学习训练过程

5.2 一句最重要的桥接理解

如果你已经理解了第四阶段里的:

  • 数据
  • 模型
  • 损失
  • 评估

那第五阶段你只是在多学一件事:

如何更显式地控制“模型参数是怎么被更新出来的”。


六、进入第五阶段前,最推荐先记住哪几件事

  1. 第五阶段不是推翻第四阶段,而是建立在第四阶段之上
  2. 深度学习最大的新增能力,是自动学表示
  3. 第四阶段和第五阶段的训练骨架其实是一样的
  4. PyTorch 不是为了更难,而是为了让训练过程更可控

七、进入第五阶段后,最稳的学习顺序

如果你刚从第四阶段过来,建议按这个顺序走:

  1. 先读 1.0 神经网络基础导读
    先把神经元、前向、反向、优化器这些词的位置放对。

  2. 再读 1.1 从神经元到多层感知机
    先理解“一个神经元到底在做什么”。

  3. 然后进 2.0 PyTorch 这一章到底在学什么
    再把训练流程用 Tensor / Autograd / Module / DataLoader / Training Loop 串起来。

这样会比一上来直接冲复杂网络结构更稳。


八、这节最该带走什么

如果只带走一句话,我希望你记住:

第五阶段不是“另一门课”,而是第四阶段那条建模主线在更强表达能力和更显式训练过程上的自然延伸。

所以最重要的收获应该是:

  • 知道为什么传统 ML 后面还需要深度学习
  • 知道深度学习真正新增的能力是什么
  • 知道为什么会出现反向传播和 PyTorch
  • 知道第四阶段和第五阶段其实仍然共享一套建模骨架