新闻详情

新闻详情

首页 / 资讯中心 / 详情

李宏毅机器学习全套资料:从环境搭建到模型训练的实战指南

发布时间:2026/9/29 17:05:32来源:尧图网络
李宏毅机器学习全套资料:从环境搭建到模型训练的实战指南
简介李宏毅机器学习全套资料是一份全面覆盖课程内容的学习资源包面向想要系统掌握机器学习原理与实战方法的初学者及进阶学员。内容以教学演示文稿、作业答案和课程讲解为核心涵盖监督学习、无监督学习、半监督学习、强化学习等主题帮助学习者按章节节奏从基础概率统计走向支持向量机、神经网络和深度学习。资源共234个文件压缩包约70.21MB主要包含图像格式的PPT/PDF讲义、Python脚本、CSV数据集、Markdown笔记及少量ipynb笔记本。Python文件和ipynb对应作业代码与实验过程CSV提供练习所需数据图片用于展示原理图示和结果图表目录结构清晰便于按需查找。目前已有2487人学习。通过这套资料读者可获得完整课件、作业参考答案以及数据预处理、特征选择、模型训练、误差分析等环节的实操素材既能巩固理论基础也能体验从数据加载到模型评估的完整流程适合系统自学与课程复习。1. 李宏毅机器学习全套资料为什么它能成为机器学习入门的“后悔药”“李宏毅机器学习全套资料”是机器学习入门绕不开的资源包台大课程视频、课程PPT、社区笔记和一连串课程作业共同构成一条从机器学习基础到深度学习模型的完整链路。它最大的价值不是讲了多少个机器学习算法而是每讲一个算法就配一个能跑的实验作业又逼着你亲手把模型训练出来真正解决“名字都认识代码不会写”的尴尬。适合准备期末复习的学生也适合想转行做机器学习项目的新手把它当作训练场来用而不是像刷剧一样刷完。2. 资料包里到底有什么视频、PPT、笔记与作业的完整拆解课程资料通常按学期维护四大类内容授课视频、课程PPT、作业说明与代码包、历年题目与排行榜。视频负责解释概念PPT负责提供复习索引作业负责给出实践靶子排行榜负责提供横向对标。很多新人拿到资料包后只盯着视频看把PPT和作业晾到一边这是第一步就走偏的地方。2.1 视频课与PPT一门把“机器学习算法”讲成代码的课李宏毅的课和很多“算法先导”的教材不一样它是从“这个问题要不要用机器学习解决”开始讲起的。比如回归那几讲先抛出一个真实预测任务再引出模型该怎么定义、损失函数该怎么选、梯度下降的步长怎么调。这样一来机器学习模型里的每个抽象概念都有对应的代码行为你听课的时候不容易走神。选型理由也很明显如果你先看的是周志华《机器学习》这类理论书容易被公式卡住李宏毅的视频几乎不依赖高等数学推导只保留最必要的反向传播直觉所以非常适合作为机器学习入门第一课。先看他的一轮视频再回去读理论书效率会高很多因为他把“为什么要有这个算法”解释得很具体。具体怎么跟我一般会这样做先把目录拉出来按“回归—分类—模型优化—CNN—RNN—Transformer”确认一遍主线。每天固定看两段每段结束停下来翻对应PPT把PPT里关键结构截图为做笔记留素材。不要追求一天刷完一个章节大脑需要睡眠来巩固模型之间的关系第二天早上花五分钟回看前一天的PPT再继续。视频和PPT的配合尺度也要注意。PPT是骨架视频是血肉只看PPT看到的是结果只看视频会漏掉“为什么这里要取log”这类细节。我建议把PPT当成复习索引视频当成第一次学习的正文两者缺一不可。2.2 社区笔记与PPT如何互相印证形成你的“机器学习知识点总结”GitHub 上流传着很多版本的“李宏毅机器学习笔记”质量参差不齐。常见做法是把别人笔记里的对应章节打开先用十分钟快速浏览结构再回去对着PPT看三遍最后只保留你自己能复述出来的部分。这样笔记才不会变成收藏夹里的吃灰文件。但社区笔记有一个通病它是别人的理解不是你的。同一个算法别人可能省略了他觉得显然但你不知道的步骤你照抄下来等于复习了一遍“查找资料”而不是“掌握知识”。所以我的习惯是自己整理一份极简索引笔记每章只写三部分——要解决什么问题、用了什么输入输出、落地时最容易踩哪个坑。格式可以保持很简单的Markdown# 机器学习知识点索引 ## 回归 - 问题预测连续值 - 模型线性回归 / MLP - 损失MSE - 坑特征量纲不一致会导致训练不稳 ## 分类 - 问题预测离散类别 - 模型逻辑回归 / 决策树 / MLP - 损失CrossEntropy - 坑类别不均衡时准确率不可靠怎么核对笔记有没有把机器学习基础理解到位一个自测方法假装要把这一章讲给一个没看过课的同事听讲到一半卡住就回头把卡住的那段视频重新看一遍。这个方法的成本很低但比盲目刷第二遍视频有效得多因为它逼你补上的是知识图谱里缺掉的边。2.3 作业体系一段由“李宏毅机器学习作业”铺成的实践路线这套资料最有价值的部分其实是作业。李宏毅历年课程作业通常覆盖一条固定路线最开始是经典的回归预测比如给一批表格数据预测连续数值进阶到分类任务再往后是图像分类和序列模型相关的任务。每个作业都附带训练集、测试集和评分脚本要求你改进模型的评测分数。为什么这条路线好因为它每一站都对应一个必须掌握的机器学习模型。做回归时你接触特征标准化、损失监控和优化器做分类时你接触类别不均衡、评测指标和交叉验证做图像任务时你被迫处理图片读取、数据增强和模型结构做序列任务时你会遇到padding、mask和梯度裁剪。这些都是真实机器学习应用流程里躲不开的环节。完成作业的顺序会影响体验。按课程顺序做自然最好如果时间有限我建议优先做前三个作业因为前三个作业覆盖了大部分通用能力数据读取、特征工程、模型训练、评估与提交。后面的作业可以挑一个你最感兴趣的模型深挖不必全部刷完。作业阶段典型任务必须掌握的能力点回归作业用表格数据预测连续值特征标准化、验证集划分、MSE监控图像分类作业用CNN对图片分类图片读取、数据增强、transforms序列作业对时间序列或文本建模padding、mask、RNN / Transformer把这一步做扎实你就掌握了从拿到CSV文件到清洗数据、特征标准化、切分训练验证集、训练模型、在验证集上调参最后在测试集上提交结果的完整流程。这个流程不会被课程版本迭代淘汰它才是你真正要带走的竞争力。3. 把环境搭起来Python、PyTorch与最小回归代码作业代码虽然是课程提供的但运行环境是你自己的。很多新手栽在第一句import torch报错上这不是数据问题而是环境问题。这一章我把搭环境和跑通第一个回归任务的过程完整拆开参数怎么选也一并说明。3.1 环境选型为什么推荐 conda Python PyTorch课程作业在不同年份会提供 PyTorch 或 TensorFlow 的版本。常见做法是优先选 PyTorch因为它的报错信息对新手更友好动态图模型在调试时更容易 print 中间结果而且课程近年不少代码示例默认用 torch。如果你刚开始机器学习入门建议直接锁定 PyTorch先不要纠结框架。环境隔离是另一个关键。不要把 torch 直接装进系统 Python否则会污染系统环境也容易和 Anaconda 里的包冲突。我一般用 conda 建一个独立环境把课程需要的包都放进去。最小安装命令如下conda create -n ml_course python3.9 -y conda activate ml_course pip install torch torchvision jupyterlab pandas numpy matplotlib scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple逐项说明ml_course是环境名可以按课程年份改成ml2024之类python3.9兼容性好大多数机器学习相关包在 3.9 上不会有兼容问题torch和torchvision是训练模型和图像处理的核心库jupyterlab用来跑课程提供的 notebookpandas、numpy、matplotlib、scikit-learn 让数据处理、可视化和传统机器学习算法调用都齐了。使用清华镜像源是为了在本地网络下下载更快如果这一步慢得离谱可以先把 CUDA 相关组件延迟到跑图像任务时再装。装完最好立刻做一次“导包验证”确认环境真的可用python -c import torch; print(torch.__version__); import torchvision; print(torchvision.__version__)这条命令会打印版本号。如果这里报错后面所有作业都不用动先把环境修好比盲目跑代码省钱。我见过不少人在环境没装好的时候强行跑代码报错日志换了十几条最后发现是 torch 没装进去白折腾一小时。3.2 跑通第一个回归任务一份可以直接改的PyTorch代码课程作业中的第一个任务通常是回归输入是表格数据目标是预测连续值。完整流程不过四步读数据、切分训练集和验证集、标准化特征、训练模型。用代码写出来大概是下面这样。import pandas as pd import numpy as np import torch import torch.nn as nn from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler df pd.read_csv(train.csv) X df.drop(columns[target]).values y df[target].values X_train, X_val, y_train, y_val train_test_split( X, y, test_size0.25, random_state42 ) scaler StandardScaler() X_train scaler.fit_transform(X_train) X_val scaler.transform(X_val)先解释前两行train.csv是作业自带的训练文件target列是预测目标。train_test_split把数据切成训练和验证两份test_size0.25表示用四分之一数据做验证random_state42让切分结果可复现调参时只反映模型变化不反映数据切分变化。标准化这一步最容易被写错训练集用fit_transform验证集只能用transform。原因很实际——fit会统计当前数据的均值和方差验证集如果自己fit相当于提前知道了验证集的真实分布严格来说属于信息泄漏。用同一个 scaler 转换验证集才能保证模型看到的数据分布和训练时一致。接着定义模型和训练循环model nn.Sequential( nn.Linear(X_train.shape[1], 64), nn.ReLU(), nn.Linear(64, 1), ) criterion nn.MSELoss() optimizer torch.optim.Adam(model.parameters(), lr1e-3) for epoch in range(200): model.train() optimizer.zero_grad() pred model(torch.tensor(X_train, dtypetorch.float32)) loss criterion(pred, torch.tensor(y_train, dtypetorch.float32).view(-1, 1)) loss.backward() optimizer.step() if (epoch 1) % 50 0: model.eval() with torch.no_grad(): val_pred model(torch.tensor(X_val, dtypetorch.float32)) val_loss criterion(val_pred, torch.tensor(y_val, dtypetorch.float32).view(-1, 1)) print(fEpoch {epoch 1}: train {loss:.4f}, val {val_loss:.4f})代码逻辑不复杂一个两层 MLP 做回归nn.Linear负责线性映射nn.ReLU给模型非线性能力MSELoss是回归任务最常见的损失函数对应“预测值与真实值之间平方距离的平均”。Adam的lr1e-3是通用起点对大部分表格回归任务都算安全。训练循环里每个 epoch 做三件事清空梯度、前向算 loss、反向传播更新参数。每 50 个 epoch 打印一次训练和验证 loss用来判断模型有没有收敛。这里有一个很关键的习惯打印验证 loss 时要把模型切到model.eval()并用torch.no_grad()包住推理。eval()会影响 Dropout 和 BatchNorm 这类层让它们不产生训练阶段才有的随机行为no_grad()则避免把验证过程继续记进计算图省显存也避免影响梯度。很多新手忽略这个结果验证指标忽高忽低误以为是模型问题。3.3 三个必调参数batch size、学习率与epoch上面的代码没有用 batch而是全量数据一次性喂给模型。课程作业早期数据量小全量计算完全可行但一旦进入图像或序列任务全量计算会直接撑爆显存必须改成 mini-batch。batch size 是最先要调的参数常见做法是设 16 或 32观察显存占用和梯度稳定性batch 越小梯度震荡越明显batch 越大收敛越平滑但需要更多内存。学习率排第二。lr1e-3是 Adam 的默认起点但如果 loss 出现不降反升先别急着改网络把学习率降到1e-4再跑一轮。学习率调参是一个半“玄学”过程但规则很清楚训练集 loss 不降学习率太大或模型不够复杂验证集 loss 不降而训练集还降则是过拟合应该加正则或增强数据。epoch 排第三。课程作业很少需要真正训练几千轮先设 200看验证 loss 是否进入平台期。如果最后几个 epoch 的验证 loss 还在缓慢下降可以继续训练如果已经明显反弹说明过拟合应该用 early stopping记录最佳 epoch 并回滚模型权重。实践中最好把每个 epoch 的验证 loss 存进列表训练结束后画一条曲线比只看最后打印的几次数值可靠。提示调参时一次只动一个变量不要同时改学习率和 batch size否则出现问题你根本定位不到是哪个参数引起的。4. 实战避坑李宏毅机器学习资料里最容易翻车的四个地方这一章来自很多人的血泪经验。课程资料本身是完整的但实操中会遇到不少“资料里没说清楚”的坑我把高频的几个按现象、原因、解决路径整理出来。4.1 数据读不进来相对路径、中文目录与CSV编码现象pd.read_csv(data/train.csv)报FileNotFoundError或者代码在中文目录下正常换英文目录就崩。原因作业代码里的路径默认当前工作目录。很多同学把代码和数据放在不同层级或者在 Windows 上用中文文件夹命名导致路径拼接出错。更隐蔽的是 CSV 编码问题有些课程数据来自 Excel 导出可能是 GBK 编码直接read_csv会出现乱码或UnicodeDecodeError。解决先把数据文件放到代码文件所在目录用pathlib拼接路径避免硬编码斜杠对编码问题显式指定encoding参数。from pathlib import Path data_dir Path(__file__).parent / data df pd.read_csv(data_dir / train.csv, encodingutf-8)__file__指向当前脚本路径配合parent不受工作目录影响如果utf-8仍报错改成encodinggbk或encodingbig5逐个试。这样处理之后代码复制到任何机器上都能跑。4.2 PyTorch版本更新导致老代码跑不起来现象照着课程提供的旧作业代码敲在torchvision.models里找不到resnet50(pretrainedTrue)或者torch.utils.data的接口报AttributeError。原因PyTorch 的 API 在版本迭代中会调整参数和默认值比如pretrained参数在新版本里改成了weights很多旧代码基于当时稳定版写成拿到新环境自然报错。解决优先锁定环境版本用requirements.txt固定依赖避免自动升级破坏兼容性。如果必须用新版本改接口而不是退版本import torchvision.models as models model models.resnet50(weightsmodels.ResNet50_Weights.IMAGENET1K_V1)旧写法pretrainedTrue在新版本里已经不建议使用新写法明确指定weights版本也更容易复现。遇到别的 API 报错先搜“PyTorch 报错关键字”基本都能找到迁移说明不要在原代码里乱注释。4.3 本地score和课程排行榜对不上评测口径与数据泄漏现象本地验证集分数看起来不错提交到课程排行榜后分数差一大截或者第一次提交很高后面复现却掉下来。原因最常见的是评测指标没对齐。课程作业可能用micro F1或MAE而不是accuracy和MSE用错指标优化方向就整个偏了。另一个常见原因是数据泄漏预处理时用全体数据fit包括验证集导致本地评估虚高。解决先读清楚作业 README 里“Evaluation”一节把评测函数原样复制到本地如果数据是比赛型训练、验证、测试三套数据要严格分开。一个简单排查技巧把本地验证结果按行打印看是否存在比训练集还规则的分布如果有大概率是泄漏了。from sklearn.metrics import f1_score val_pred_labels (val_pred 0.5).astype(int) score f1_score(y_val, val_pred_labels, averagemacro) print(fmacro F1: {score:.4f})注意averagemacro参数如果不指定sklearn 默认按binary方式计算多分类任务给的分数会和课程作业对不上。调参之前先确认指标这是性价比最高的一步。4.4 概念边界机器学习不等于“只用深度学习模型”现象做到后来所有作业都默认用nn.Sequential堆层数连几千行表格数据也用 BERT训练时间很长分数却没提升。原因课程后半段深度学习内容多给人造成“越深越好”的错觉但机器学习是更大的领域线性回归、决策树、SVM 都属于机器学习算法。表格数据在特征量不大时有时候一个带正则的逻辑回归就能超过堆出来的神经网络。解决把课程资料里传统机器学习方法补回来。跑作业之前先建一个基线例如用LinearRegression或LogisticRegression跑一遍得到一个合理 score再上深度模型。这样既能验证数据是否干净也能避免把深度学习的“玄学”带进入门阶段。真正做机器学习项目时这一步会反复救你。5. 把全套资料内化成自己的东西笔记、图解与期末复习资料看完不算完课程之后你要能随时调用这些知识。这一章讲怎么把“看过”变成“会用”并兼顾期末复习和面试准备。5.1 两遍观看法把课程“压”成自己的笔记第一遍用 1.25 倍速快速过视频不做笔记只标记听不懂的片段第二遍针对标记片段正常速度看每看一个片段就停下来把核心内容写成笔记。为什么分成两遍因为第一遍的任务是建立地图知道这一章要解决什么问题、用到什么模型第二遍才填充细节否则你会被细节淹没。笔记的格式越简单越好下面这个模板足够覆盖大多数章节# 章节回归 ## 要解决的问题 预测连续数值比如根据历史数据预测明天温度。 ## 模型与损失 - 模型线性回归 / 多层感知机 - 损失MSE - 优化Adam / SGD ## 代码要点 - 特征要先标准化 - 验证集只能用 transform ## 易错点 - 不要用 accuracy 评估回归任务写作笔记时的规则每一条必须是自己复述出来的不要直接抄 PPT 原文。复述的过程能暴露理解缺口也方便期末复习时快速找回上下文。5.2 手画“图解机器学习算法”结构图比截图更有效社区流传的“图解机器学习算法”资料很多但直接用别人的图来背诵效果远不如自己画一遍。画图不必精美只要包含四个要素输入从哪来、模型内部参数是什么、损失在哪里计算、更新哪些参数。比如线性回归只需画一条横线表示特征输入、一个圆圈表示加权求和、一个方块表示 MSE 损失、再用箭头连起来就能在考试中顺畅复述。下表是我常用的“图表检查清单”画完一张图后逐项打勾要素检查问题输入输出模型的输入是数值还是序列输出是标量还是分布参数位置哪些变量是模型参数、需要更新损失位置损失在哪个环节计算和输出差什么优化路径梯度从哪里反传更新谁这个清单看起来基础但很多人在期末问答题里画结构图时会把损失函数画在输入前面或者在更新时忘记偏差项。5.3 期末季用这套资料做“机器学习期末复习”的清单化整理期末复习最忌讳从头刷视频。这时候应该以“机器学习知识点总结”为导向把课程内容压缩成一张二维表每行是一个算法每列是“定义、适用场景、损失、优化方式、评估指标、常见坑”。一天过一遍比重看十集视频有效。不同学校的机器学习期末题型不同但考察能力大致接近概念辨析、流程设计、算法比较、手推简单梯度。用上面的二维表过完一遍后找历届作业里的编程题重做能直接提升期末复习效率。还有一点容易被忽略把课程 PPT 最后几页的 summary 抄一遍那是李宏毅自己整理的知识脉络比网上各种“速成笔记”更有权威性。6. 怎么验证自己真的学会了从课程作业走向独立项目课程资料学完下一步是找地方检验。检验的标准不是“我看完了”而是“换了新数据和问题我能不能自己完成机器学习项目”。6.1 用一个入门赛题做一次完整“机器学习项目”体检常见做法是找 Kaggle 的泰坦尼克号或房价预测这类入门赛题。把第 2 章学到的回归 / 分类流程套进去读数据、切分、标准化、训练模型、生成提交文件。如果课程作业能及格这类赛题通常也能在短时间内做出一个可提交的基线分数。如果你要写“基于机器学习的企业员工离职因素分析与预测研究”这类课程设计或毕业设计本质也是表格分类问题。用逻辑回归或随机森林先跑通 baseline再把深度学习模型作为对照这个结构本身就很完整。6.2 把周志华《机器学习》和“图解机器学习算法”作为课程后的补料李宏毅资料负责“给你直觉”周志华的书负责“把直觉变成理论”顺序不要颠倒。遇到课程里讲得比较跳跃的数学推导回到周书的对应章节查写代码卡壳时再翻“图解机器学习算法”快速回忆算法结构。我的个人习惯是每做完一个作业就在周志华书的目录里找到对应章节把其中一两个定理的结论抄在作业报告旁。这样既复习了机器学习基础也让作业报告更有理论支撑面试聊起来不虚。6.3 保存实验记录让课程作业变成真正的“机器学习项目”给每个作业保留一份实验报告记录本次作业的问题定义、数据处理方式、模型选型理由、参数组合、训练曲线和最终分数。报告不用长但要能回答“为什么用这个模型”“为什么是这个参数”。另外建议每年课程更新后挑最新一期作业重跑一遍。我第一次这样做时发现新作业换了评测指标和数据处理格式光是把旧的预处理代码改过来就花了不少时间但也正是这个习惯让我少踩了很多课设里的坑。希望这个整理课程资料的方法对你有用也希望帮你在机器学习这条路上少绕一些弯路。本文还有配套的精品资源点击获取
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

2026 年 AI 大模型推理服务怎么选:七家主流 API 聚合平台横向测评 2026/9/29 22:14:01

2026 年 AI 大模型推理服务怎么选:七家主流 API 聚合平台横向测评

进入 2026 年 5 月,AI 大模型推理服务市场的格局已经相当清晰。模型覆盖度、定价水平、推理速度与合规支持这四个维度上,各家平台形成了明显的分工。对开发团队而言,在动手对比参数之前,更值得先想清楚一件事:自己最需…

阅读更多 →
校园代取快递系统怎么选?业务链路与演示核对清单 2026/9/29 22:14:01

校园代取快递系统怎么选?业务链路与演示核对清单

校园代取快递系统通常不是一套独立软件,而是跑腿配送业务中的一个服务类型,与帮买、帮送、帮取、任务悬赏并列。选型时可以按“业务范围—履约链路—结算分账—部署方式—服务支持”五步逐项核对。如果计划同时经营校园外卖与代取快递、并考虑多校区扩展…

阅读更多 →
新手AI的入门必知 2026/9/29 22:14:01

新手AI的入门必知

1. 引言 随着 AI 生态的共建,AI 早已从问答知识库发展成了“全能助理”。无论是创意发展、内容生成,还是日常办公、代码编写,AI 都在扮演越来越重要的角色。然而,AI 入门看似简单,实则学问不少——从模型选择、提示词设…

阅读更多 →
GEO收录检测工具有哪些?免费GEO优化工具能用吗? 2026/9/29 22:13:55

GEO收录检测工具有哪些?免费GEO优化工具能用吗?

找 GEO 检测工具的人,通常抱着和做 SEO 时一样的预期:输个网址,出一份收录报告。现实是 AI 引擎的检索链路不提供公开的收录查询接口,工具生态还在早期。这篇讲清哪些能测、怎么测。一、检测 GEO 效果的三个免费途径途径一&#x…

阅读更多 →
2026 企业 AI 办公工具选型指南:适合团队使用的 AI 办公产品有哪些 2026/9/29 22:13:54

2026 企业 AI 办公工具选型指南:适合团队使用的 AI 办公产品有哪些

企业采购AI办公工具的过程中,很容易陷入几个典型的认知误区。不少团队拿到产品清单之后,第一反应是拉一张功能对照表,谁家标注的功能点更多就优先纳入候选池,也有团队直接参考公开的价格排序,优先选择成本最低的选项&a…

阅读更多 →
基于Vue的培训认证与就业服务平台(Java+SpringBoot+MySQL)| 毕业设计 源码+论文+完整教程 2026/9/29 22:13:54

基于Vue的培训认证与就业服务平台(Java+SpringBoot+MySQL)| 毕业设计 源码+论文+完整教程

面向餐饮行业的「培训 认证 就业」一体化服务平台:学员学课程、考认证、投岗位;企业发岗位、筛简历、做面试;管理员全盘统筹。三端闭环,一条龙打通。 源码 论文 答辩PPT 开题报告 数据库脚本 设计图源文件 部署/答辩视频教…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉