机器学习_介绍篇章
😀 这里写文章的前言:
机器学习三大范式(监督/无监督/强化)与深度网络的关系;回归 vs 分类;输入类型(表格、序列、图像、图结构);模型作为函数族 + 训练数据选择具体函数;生成模型与潜变量
📝 机器学习的三大范式与深度网络关系
核心关系
深度神经网络是目前最强大、最实用的一类机器学习模型。将深度网络应用到数据上的过程称为深度学习。深度网络并非三大范式本身,而是实现这三大范式的核心工具/模型家族。三大范式定义了“学什么、如何学”的问题类型和目标,而深度网络提供了强大的函数逼近能力,使这些范式在复杂、高维、结构化数据上取得当前最佳性能。
- 监督学习:深度网络学习从输入 x 到输出 y 的映射 y=f[x,ϕ]。
- 无监督学习:深度网络学习数据的内在结构或概率分布(生成模型)。
- 强化学习:深度网络常被用来表示策略(从状态到动作的映射)或价值函数。
三大范式是否可以通过深度网络实现?
是的,完全可以,而且目前最前沿的实现几乎都依赖深度网络。
具体说明如下:
(1)监督学习
- 定义:从带标签的输入-输出对中学习映射关系。
- 深度网络实现方式:
- 网络作为函数 f[x,ϕ],参数 ϕ 通过最小化损失函数(如平方损失、交叉熵)来训练。
- 可处理回归(连续输出)、分类(概率输出)、结构化输出(语义分割、深度估计、翻译、图像生成描述等)。
- 优势:能处理高维、变长、具有内部结构的输入(图像、文本、音频、分子图等),并输出同样复杂的结构。
- 书中例子:房价预测、情感分类、音乐类型识别、图像物体分类、语义分割、单目深度估计、语音转文字、机器翻译、文本生成图像等。
(2)无监督学习
- 定义:只有输入数据,没有对应输出标签。目标是描述或理解数据的结构(而非学习映射)。
- 深度网络实现方式(重点是生成式模型):
- 学习合成与训练数据在统计上难以区分的新样本。
- 一些模型直接建模数据的概率分布并从中采样;另一些只学习生成机制。
- 常引入潜变量(latent variables)来捕捉数据的低维本质结构(例如人脸表情可用约42个肌肉参数近似描述)。
- 条件生成:在部分约束下生成(图像修复、文本补全等)。
- 书中例子:逼真的猫/建筑图像生成、短篇故事合成、图像修复、文本续写(如GPT系列)。
(3)强化学习
- 定义:智能体(agent)在环境中执行动作,改变状态并获得奖励。目标是学习能最大化长期累积奖励的策略。存在时间信用分配问题(奖励延迟)以及探索-利用权衡。
- 深度网络实现方式:
- 最常见的是策略网络:深度网络直接将观察到的状态映射到动作(或动作分布)。
- 也可用于近似价值函数(状态价值或动作价值)。
- 书中例子:
- 类人机器人行走:从传感器状态到关节动作的映射。
- 下棋:从棋盘状态到走法选择的映射。
回归和分类
回归
定义:
回归问题的目标是预测连续数值(或一组连续数值)。模型输出的是实数,而不是离散的类别标签。
- 单变量回归:输出一个连续数值。
- 多变量回归:输出多个连续数值。
直观理解:
把模型想象成一条(或一组)曲线/函数,它根据输入计算出一个“多少”的量。
| 案例 | 输入 | 输出 | 类型 | 说明 |
| 房价预测 | 房屋特征(面积、卧室数量等)组成的固定长度向量 | 房价(一个连续数字) | 单变量回归 | 最经典的例子。模型返回的是一个实数,而不是“便宜/贵”这类类别。 |
| 分子性质预测 | 分子的化学结构(原子及连接方式) | 熔点 + 沸点(两个连续数字) | 多变量回归 | 同时预测多个连续数值。 |
| 单目深度估计(结构化输出) | RGB 图像 | 每个像素的深度值(连续数值矩阵) | 多变量/结构化回归 | 输出是一张“深度图”,每个像素都是一个连续的深度数字。 |
分类
定义:
分类问题的目标是把输入分配到离散的类别中。模型通常输出每个类别的概率,然后取概率最高的类别作为最终预测。
- 二元分类(Binary Classification):只有两个类别(是/否、正面/负面、猫/狗等)。
- 多类别分类(Multi-class Classification):有三个或以上的互斥类别。
直观理解:
把模型想象成一个“投票器”或“概率分配器”,它告诉你输入更像哪一类。
| 案例 | 输入 | 输出 | 类型 | 说明 |
| 餐厅评论情感分析 | 评论文本字符串 | 正面 or 负面(两个概率) | 二元分类 | 输出是一个长度为 2 的概率向量,例如 [0.12, 0.88] 表示 88% 概率是负面。 |
| 音乐类型识别 | 音频片段 | N 种音乐类型中的一种(N 个概率) | 多类别分类 | 模型返回大小为 N 的概率向量,表示属于每种类型的可能性。 |
| 图像物体分类 | 图片(像素 RGB 值) | N 种物体中的一种(N 个概率) | 多类别分类 | 经典 ImageNet 风格任务。 |
| 语义分割(结构化输出) | RGB 图像 | 每个像素属于“牛”还是“背景”(每个像素做一次二元分类) | 多变量二元分类 / 结构化分类 | 输出是一张与输入同样大小的标签图。 |
回归 vs 分类 的核心对比
| 对比维度 | 回归(Regression) | 分类(Classification) |
| 输出类型 | 连续数值 | 离散类别(或类别概率) |
| 典型问题问法 | “是多少?” | “是哪一类?” |
| 模型输出示例 | 房价 = 325.6 万元 | 正面概率 0.15,负面概率 0.85 |
| 常用损失 | 平方损失、MAE | 交叉熵损失 |
| 决策方式 | 直接使用预测的数值 | 通常取概率最大的类别 |
| 代表例子 | 房价预测、分子熔点沸点 | 评论情感、音乐类型、图像物体分类 |
数据处理
现实世界的输入(文本、音频、图像、分子等)必须先被转换成数字向量,模型才能接受并处理。不同输入类型的结构差异很大,处理方式也因此不同。
表格数据
特点
- 固定长度的特征向量
- 没有内在结构(改变特征顺序,模型预期结果不变)
- 典型例子:房屋特征(面积、卧室数、楼层、位置编码等)
处理方式
- 直接把每个特征变成一个数字
- 类别特征需要编码(One-hot 或 Embedding)
- 数值特征通常做标准化/归一化(让数值在相似范围)
处理后的效果示例
假设预测房价,原始数据:
text
面积: 120㎡, 卧室: 3, 楼层: 8, 是否学区: 是 |
处理后变成固定长度向量:
text
[120.0, 3.0, 8.0, 1.0] # 或标准化后 [0.85, 0.6, 0.4, 1.0] |
模型直接接收这个向量。
文本数据(Text)
特点
- 长度不固定
- 顺序非常重要(“我的妻子吃了鸡肉” ≠ “鸡肉吃了我的妻子”)
- 必须先编码成数字
处理方式(书中举例 + 现代常用方法)
- 分词(Tokenization):把句子拆成词或子词
- 建立词汇表:固定大小(书中例子用 10,000 个词)
- 转换成索引序列:每个词对应一个整数 ID
- 现代方法会进一步用 Embedding 层把索引变成稠密向量,或直接用 Transformer 的 tokenizer(如 BPE)
处理后的效果示例
原始文本:
text
"这家餐厅的服务很好" |
处理后(简单索引方式,书中例子):
text
[4521, 89, 3302, 17, 908] # 每个数字是词汇表中的索引 |
或经过 Embedding 后变成矩阵(每个词变成一个向量):
text
[[0.12, -0.45, 0.78, ...], # “这家”的向量 |
长度会不同,实际训练时常做 padding(补零)或截断,变成固定长度
🤗 总结归纳
总结文章的内容
📎 参考文章
- 一些引用
- 引用文章
💡 有关文章的问题,欢迎您在底部评论区留言,一起交流~

