很多人在 2026 年重新打开收藏夹,原因往往不是“突然想学习了”,而是大模型时代带来的焦虑:以前学的机器学习还有用吗?深度学习是不是已经过时?神经网络算法还要不要从头看?强化学习是不是只属于 AlphaGo?计算机视觉和自然语言处理分开学还是一起学?
如果你也有类似困惑,这篇文章的结论很直接:机器学习课程仍然是人工智能学习最划算的主线,但不能再按“看完所有视频”的方式学,而是应该按“知识层 + 验证实验”的方式学。
本文要讲的,是一套公认适合入门到进阶的李宏毅机器学习系列课程学习路线,以及配套的动手验证方法。我会把机器学习、深度学习、神经网络算法、强化学习、计算机视觉、自然语言处理、大模型这七个核心知识点,拆成一个清晰的学习顺序,每个阶段给出目标、实验参考、常见坑和排错思路。读完你不仅能理解为什么这个课程值得看,还能知道每一章该练什么、怎么判断自己真的学会了。
1. 这篇文章真正要解决的问题
先说一个扎心的现象:很多人不是没有学习资料,而是资料太多。B 站收藏夹里躺着 10 套课程,网盘里存着 100 个 PDF,但真正看完的不到 10%。这不是意志力问题,而是学习路径不清晰。
李宏毅老师的机器学习系列课程之所以长期被推荐,不是因为它“讲得简单”,而是因为它把复杂概念用生活化例子讲清楚,同时又没有丢掉数学本质。比如用宝可梦解释线性回归,用“精灵宝可梦对战”引入强化学习的奖惩机制,用“神奇宝贝进化”解释多层神经网络的抽象过程。这套课程的特点是:看似随意,逻辑链条其实非常完整。
但这里真正容易踩坑的是:很多人把课程当成“下饭视频”,听的时候觉得懂了,关上视频就忘。或者反过来,一碰到公式就开始逐行推导,结果一个月还在线性回归。
所以这篇文章要解决的问题不是“推荐一套课”,而是怎么用一套课跑通人工智能核心知识体系。重点解决三个问题:
- 七个核心知识点的先后顺序如何安排,才不会被数学劝退?
- 每个阶段该写什么代码、跑什么实验,才能证明自己学会了?
- 遇到训练不收敛、环境装不上、显存不够、模型下载失败这些实际问题,怎么快速定位原因?
对整个学习过程来说,课程只是“地图”,动手实验才是“走路”。文章后面所有章节,都会围绕“先看什么、再练什么、怎么验证”来展开。
2. 七个核心知识点之间的关系与学习顺序
很多自学者的第一个误区,是把人工智能理解成一门“课”。实际上,人工智能是一个领域,机器学习是它的核心方法,深度学习是机器学习的一个分支,神经网络算法是深度学习的底层结构,强化学习是另一条重要技术路线,计算机视觉和自然语言处理是两大应用方向,大模型则是深度学习在规模放大后的产物。
如果用一句话概括:人工智能是目标,机器学习是手段,神经网络是深度学习的基本结构,强化学习是另一种学习范式,CV 和 NLP 是战场,大模型是当前的技术高点。
2.1 为什么先学机器学习,而不是直接学大模型
大模型是当前最热门的方向,不少新人上来就想学大模型微调、部署、Prompt 工程。但如果完全不懂机器学习基础,会出现一个典型困境:网上教程很多,但你不知道什么是过拟合,不知道训练集、验证集、测试集为什么要分开,不理解损失函数为什么重要。最后只能照着别人的脚本跑,参数一改就崩。
所以学习顺序的第一条原则是:先建立机器学习的基本问题框架。线性回归、逻辑回归、分类、回归、交叉验证、正则化、偏差方差权衡,这些概念看起来简单,却是后面所有内容的地基。
2.2 为什么神经网络算法单独成层
神经网络算法不是一个独立的课程章节,而是贯穿深度学习的主线。它的核心包括:感知机、激活函数、反向传播、优化器、损失函数、梯度消失与梯度爆炸。
这里容易出现的第二个误区:用框架调包调多了,以为神经网络就是model.fit()。其实面试、项目调优、论文复现时,真正拉开差距的,往往是能不能理解网络内部发生了什么。这也是为什么在机器学习基础之后,要单独花时间吃透神经网络算法。
2.3 为什么深度学习要比神经网络更晚学
两者容易混淆。可以这样理解:神经网络算法研究的是“单个神经元 + 层与层之间如何连接、如何学习”,深度学习研究的则是“如何构建更深、更复杂的网络,并在真实任务上取得更好效果”。
当你理解了反向传播和优化器的基本逻辑,再学深度学习的经典结构(CNN、RNN、Transformer)时,就会顺畅很多。深度学习不是神经网络算法的简单叠加,而是包含了数据增强、归一化、正则化、分布式训练、推理优化等一系列工程问题。
2.4 强化学习为什么重要
强化学习与前三种“监督/无监督学习”的范式完全不同。它的核心是智能体与环境交互,通过奖励信号学习策略。课程中通常用“吃东西、打游戏”这类例子讲解马尔可夫决策过程、策略梯度、Q-Learning、Actor-Critic 等概念。
对很多应用开发者来说,强化学习短期内未必是工作主力,但它是理解智能决策系统的关键。比如推荐系统、游戏 AI、机器人控制、自动驾驶决策,都离不开这套思路。
2.5 CV、NLP 以及大模型的定位
计算机视觉和自然语言处理是机器学习的两个主要应用方向。课程里的经典案例包括图像分类与词向量等。学到这里,重点不是记忆所有模型名字,而是理解数据形态不同,模型设计思路也不同。CV 更多依赖卷积结构来提取局部特征,NLP 更多依赖序列建模来捕捉上下文关系。
大模型则把深度学习推进到了一个高度工程化、规模化阶段。它建立在 Transformer 之上,核心变化是“预训练 + 微调 + 对齐”的开发模式。这也意味着,学到大模型阶段时,你需要从“训练一个模型”的思路,转换成“使用、适配、部署一个大模型”的思路。
下面用一张表总结七个核心知识点的逻辑关系:
| 知识点 | 一句话定位 | 学习阶段 |
|---|---|---|
| 机器学习 | 建立问题框架:数据、模型、损失、优化 | 第一阶段 |
| 神经网络算法 | 理解深度学习的最小单元与学习机制 | 第二阶段 |
| 深度学习 | 掌握经典网络结构与训练技巧 | 第三阶段 |
| 强化学习 | 理解智能体与环境交互的范式 | 第四阶段 |
| 计算机视觉 | 掌握图像类任务的处理方法 | 第五阶段 |
| 自然语言处理 | 掌握文本序列任务的处理方法 | 第五阶段 |
| 大模型 | 理解大规模预训练模型的原理、训练与部署 | 第六阶段 |
3. 2026 版学习路线总览
这里要说明一点:所谓“2026 新版”,更准确的判断是一份适合在 2026 年启动的学习规划。因为技术内容会随课程更新而调整,但知识框架不会大变。下面这份路线,以李宏毅机器学习系列为主体,搭配可执行实验,总周期建议在 6 到 9 个月,具体时间取决于你每天能投入多少小时。
3.1 第一阶段:机器学习基础(3 到 5 周)
目标:能独立解释“给定训练数据,如何找到一个函数”这件事。
- 学习内容:回归、分类、损失函数、梯度下降、偏差方差权衡、正则化、交叉验证。
- 验证实验:用 Python 实现一个简单的线性回归,不用机器学习框架,自己写梯度下降。
- 完成标准:能画出一张训练损失和验证损失的变化曲线,并解释过拟合和欠拟合。
3.2 第二阶段:神经网络算法与深度学习基础(4 到 6 周)
目标:理解反向传播和优化器在做什么。
- 学习内容:感知机、激活函数、反向传播、随机梯度下降、学习率与优化器、批归一化。
- 验证实验:用 PyTorch 完成一个多层感知机(MLP),在 MNIST 数据集上训练,打印每个 epoch 的损失。
- 完成标准:能解释为什么深层网络比浅层网络更难训练,并说出至少两种缓解手段。
3.3 第三阶段:深度学习经典网络结构(5 到 7 周)
目标:掌握 CNN、RNN、Transformer 的设计思想。
- 学习内容:CNN、RNN、LSTM、注意力机制、Transformer。
- 验证实验:用 PyTorch 搭建一个 CNN 做 CIFAR-10 图像分类,再用一个 RNN 或 LSTM 做简单文本分类。
- 完成标准:能用“局部连接、权值共享”解释 CNN 高效的原因,能画出 Transformer 的编码器结构。
3.4 第四阶段:强化学习(3 到 4 周)
目标:理解策略、奖励、状态转移这几个核心概念。
- 学习内容:马尔可夫决策过程、策略梯度、Q-Learning、Actor-Critic。
- 验证实验:用 OpenAI Gym 的 CartPole 环境,训练一个强化学习智能体。
- 完成标准:能看到智能体在环境中从随机乱动到稳定保持平衡的过程。
3.5 第五阶段:CV 与 NLP 应用(4 到 6 周)
目标:理解不同数据类型如何影响模型设计。
- 学习内容:图像分类、目标检测、语义分割基础;词向量、文本分类、机器翻译基础。
- 验证实验:做一个图像分类项目,或者做一个中文影评情感分类项目。
- 完成标准:能说清 CV 任务和 NLP 任务在数据预处理、模型结构、评估指标上的差异。
3.6 第六阶段:大模型基础与实践(4 到 6 周)
目标:理解大模型的开发模式,掌握 API 调用和基础部署思路。
- 学习内容:Transformer 如何放大为 LLM、预训练、指令微调、对齐、上下文学习、RAG、模型压缩。
- 验证实验:调用一个公开的大模型 API 完成任务,或选择一个开源可商用模型完成推理。
- 完成标准:能说清“预训练 + 微调 + 推理部署”的完整流程,并知道自己做微调时需要什么样的数据与算力。
这个时间线不是固定的。如果你有机器学习或深度学习经验,可以直接跳过部分视频,直接进入实验环节。如果你是零基础,建议不要压缩数学基础部分。
4. 环境准备与前置条件
既然是 2026 年学习人工智能,不建议再纠结“Windows 还是 Linux”这种问题。对于前三个阶段,Windows / macOS / Linux 都可以,只要满足 Python 环境即可。但到了大模型阶段,Linux 服务器或云服务器会更方便,因为很多模型运行库在 Linux 上的兼容性更好。
4.1 开发环境清单
- Python 版本:建议 3.10 或更高,具体以你选择的框架版本要求为准。
- 工具:Jupyter Notebook 或 VS Code + Jupyter 插件。
- 深度学习框架:PyTorch 优先,因为它调试直观,社区资料多。
- 硬件:学习阶段不需要企业级 GPU。普通入门实验用 CPU 也可以跑通,只是慢一些;图像分类和大模型推理阶段,建议使用云 GPU 或带 NVIDIA 显卡的机器。
- 虚拟环境:一定用 venv 或 conda 隔离项目依赖,避免“这个项目要 A 版本、那个项目要 B 版本”的冲突。
4.2 创建虚拟环境
下面以 Python venv 为例,这是一套跨平台通用的做法:
mkdir ml-learning cd ml-learning python3 -m venv venv source venv/bin/activate pip install --upgrade pip如果你在 Windows 的 PowerShell 下,激活命令是:
.\venv\Scripts\Activate.ps1激活成功后,命令行前面会出现(venv)标志。
4.3 安装 PyTorch
PyTorch 安装命令会因为操作系统和 CUDA 版本不同而不同,建议访问 PyTorch 官网获取对应命令。这里给一个 CPU 版本示例,适合先跑通逻辑:
pip install torch torchvision如果你的机器有 NVIDIA 显卡,并且已经安装了 CUDA 驱动,可以按官网提供的 CUDA 版本命令安装,例如:
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121安装完成后,用一个简单命令验证:
import torch print(torch.__version__) print(torch.cuda.is_available())如果torch.cuda.is_available()在带 GPU 的机器上输出False,不用急,通常是 PyTorch 版本和 CUDA 驱动版本不匹配,优先查这个方向。
5. 分阶段动手实践:从线性回归到强化学习
课程只看不练,效果会大打折扣。下面给出四个最小实验。每一个都对应前面学习路线中的关键阶段,建议按顺序完成。
5.1 第一阶段实验:不调框架实现线性回归
很多初学者一上来就import torch,这没问题,但为了真正理解梯度下降,建议先不用框架。
import numpy as np # 生成模拟数据:y = 3 * x + 2 + 噪声 np.random.seed(42) x = np.linspace(0, 10, 100) y = 3 * x + 2 + np.random.normal(0, 1, size=x.shape) # 初始化参数 w = 0.0 b = 0.0 learning_rate = 0.01 epochs = 500 for epoch in range(epochs): y_pred = w * x + b loss = np.mean((y_pred - y) ** 2) # 梯度 dw = 2 * np.mean((y_pred - y) * x) db = 2 * np.mean(y_pred - y) # 参数更新 w -= learning_rate * dw b -= learning_rate * db if epoch % 50 == 0: print(f"epoch {epoch}, loss {loss:.4f}, w {w:.4f}, b {b:.4f}") print(f"final: w {w:.4f}, b {b:.4f}")这段代码的逻辑很朴素:不断计算预测值和真实值之间的差距,然后沿梯度的反方向更新w和b。如果你看到 loss 逐步下降,并且最后的w接近 3、b接近 2,说明梯度下降的基本流程跑通了。
这里真正值得做的是调参实验:把学习率改成 0.1 或 1.0,再改成 0.0001,观察 loss 曲线有什么不同。这是理解学习率最直观的方式。
5.2 第二阶段实验:PyTorch 实现 MNIST 手写数字分类
MNIST 是深度学习的“Hello World”。这个实验的目的是跑通 PyTorch 的完整训练流程:数据处理、模型定义、损失函数、优化器、训练循环、评估。
import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms # 数据加载 transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,)) ]) train_dataset = datasets.MNIST(root="./data", train=True, download=True, transform=transform) test_dataset = datasets.MNIST(root="./data", train=False, download=True, transform=transform) train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=64, shuffle=True) test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=64, shuffle=False) # 定义一个简单的多层感知机 class MLP(nn.Module): def __init__(self): super().__init__() self.net = nn.Sequential( nn.Flatten(), nn.Linear(28 * 28, 128), nn.ReLU(), nn.Linear(128, 10) ) def forward(self, x): return self.net(x) model = MLP() criterion = nn.CrossEntropyLoss() optimizer = optim.Adam(model.parameters(), lr=0.001) # 训练 for epoch in range(3): total_loss = 0.0 for images, labels in train_loader: optimizer.zero_grad() outputs = model(images) loss = criterion(outputs, labels) loss.backward() optimizer.step() total_loss += loss.item() print(f"epoch {epoch + 1}, avg loss {total_loss / len(train_loader):.4f}") # 简单评估 correct = 0 total = 0 with torch.no_grad(): for images, labels in test_loader: outputs = model(images) preds = outputs.argmax(dim=1) correct += (preds == labels).sum().item() total += labels.size(0) print(f"test accuracy: {correct / total:.4f}")这个实验的价值在于,训练循环虽然只有几行代码,但背后涉及前向传播、反向传播、梯度更新、批次训练等核心机制。你不需要一次全部理解,但至少应该能回答:optimizer.zero_grad()为什么在每一步都要调用;loss.backward()做了什么;with torch.no_grad()为什么在评估时使用。
5.3 第四阶段实验:用强化学习玩 CartPole
CartPole 是强化学习入门最友好的环境。目标是让小车学会平衡一根杆子。这里可以用策略梯度的一个简化版本,任务是理解“观察状态、采取动作、获得奖励、更新策略”的循环。
import gymnasium as gym import torch import torch.nn as nn import torch.optim as optim class PolicyNet(nn.Module): def __init__(self, obs_dim, act_dim): super().__init__() self.net = nn.Sequential( nn.Linear(obs_dim, 32), nn.ReLU(), nn.Linear(32, act_dim) ) def forward(self, obs): return self.net(obs) env = gym.make("CartPole-v1") obs_dim = env.observation_space.shape[0] act_dim = env.action_space.n policy = PolicyNet(obs_dim, act_dim) optimizer = optim.Adam(policy.parameters(), lr=0.005) def choose_action(obs): logits = policy(torch.FloatTensor(obs)) probs = torch.softmax(logits, dim=-1) action = torch.multinomial(probs, num_samples=1).item() return action, probs[action] for episode in range(200): obs, _ = env.reset() done = False log_probs = [] rewards = [] total_reward = 0 step = 0 while not done and step < 500: action, prob = choose_action(obs) log_probs.append(torch.log(prob)) obs, reward, terminated, truncated, _ = env.step(action) done = terminated or truncated rewards.append(reward) total_reward += reward step += 1 if total_reward > 10: # 简单策略梯度更新:奖励高则增大该动作概率 returns = [total_reward] * len(rewards) loss = 0 for log_prob, ret in zip(log_probs, returns): loss += -log_prob * ret optimizer.zero_grad() loss.backward() optimizer.step() if episode % 20 == 0: print(f"episode {episode}, total reward {total_reward:.1f}")这个代码不是一个完美的强化学习算法,但足够让你理解核心直觉:如果某个动作序列带来了更高的累计奖励,就增大这些动作的概率。真正深入时,你会学到更稳定的策略梯度变体和 Actor-Critic 方法。
如果你跑出来每个 episode 的 reward 不稳定,不要担心,这是强化学习的常态。关注趋势而不是单次数值。
5.4 第六阶段实验:大模型推理思路
大模型阶段的第一个实验,不一定是微调,更推荐“跑通推理”。
如果你使用在线 API,需要先注册并获取合法的密钥,然后按官方文档调用。整体模式通常是:
# 伪代码,具体以所用服务官方文档为准 response = client.chat.completions.create( model="your-model-name", messages=[ {"role": "user", "content": "请用一句话解释什么是反向传播"} ] ) print(response.choices[0].message.content)如果你选择开源模型本地推理,重点不是马上部署一个几十 GB 的大模型,而是先观察资源需求。一个常见路径是使用支持量化模型的推理框架,让模型以低精度方式运行,比如只加载 4bit 量化后的权重,降低显存占用。这个过程涉及模型格式转换、加载、推理速度验证和资源监控,适合作为进阶练习。
大模型实验有一条安全线:不要用含敏感信息的业务数据做测试;不确认开源协议前,不要随意把模型用于商用场景;不确认可以合法访问的服务时,不要绕过限制。这些是工程习惯,不是多余提醒。
6. 运行结果与效果验证
6.1 线性回归实验的预期输出
运行上面的线性回归代码,你应该看到 loss 从几百逐渐下降到个位数甚至更低,w和b逐步靠近真实值。如果 loss 没有下降,先检查学习率是否过大或过小。学习率过大,参数会在最优值附近震荡,loss 会跳动;学习率过小,训练速度会非常慢。
6.2 MNIST 分类实验的预期输出
程序会打印每个 epoch 的平均 loss,通常是下降趋势。训练结束后,测试准确率一般能到 95% 以上。如果你的准确率远低于 90%,优先检查:
- 数据归一化是否正确;
- 模型最后一层有没有输出原始 logits;
- 数据加载是否正常,有没有出现全黑/全白图片。
这个实验只要跑通一次,后续所有深度学习项目的代码骨架都能复用。
6.3 强化学习实验的预期输出
CartPole 实验的最终目标是让小车在 500 步内不倒。如果你看到每个 episode 的 reward 逐步变高,说明策略在改善。如果 200 个 episode 后仍停留在 10 以下,通常是因为奖励回传方式太粗糙或学习率不合适。可以尝试把学习率调低、增加训练轮数,或者换用更稳定的算法。
6.4 如何判断“学会”而不是“看过”
这是整条学习路线里最重要的一步。我的建议是给自己的每个阶段设置一个“讲得出来”标准:
- 能不用 PPT,把一个概念讲给完全不懂的朋友听;
- 能在没有官方示例代码的情况下,从零写出一个最小训练脚本;
- 能在运行失败时,根据报错信息定位到具体模块。
如果只看视频,永远不知道自己卡在哪里。只有写代码、调 bug、看 loss 曲线,才会暴露盲区。
7. 常见问题与排查方法
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 视频听得懂,但自己写代码无从下手 | 缺少“从零实现”的训练 | 不要直接看答案,尝试默写训练循环 | 从线性回归、逻辑回归这类最小模型开始练 |
| 公式看不懂,想放弃 | 把数学门槛看得过高 | 区分“理解直觉”和“推导证明” | 先理解概念,再补数学,不要一步到位 |
| PyTorch 安装后 GPU 不可用 | CUDA 版本与 PyTorch 不匹配 | 打印torch.cuda.is_available()和 CUDA 版本 | 按官网命令重新安装对应版本 |
| 训练 loss 不下降 | 学习率设置不当、数据未归一化 | 先打印第一个 batch 的 loss | 调整学习率,检查预处理 |
| MNIST 准确率很低 | 数据预处理、模型定义问题 | 抽样检查数据,检查输出形状 | 逐层打印模型输出,对比教程 |
| 强化学习训练不稳定 | 奖励稀疏、超参数敏感 | 画 reward 曲线看趋势 | 降低学习率,增加训练轮数,换稳定算法 |
| 大模型加载占用显存过大 | 权重精度太高 | 查看模型参数大小 | 使用量化版本,或改用 API 服务 |
| 本地部署失败 | 依赖版本冲突、缺少编译工具 | 看完整错误日志 | 重新创建虚拟环境,按官方环境要求安装 |
有一个通用排查原则:先看完整报错,再搜错误消息,而不是直接改代码。很多情况下,错误信息里已经写明了是缺少某个依赖、某两个库版本不兼容,还是路径不对。
8. 学习过程中的误区与工程建议
8.1 误区一:把“刷课”当成学习
最典型的例子是:一天看 10 个小时视频,笔记记了厚厚一本,但一行代码没写过。这样的学习最多只能维持三天的“获得感”。真正的建议是“看一节,练一节”:课程讲到线性回归,当天就写一个最小线性回归实验;讲到反向传播,就打印每一层的梯度形状,观察数值变化。
8.2 误区二:数学基础不足就不敢开始
很多人学过微积分、概率论、线性代数,但到了机器学习中发现公式符号都认识,连起来就不知道在说什么。这很正常。学习时不要把推导放在第一位,而是先建立概念直觉。比如“梯度下降”可以理解为下山问题:当前位置,沿着最陡的方向迈一步,反复多次,就能到达谷底。先理解这个画面,再看数学公式,会轻松很多。
8.3 误区三:每个方向都浅尝辄止
今天看两节机器学习,明天看到大模型火又去学 Prompt,后天又觉得强化学习有意思。结果几个月过去,每个方向都只看了开头。更稳的做法是:在这套课程的一个完整周期内,把主线固定下来。大模型、强化学习、CV、NLP 都是主线上的节点,而不是随时跳转的分支。
8.4 工程建议一:写实验日志
不需要高大上的工具,一个 Markdown 文件就行。记录日期、学习内容、代码运行结果、遇到的问题、解决方法。三个月后回头翻,你会发现很多“当时卡了两天”的问题,其实只是某个参数写错了。这个日志也是你未来写技术博客、整理项目经验的第一手材料。
8.5 工程建议二:建立可复用的代码模板
学完前三个阶段后,可以把自己的训练循环整理成一个简单模板。以后做图像分类、文本分类、强化学习实验时,只需要替换数据和模型部分。这样既能提高效率,也能加深对框架的理解。
8.6 工程建议三:大模型阶段要有成本意识
到了大模型阶段,实验成本不再是“零”。调用在线 API 需要消耗额度,本地推理需要显存和电费。建议每次实验前列一个成本清单:这个实验是否必要?能不能用更小的数据集先验证?能不能用量化模型降低资源消耗?这不是小气,而是工程师的基本素养。
8.7 安全与合规提醒
- 在线 API 的密钥不能提交到公开仓库;
- 含个人隐私或业务敏感信息的数据,不能随意发送给第三方模型服务;
- 开源模型要看清许可协议,区分研究使用和商用场景;
- 生产环境接入大模型,需要先在小流量、可控环境下验证输出质量,并准备回滚方案。
9. 总结:把收藏列表变成本周计划
回到开头的问题:以前学的机器学习还有用吗?
答案是肯定的。大模型并没有推翻机器学习的基础,反而让基础更值钱。谁对损失函数、过拟合、神经网络结构、训练稳定性理解得越透,谁在大模型时代就越能快速定位问题、设计实验、评估效果。李宏毅机器学习系列课程提供了一个完整且友好的知识框架,现在缺的只是“行动”。
建议你把这篇文章当作一份本周计划来用:第一步,创建 Python 虚拟环境;第二步,跑通 5.1 节的线性回归代码;第三步,写下第一篇实验日志。不要急着看完所有视频,先把第一个实验的 loss 曲线跑出来。那一刻,你就算正式进入这个领域了。