📄 一句话概括
机器学习=不写死规则,让程序从数据里自己找规律——而它的口粮(训练数据)几乎全部从数据库来:数据质量决定 AI 上限。
📝 本节和前面几节的关系
8-7 的分析是人提问、SQL 算答案;本节更进一步——规律让机器自己找(推荐、预测、分类)。但它仍然站在数据库的肩膀上:训练数据从库里抽(8-7 的 OLAP 流水线),学完的结果再写回库里服务应用。
一、机器学习的三种姿态
| 类型 | 干什么 | 数据库角色 | 书评网站例子 |
|---|---|---|---|
| 监督学习 | 有答案的学习(打标签) | 存「特征+答案」历史数据 | 根据历史评分预测你会给某书打几分 |
| 无监督学习 | 无答案找分组 | 存原始行为数据 | 把用户聚成「推理迷/技术迷」圈子 |
| 推荐系统 | 个性化排序 | 存用户-物品互动记录 | 「看过这本书的人也看了……」 |
二、与数据库的三次握手
- 取:训练数据从库中抽取——通常是 8-7 的分析流水线(不碰在线交易库)
- 学:算法在数据上找规律(这步不关数据库的事)
- 用:模型预测结果写回数据库(如给每用户存推荐列表),应用照常查询——AI 只是数据库生态的新租客
三、动手 Demo:一个「伪推荐」的最小实现
-- 书评网站的协同过滤雏形:
-- 「给书 X 打 5 分的人,还爱看哪些书?」
SELECT b.title, COUNT(*) AS 共同粉丝
FROM reviews r1
JOIN reviews r2 ON r1.user_id = r2.user_id -- 同一个人
JOIN books b ON b.isbn = r2.isbn
WHERE r1.isbn = '9787115428028' AND r1.score = 5
AND r2.isbn != '9787115428028'
GROUP BY b.title
ORDER BY 共同粉丝 DESC
LIMIT 5;
【准备块】5-19 的 book_review 库;这条 SQL 就是推荐系统的细胞——真实推荐只是把 COUNT 换成更聪明的算法。
四、30 秒实验
打开任意购物 App 的推荐栏:它为什么知道你想要什么?——因为你在数据库里留过的每一次浏览/下单(OLTP)都被抽进分析系统(OLAP)喂给了模型(8-8)。推荐不是魔法,是你的行为记录 + SQL 的远房表亲。
五、常见误区
- 「AI 能凭空变出智能」:模型的上限是数据的上限——脏数据(第五章没规范化的)练出脏模型(垃圾进,垃圾出)
- 「机器学习替代数据库」:恰恰相反——AI 时代对数据存储的需求更大,两者是上下游
- 「推荐结果实时现算」:通常离线算好写回缓存/数据库(8-6),线上只查不算
自测三问
1. 机器学习与数据库的三次握手?(取数据训练→模型学习→结果写回库供查询) 2. 为什么说「数据质量决定 AI 上限」?(模型从数据找规律,脏数据练出脏模型——垃圾进垃圾出) 3. 训练数据为什么从 OLAP 流水线抽而不是业务库?(大抽取会拖垮在线交易——8-7 两线分离的延伸)- ☐ 下一节(8-9 AI数据库-引入了AI技术的数据库)
相关笔记
- 大数据-收集和分析大量数据 — 训练数据的输送管道
- 缓存-高速获取数据 — 推荐结果写回后的高速出口
- AI数据库-引入了AI技术的数据库 — 下一节:AI 反过来钻进数据库里
- 🗄️ 数据库基础 · 索引 — 全课路线图