跳到主要内容

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

本节定位

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

学习目标

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

先建立一张地图

很多新人学完第 5 站会有两个典型疑问:

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

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

所以第 6 站不是推翻第 5 站,而是在第 5 站已经建立的建模思维上继续往前走。


一、第 5 站到底已经学会了什么

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

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

这些东西到了第 6 站并不会消失。

1.1 第 6 站真正新增的,不是“有没有评估”

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

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

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


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

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

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

在第 5 站你已经反复做过这些事:

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

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

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

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

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

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

比如:

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

这就是第 6 站真正补上的能力。

2.3 一个简单对照

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

这不是说第 6 站一定“取代”第 5 站,而是:

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

三、第 5 站和第 6 站的共同骨架其实没变

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

你可以把它和第 5 站对应起来:

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

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

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

四、第 6 站为什么会突然强调梯度和反向传播

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

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

这时候就必须真正理解:

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

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

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

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

这句话是第 6 站一整章的核心。

4.2 第 5 站的优化思路其实已经埋下伏笔

你在第 5 站已经见过:

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

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

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

五、为什么第 6 站会引入 PyTorch

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

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

这就是 PyTorch 进场的原因。

5.1 先把 sklearn 和 PyTorch 的角色分清

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

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

  • 第 5 站先用 sklearn 建立机器学习工作流
  • 第 6 站再用 PyTorch 打开深度学习训练过程

5.2 一句最重要的桥接理解

如果你已经理解了第 5 站里的:

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

那第 6 站你只是在多学一件事:

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


六、进入第 6 站前,最推荐先记住哪几件事

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

七、进入第 6 站后,最稳的学习顺序

如果你刚从第 5 站过来,建议按这个顺序走:

  1. 先读 1.1 学前导读:神经网络基础这一章到底在学什么
    先把神经元、前向、反向、优化器这些词的位置放对。

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

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

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


这节最该带走什么

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

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

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

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