机器学习速成·前置(一):机器学习入门——核心概念与监督式/非监督式学习精讲
本文参考 Google 机器学习简介(Intro to ML) 课程核心内容撰写,帮助读者建立机器学习最关键的基础概念,并理清监督式学习、非监督式学习、回归与分类这几组最易混淆的概念。
一、机器学习到底是什么?
机器学习是让计算机从数据中自动学习规律,而不需要被显式编程去完成任务。它的核心是通过带标签的样本,让模型学会根据特征(Feature)预测标签(Label)。
在进入具体算法之前,必须先掌握三个最底层的关键词:
| 术语 | 英文 | 含义 | 示例(二手车价格) |
|---|---|---|---|
| 特征 | Feature | 作为模型输入的属性 | 品牌、年份、里程数 |
| 标签 | Label | 模型要预测的目标值 | 价格 |
| 样本 | Sample | 一条完整的(特征+标签)数据 | 某辆车的全部记录 |
1.1 预测能力(Predictive Power)
不是数据集里每个特征都对预测有用。只有少数特征才是标签的强预测因子。
以预测汽车价格为例,一个用户数据集可能包含以下列:
汽车数据集特征列:
- Color (颜色)
- Height (车身高度)
- Tire_size (轮胎尺寸)
- Wheel_base (轴距)
- Year (年份)
- Make_model (品牌/型号)
- Miles (里程数)
- Gearbox (变速箱)
其中,品牌/型号(Make_model)、年份(Year)、里程数(Miles) 是汽车价格最强的三个预测因子;而颜色、轮胎尺寸、轴距、变速箱这些特征,对价格的预测能力很弱。
👉 判断特征是否重要:看它对标签的区分度。 选对特征,模型事半功倍;选错特征,再好的算法也白搭。
二、监督式学习 vs 非监督式学习
这是机器学习最基础的一对分岔路,判断依据非常简单:你的数据集里有没有”标签”?
| 维度 | 监督式学习 | 非监督式学习 |
|---|---|---|
| 数据 | 带标签样本 | 无标签样本 |
| 目标 | 预测标签(值或类别) | 发现数据的内在结构/分组 |
| 典型任务 | 回归、分类 | 聚类 |
| 示例 | 预测房价、识别垃圾邮件 | 用户群体细分 |
2.1 如何选择?
核心判据:你是否事先知道要预测的值或类别?
- 如果你事先知道要预测的目标(比如价格、类别标签)→ 用监督式学习
- 如果你只是想发现数据的天然分组(比如用户有哪些类型)→ 用非监督式学习
2.2 案例一:了解用户类型 → 非监督式学习
假设你有一个在线购物网站的用户数据集,但没有”用户类别”这一列。你想了解访问网站的用户都有哪些类型。
答案是:非监督式学习。
因为数据里没有”用户类别”这个标签可供预测。我们想让模型对相关客户群体进行聚类,聚类完成后,再为每个集群取一个名字,比如:
- “折扣寻求者”
- “优惠猎手”
- “浏览者”
- “忠实用户”
- “漫游者”
关键点:非监督式学习做的是”从数据中发现分组”,而不是”预测某个预先定义的类别”。
2.3 案例二:预测住宅年能耗 → 监督式学习
假设你有一个住宅能耗数据集,包含以下列:
住宅能耗数据:
- Square footage (面积)
- Location (位置)
- Year built (建成年份)
- Kilowatt hours used per year (年用电量 - 目标)
你想预测新建住宅的年用电量(千瓦时)。
答案是:监督式学习。
因为”年用电量”(kilowatt hours used per year)就是我们要预测的标签,而”面积、位置、建成年份”是特征。基于带标签样本训练 → 典型监督式学习。
三、回归 vs 分类
在监督式学习内部,根据标签的类型,又分成两大任务:
| 维度 | 回归 | 分类 |
|---|---|---|
| 标签 | 数值(连续值) | 类别(离散值) |
| 输出 | 一个数字 | 一个类别标签 |
| 示例 | 预测房价、预测油耗 | 识别垃圾邮件、判别人脸 |
3.1 案例:预测机票价格 → 回归
假设你有航班数据集,字段包括起飞目的地、飞行时长等。你想预测机票价格(airplane_ticket_cost)。
答案是:回归。 因为机票价格是数值,而分类模型输出的是离散值。
👉 判断口诀:标签是数字 → 回归;标签是类别 → 分类。
3.2 进阶:数值真的不能做分类吗?
有个很自然的追问:能否把机票价格分类为”高、中、低”三个档位,从而用分类模型?
答案是:可以,但需要先做一步数据清洗/离散化——把数值转换成类别:
1. 计算从出发地到目的地的平均票价
2. 确定划分"高/中/低"的阈值
3. 将预测价格与阈值比较,输出所属类别
这样就得到了带类别标签的数据,可以用分类模型了。
⚠️ 注意:分类模型并不是只能预测两类。存在多类别分类模型(如”高/中/低”三分类),臆断”分类只能输出两个类别”是常见误区。
四、强化学习与生成式AI:另外两类机器学习系统
按学习方式,机器学习系统可以归入以下四类:监督式学习、非监督式学习、强化学习、生成式AI。前两类前面已详细讲过,这里补充强化学习和生成式AI。
4.1 强化学习(Reinforcement Learning)
强化学习模型通过与环境交互,根据执行操作获得的”奖励”或”惩罚”来进行学习。
强化学习闭环:
Agent(智能体)─执行操作─► 环境
▲ │
└──────获得奖励/惩罚 ◄──────┘
(奖励多→该策略被强化)
强化学习系统最终会生成一项政策(Policy),即”在什么状态做什么操作”的行动准则,用来定义获得最多奖励的最佳策略——就像玩游戏,做对了加分、做错了扣分,AI 逐步学会最优玩法。
典型应用:
- 机器人控制:训练机器人在房间内自主走动
- 游戏博弈:AlphaGo 通过大量自我对弈学习下围棋
4.2 生成式AI(Generative AI)
生成式AI是一类可根据用户输入”生成新内容”的模型——不仅能预测,还能创造。
它可以做很多事:创作独特的图片、音乐和笑话;总结文章、说明如何执行任务、编辑照片等等。
输入输出形式灵活多样(通常写作”输入类型—输出类型”):
| 类型 | 输入 | 生成内容 |
|---|---|---|
| 文本到文本 | 一个问题 | 一段文字回答 |
| 文本到图像 | 一段描述 | 一张图片 |
| 文本到视频 | 一段分镜脚本 | 一段视频 |
| 文生代码 | 一个需求 | 一段代码 |
| 文字转语音 | 一段文字 | 一段语音 |
| 图片转文字 | 一张图片 | 对图片的描述 |
生成式AI如何工作? 从宏观层面看,它学习数据中的模式,进而生成新的但类似的数据:
- 像模仿他人的喜剧演员——观察别人的行为、说话风格后模仿
- 像研究大量画作学画的艺术家——吃透一种风格后创作
- 像模仿乐队的翻唱团——听很多音乐后模仿声音
训练方式:生成式模型最初通常是非监督式训练(模仿训练数据),之后有时会结合监督式或强化学习微调,以适配具体任务(如总结文章、编辑照片)。
五、训练与评估:如何改进预测结果
训练完模型后,需要用带标签的评估数据集,把模型的预测值和真实标签对比,看预测得准不准。
如果模型的预测结果与实际值相差甚远,可以采取哪些有效措施?
5.1 无效做法 ❌
- 换一种训练方法(如监督式换非监督式):方向不对,不同的训练方法不会产生更好的预测。
- 放弃模型:大多数模型都需要经过多轮训练才能做出有用预测,失败的预测完全可以修复——不能因为第一次训练不准就放弃。
5.2 有效做法 ✅
| 改进手段 | 为什么有效 |
|---|---|
| 只保留最具预测能力的特征重新训练 | 用更少但更强的特征,能让预测更准确,减少噪声 |
| 用更大、更多样化的数据集重训 | 更多样本+更广的值范围,模型对特征与标签的关系有更好的泛化能力 |
六、下一步学习路线
学完基础概念后,可继续深入:
- 机器学习速成课程(Crash Course):动手实践,深入学习模型训练细节(线性回归、损失函数、梯度下降等)。
- 问题构建(Problem Framing):学习实战检验过的方法,正确搭建模型、避开常见误区。
- 前置工具篇:NumPy 与 Pandas,打好数据处理基础。
总结
| 核心概念 | 关键结论 |
|---|---|
| 特征 vs 标签 | 特征是输入,标签是目标;只有少数特征有强预测力 |
| 监督式 vs 非监督式 | 有标签→监督式(预测);无标签→非监督式(聚类分组) |
| 回归 vs 分类 | 标签是数值→回归;标签是类别→分类 |
| 另外两类系统 | 强化学习(奖励/惩罚试错);生成式AI(根据输入生成新内容) |
| 训练改进 | 精选特征、加大数据多样性;大多数模型需多轮迭代训练 |
一句话:机器学习 = 从有标签/无标签的数据里自动找规律。先判断有没有标签,再判断要预测数值还是类别——分对了路,后面的一切都顺理成章。