惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 三生石上(FineUI控件)
美团技术团队
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
L
LangChain Blog
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 叶小钗
Engineering at Meta
Engineering at Meta
腾讯CDC
Recent Announcements
Recent Announcements
The Register - Security
The Register - Security
有赞技术团队
有赞技术团队
Blog — PlanetScale
Blog — PlanetScale
博客园 - Franky
博客园 - 司徒正美
The Cloudflare Blog
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
C
Check Point Blog
小众软件
小众软件
V
Visual Studio Blog
V
V2EX
F
Full Disclosure
J
Java Code Geeks
MongoDB | Blog
MongoDB | Blog
罗磊的独立博客
人人都是产品经理
人人都是产品经理
量子位
Apple Machine Learning Research
Apple Machine Learning Research
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
博客园_首页
Y
Y Combinator Blog
N
Netflix TechBlog - Medium
酷 壳 – CoolShell
酷 壳 – CoolShell
Stack Overflow Blog
Stack Overflow Blog
Recorded Future
Recorded Future
G
Google Developers Blog
Vercel News
Vercel News
大猫的无限游戏
大猫的无限游戏
Microsoft Azure Blog
Microsoft Azure Blog
U
Unit 42
爱范儿
爱范儿
Jina AI
Jina AI

博客园_首页

Linux实操--组管理、权限管理和定时任务 Java + EasyExcel 实现单个接口导出多个Excel Mem0 源码解析系列(二):提示词工程的深度剖析 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别 博文阅读密码验证 - 博客园 嘉立创开源:应该是全网MicroPython教程最多的开发板 Hermes Agent 集成实践:从协议到生产 2026年AI编程工具横评:Cursor、Codex、Claude Code、Zed、Windsurf Java程序员必看的RAG入门教程 2026 AI效率神器:Superpowers + Claude Code 保姆级教程 本地大模型部署全攻略:从 0 到 1 玩转 Ollama 【从0到1构建一个ClaudeAgent】内存管理-上下文压缩 .NET 高级开发 | 设计、实现一个事件总线框架 电子小白入门之NE555 3. WorkBuddy:隐藏玩法,一键召唤专家,让 AI 以"专家身份"给你干活 和AI一起搞事情#3:Claude Teammate 游戏开发翻车实录 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory C# .NET 周刊|2026年3月3期 我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版) 深度学习进阶(七)Data-efficient Image Transformer CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 100多行代码实现一个最简单的Agent(用ReAct) Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 老板:“有人截图了!”。安全部门:“收到,马上查暗水印!” - why技术 技术之外,皆是人间 C#/.NET/.NET Core技术前沿周刊 | 第 69 期(2026年4.01-4.12) Snack JSONPath 项目架构分析 Claude Code Buddy 小析:一个非核心功能,如何体现产品的细节完成度 AI新时代下的图床管理方案-Cloudflare图床+MCP+Skills方案指南 化繁为简:顺丰速运App如何通过 HarmonyOS SDK实现专业级空间测量 从零实现富文本编辑器#13-React非编辑节点的内容渲染 AI开发-python-langchain框架(3-23-OpenAI Functions风格Tool Calling智能助手) .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut PbootCMS 网站内容数量多导致访问慢?这些实用优化方案帮你提速! - 家兴网络技术工作室 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 网站漏洞怎么发现并修复?一篇实用指南(附完整流程) - 家兴网络技术工作室 开了 TUN 模式还是直连?90% 的人都踩过这个坑 Github日报|2026年04月12日 - AI一族 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术 Etsy 把 1000 个 MySQL 分片迁进 Vitess:425TB 数据背后的真正问题不是性能,而是运维规模 MicroPython LVGL基础知识和概念:底层渲染与性能优化 - FreakStudio 数据库草图算法 Python 潮流周刊#146:CPython 引入 Rust 的进展 - 豌豆花下猫 最小生成树 - mofei1116 红日靶场七:从外网入口、容器逃逸到 AD 接管的完整利用链复盘 - YouDiscovered1t 分享四款开源且实用的 Kafka 管理工具 - 追逐时光者 vLLM 权重加载机制全解析:从挑战到理想架构 LCT 学习笔记 - ACehomoxue Avalonia UI 12.0.0 正式发布:架构演进和性能飞跃 - 张善友 当 AI Agent 把调用链拉长,延迟开始成为一门生意 conhost.exe 无法显示 U+2717 - 145a 太秀了,我把自己蒸馏成了 Skill!已开源 - 程序员鱼皮 ASP.NET Core 内存缓存实战:一篇搞懂该怎么配、怎么避坑 基于 Ghostty 带有分割标签页和为 Claude 编程设计的通知终端 - BugShare AI 焊死入口:教育的“操作系统级”重塑 - 郝hai 初级Java开发工程师使用sql脚本编写代码的过程是简单而且不糊涂 - CoderOilStation Claude Code通关手册(六):MCP协议完全指南 - 暮色之狐 边框灯光环绕动画特效实现指南 - Newbe36524 开源:子木蒸馏版的 SEO 审计工具 seo-audit-skill v1.0 我所理解的Python元模型 【从0到1构建一个ClaudeAgent】规划与协调-TodoWrite - 程序员Seven Claude 和 Codex 在审计 Skill 上性能差异探究 - ACai_sec AScript如何实现中文脚本引擎 - rockey627 【渗透测试】HTB Season10 Garfield 全过程wp - dynasty_chenzi Android 开发者为什么必须掌握 AI 能力?端侧视角下的技术变革 树状数组正确性证明 - AC-wyr 你的 AI 焦虑,可能比 AI 本身更危险——ATM 机没有消灭银行柜员,但恐慌消灭了你的判断力 - 我没有三颗心脏 一个拉胯的分库分表方案有多绝望?整个部门都在救火! - 冰河团队 动态规划入门必学之走方格问题 - Ofnoname PostgREST 与 PostgreSQL 角色权限配置全解析(生产级实践) - SheepDog1998 使用 UEFI 图形输出协议 GOP 在屏幕上显示图像的方法 - 阿源- Claude Code通关手册(五):组建你的AI专家团队,子代理系统 - 暮色之狐 一个程序员到架构师的催婚路之感悟(整整10年后的催婚相亲感悟) - MisterLip 用 Agent Skill 自动生成工作周报 - 赵康
《动手学深度学习》第一章笔记:机器学习问题到底怎么分类
养肥胖虎 · 2026-06-15 · via 博客园_首页

动手学深度学习第一章笔记:机器学习问题到底怎么分类

好家伙,

这次我把《动手学深度学习》第一章读完了。

先说一下,我为什么会突然翻这本书。

更直接的原因是,前面我在做一个从零学习 AI 的小项目。

写一个小项目去用,去学习ai(所谓干中学)

写到训练循环时,代码里开始出现这些东西:

_, loss = model(x, y)
loss.backward()
optimizer.step()
loss 到底是什么?
为什么 loss 低就代表模型预测得更好?
loss.backward() 到底在根据什么更新参数?

再具体一点,是为了看懂这行代码:

loss = F.cross_entropy(logits_for_loss, targets_for_loss)

这行代码背后其实是在回答:

模型预测下一个 token 错了多少?
这个“错了多少”的数字是怎么算出来的?

当时我一路追下去,就追到了:

logits
softmax
真实 token 的概率
-log(probability)
cross entropy loss

让我的codex老师给我解释,越解释越晕

所以我才去翻《动手学深度学习》。

为了理解

模型如何知道自己错了?
模型如何根据错误修改参数?

第一章它先把机器学习问题的大框架铺开了

机器学习到底在解决什么问题?
一个问题为什么叫监督学习?
回归和分类到底差在哪?
搜索、推荐、标注这些又算什么?
无监督学习和强化学习又和监督学习有什么区别?

我之前看这些词的时候,很容易把它们当成一堆名词背。

但读完第一章以后,我现在更愿意先问一个更朴素的问题:

模型训练的时候,到底拿到了什么反馈?
模型最后要输出什么东西?

这篇文章就按这个思路,把第一章里关于机器学习问题类型的部分整理一下。

机器学习任务类型

0.先说我的理解:机器学习不是先背模型名

以前我一听机器学习,脑子里会先冒出这些词:

线性回归
决策树
神经网络
Transformer
强化学习
聚类

这些当然都重要。

但如果一开始就背模型名,很容易乱。

因为真正写项目时,我们首先遇到的不是:

我要用什么模型?

而是:

我手里有什么数据?
我有没有标签?
我要预测的是一个数,一个类别,多个标签,还是一个排序?
模型预测错了以后,我怎么知道它错了?

这些问题回答清楚以后,模型选择才有意义。

所以我现在会先把机器学习问题拆成两层:

第一层:训练反馈是什么?
第二层:输出结果长什么样?

第一层决定它大概属于监督学习、无监督学习还是强化学习。

第二层决定它在监督学习里更像回归、分类、标注、搜索还是推荐。

1.监督学习:训练数据里有标准答案

《动手学深度学习》第一章里说,监督学习擅长在“给定输入特征”的情况下预测标签。

这句话看起来简单,但其实很关键。

监督学习最核心的结构是:

输入特征 -> 标签

比如:

房子的面积、卧室数量、位置 -> 房价
图片像素 -> 猫/狗
病人的检查指标 -> 是否有风险
文章内容 -> 文章标签

这里的“标签”,就是训练时给模型看的标准答案。

模型不是凭空学。

它是看了很多这样的样本:

输入 A -> 正确答案 A
输入 B -> 正确答案 B
输入 C -> 正确答案 C

然后慢慢学出一个规律。

以后来了一个新输入,模型就根据学到的规律给出预测。

所以监督学习的关键不是“模型多高级”,而是:

你有没有足够好的 输入-标签 数据。

这里也能解释为什么标注很贵。

因为很多时候数据本身没有天然标签。

比如图像分类:

一张图片是不是猫?
一张 CT 图像是不是癌症?
一段语音对应哪一句文字?

这些标签往往要人工标。

如果标签错了,模型就会被错误答案带偏。

所以监督学习里,数据质量经常比模型名字更重要。

2.回归:输出是一个数值

第一章讲回归时,用了房价预测的例子。

比如一个房子的特征是:

面积
卧室数量
浴室数量
到市中心距离

模型要预测的是:

这个房子大概多少钱?

这里的输出是一个数字。

这就是回归。

我现在对回归的记法很简单:

只要问题在问“多少”,大概率就是回归。

比如:

房价是多少?
电影评分是多少?
明天下雨量是多少?
病人住院时间是多少天?
接口平均响应时间是多少毫秒?

这些问题的答案不是“属于哪一类”,而是一个连续数值。

所以回归模型关心的是:

预测值和真实值差多少?

比如真实房价是 300 万,模型预测 310 万。

这不是完全错。

它是有误差。

回归问题通常就是希望这个误差越小越好。

3.分类:输出是一个类别

分类解决的是另一种问题:

这个东西属于哪一类?

比如:

图片是猫还是狗?
邮件是垃圾邮件还是正常邮件?
手写数字是 0 到 9 中的哪一个?
这个用户会不会流失?

这里模型输出的不是一个连续数值,而是一个类别。

如果只有两个类别,就是二分类。

比如:

是 / 否
猫 / 狗
有风险 / 无风险

如果有多个类别,就是多分类。

比如:

数字 0-9
新闻类别
商品类目
游戏装备类型

这里容易踩一个坑:

分类模型输出的往往不是直接“答案”,而是每个类别的概率。

比如猫狗分类:

猫: 0.9
狗: 0.1

我们通常取概率最大的类别作为答案。

但这不代表所有场景都应该这么干。

第一章里举了毒蘑菇的例子。

如果模型说:

这张图是毒蘑菇的概率只有 20%

按普通分类思路,好像可以判断“不是毒蘑菇”。

但现实里我们不会吃。

因为错一次的代价可能非常大。

所以分类问题不只是看准确率。

有时候还要看:

错判的代价是什么?
宁愿错杀还是宁愿放过?

这点在医疗、风控、安全场景里尤其重要。

4.标注问题:不一定只有一个标签

分类还有一个变体,叫标注问题,也可以理解成多标签分类。

普通分类常常默认:

一个输入只能属于一个类别。

比如一张手写数字图,它要么是 0,要么是 1,要么是 2。

但很多真实问题不是这样。

比如一篇技术博客,可以同时有多个标签:

机器学习
Python
深度学习
数据处理
工程实践

这些标签不是互斥的。

一篇文章可以既是机器学习,也是 Python,也是工程实践。

这就不是普通的“选一个类别”。

它更像:

从一堆候选标签里,选出所有适合的标签。

这也是我对标注问题的理解:

分类是选一个。
标注是可以选多个。

如果放到我自己的博客场景里,一篇文章可能同时被打上:

LLM
RAG
Agent
Docker
学习笔记

这就是一个很自然的多标签问题。

5.搜索和推荐:输出不是一个答案,而是一组排序结果

搜索和推荐这部分,我觉得是第一章里很容易被低估的内容。

因为它不像回归和分类那么“教科书式”。

但真实产品里,搜索和推荐非常常见。

搜索问题不是简单地问:

这个网页是否相关?

而是要问:

给定一个查询,哪些结果最应该排在前面?

比如用户搜:

Transformer 注意力机制

搜索系统可能找到 10000 篇文章。

真正重要的是:

哪 10 篇应该排在第一页?
它们的顺序应该怎么排?

所以搜索的输出不是单个类别,也不是单个数值。

它输出的是一个排序列表。

推荐系统也类似。

只不过搜索通常从用户主动输入 query 开始。

推荐通常是系统根据用户历史行为主动给出内容。

比如:

给这个用户推荐哪几本书?
给这个用户推荐哪些视频?
给这个玩家推荐哪些装备搭配?

推荐系统本质上也要给“用户-物品”打分,再取分数最高的一批。

这里最容易踩的坑是反馈循环。

比如系统越推荐某个商品,用户越可能看到它。

用户越可能看到它,它的数据越多。

数据越多,模型越觉得它值得推荐。

最后就可能出现:

被推荐的东西越来越容易继续被推荐。

所以推荐系统不是单纯预测问题。

它还会改变用户能看到什么,进而改变后续数据。

监督学习输出类型

6.无监督学习:没有标准答案,模型自己找结构

无监督学习和监督学习最大的区别是:

训练数据没有标签。

也就是说,我们只有输入,没有标准答案。

比如:

一堆用户行为数据
一堆文章
一堆图片
一堆商品

但没人告诉模型:

这个用户属于哪类人
这篇文章属于什么主题
这张图应该叫什么

这时候模型要自己找结构。

常见问题包括:

聚类: 把相似的数据分到一起
降维: 把高维数据压缩成更容易看的表示
异常检测: 找出和大多数样本不一样的点
表示学习: 学出更好用的数据表示

我现在会这样理解无监督学习:

监督学习是在学“答案”。
无监督学习是在学“结构”。

比如我们有一堆用户行为数据。

监督学习可能问:

这个用户会不会购买?

无监督学习可能问:

这些用户能不能自然分成几类?
哪些用户行为模式相似?

这两者不是谁更高级。

它们只是问题不同。

7.强化学习:不是给答案,而是给奖励

强化学习的反馈方式又不一样。

它通常不是一次性给模型一堆标准答案。

而是让智能体和环境互动。

可以先记这个结构:

智能体做动作
环境给反馈
智能体根据奖励调整策略

比如下棋。

模型每一步都要选动作。

但它不会在每一步都直接得到“这一步标准答案是什么”。

很多时候,它要等到一局结束以后,才知道赢了还是输了。

强化学习关心的是:

怎样选择一系列动作,让长期奖励最大?

这和监督学习差别很大。

监督学习像是在做题:

题目 -> 标准答案

强化学习更像是在玩游戏:

状态 -> 动作 -> 奖励 -> 新状态 -> 再动作

所以强化学习更适合这些场景:

游戏 AI
机器人控制
自动驾驶决策
资源调度
对话策略

这里的难点是:

当前动作的好坏,可能要很久以后才看得出来。

这就比普通分类复杂很多。

8.练习部分:我会怎么回答

第一章最后的练习,核心不是考公式。

它更像是在让我们确认:

能不能把现实问题翻译成机器学习问题。

我会按下面几个问题来做练习。

练习1:哪些问题可以用监督学习?

我的答案是:

只要训练数据里有输入和对应标签,就可以优先考虑监督学习。

比如:

输入: 房屋面积、位置、卧室数量
标签: 房价
任务: 回归

输入: 图片
标签: 猫/狗/鸟
任务: 分类

输入: 文章内容
标签: 技术、机器学习、Python
任务: 多标签分类

关键不是“这件事听起来像不像 AI”。

关键是:

有没有历史样本?
有没有正确答案?
答案是什么形式?

练习2:怎么区分回归和分类?

判断方法是:

问“多少” -> 回归
问“哪一个” -> 分类

比如:

预测明天温度是多少 -> 回归
预测明天是否下雨 -> 分类
预测电影评分是多少 -> 回归
预测电影属于哪个类型 -> 分类

但这里有个细节:

有些数值看起来像回归,实际可以被做成分类。

比如用户评分是 1 到 5 星。

你可以把它当成回归:

预测一个 1-5 之间的数。

也可以把它当成分类:

预测 1 星、2 星、3 星、4 星、5 星。

怎么选,取决于业务目标和损失设计。

练习3:搜索和推荐为什么不只是分类?

因为搜索和推荐真正关心的是排序。

搜索不是只判断:

这个网页是否相关?

而是要回答:

在所有相关网页里,哪个应该排第一?
哪个排第二?
哪个排第三?

推荐也是一样。

系统不只是判断:

用户喜不喜欢这个商品?

它还要从大量候选商品里选出一批,并按顺序展示。

所以搜索和推荐更像:

打分 + 排序 + 展示

这就是它们和普通分类的区别。

练习4:无监督学习能解决什么?

我的理解是:

当没有标签,但想从数据里发现结构时,就会用到无监督学习。

比如:

把用户分群
发现异常交易
把文章按主题聚类
把高维向量降到二维可视化

无监督学习不直接给标准答案。

它更像是在帮我们整理数据:

哪些东西相似?
哪些东西特殊?
数据背后有没有隐藏结构?

练习5:强化学习和监督学习最大的区别是什么?

监督学习是:

每个样本都有标准答案。

强化学习是:

智能体在环境里做动作,根据奖励学习策略。

所以两者最大的区别在反馈方式。

监督学习更像老师批改作业:

这题对,这题错。

强化学习更像玩游戏:

你做了一连串操作,最后赢了或输了。

奖励可能延迟出现。

这也是强化学习难的地方。

9.这一章我真正记住的东西

第一章看完以后,我觉得最重要的不是记住所有名词。

而是先建立这个判断顺序:

1. 数据里有没有标签?
2. 输出是数值、类别、多个标签,还是排序?
3. 模型的错误怎么衡量?
4. 这个系统会不会和用户或环境互动?
5. 反馈会不会反过来影响未来数据?

如果这些问题没想清楚,直接上模型很容易乱。

比如:

房价预测不是因为用了线性回归才叫回归。
而是因为它要预测一个连续数值,所以它适合用回归思路。

再比如:

推荐系统不是普通分类,因为它最终要输出排序,而且推荐结果还会影响用户后续行为。

这才是这一章真正想让我建立的感觉。

10.总结

所以这篇先记住一句话:

机器学习问题不是先按模型名分类,而是先按训练反馈和输出形式分类。

监督学习:

有标签,学输入到标签的映射。

回归:

输出数值,回答“多少”。

分类:

输出类别,回答“哪一个”。

标注:

输出多个不互斥的标签。

搜索和推荐:

输出排序结果,顺序很重要。

无监督学习:

没有标签,从数据里找结构。

强化学习:

没有直接标准答案,通过和环境互动拿奖励。

下一篇我准备继续往下看:

数据、模型、目标函数、优化算法这几个关键组件到底怎么串起来。

因为这些东西一旦串起来,后面再看线性回归、softmax 回归、神经网络,就不会只是在背公式了。

参考资料

这篇文章主要参考第一章中“各种机器学习问题”的内容,包括监督学习、回归、分类、标记问题、搜索、推荐系统、无监督学习和强化学习。这里引用它,是为了说明这些任务分类不是我自己造的,而是机器学习入门时很基础的一套问题划分方式。