教材:《动手学深度学习》 — 动手学深度学习 2.0.0 documentation (d2l.ai)
视频:跟李沐学AI的个人空间_哔哩哔哩_bilibili
Chapter 1 引言
领域专家:通过模型预测得到的结果来决定广告展现,如农学专家
数据科学家:将收集到的数据处理成模型可以识别的数据,如根据农学专家的需求,将拍到的农作物图片翻译成机器能够理解的数据。(重点在于根据实际问题建立模型来应用)
AI专家:提升模型精度和性能(比数据科学家更专业,模型性能精度更好,或将机器学习应用于其他领域)
1.1 机器学习中的关键组件
- 数据
每个数据集由样本(数据点/数据实例)组成,一般遵循独立同分布。
每个样本由特征(协变量)组成。当每个样本的特征数量相同时,该数量(长度)称为数据的维度。深度学习的一个优势就是可以处理不同维度的数据。
通常将可用数据集分为:训练数据集以及测试数据集。- 训练数据集用于拟合模型参数
- 测试数据集用于评估拟合的模型
⚠️警惕垃圾数据、不均衡数据、无代表性数据带来的后果
- 模型
深度学习的模型功能更强大,更复杂(相较于经典方法)。 - 目标函数
目标函数:用于度量模型的优劣程度。若希望优化其最小值,则被称为损失函数。- 平方误差:预测值与实际值之差的平方
- 最小错误率:错误率即预测与实际情况不符的样本比率
通常损失函数由模型参数定义,且取决于数据集。
- 优化算法
用于搜索最佳参数,以最小化损失函数。目前流行的优化算法通常基于梯度下降法:
每一步,梯度下降法都会检查每个参数,若对该参数进行微弱变动,损失会朝哪个方向移动。然后从减少损失的方向上优化参数。
1.2 机器学习类型
1.2.1 监督学习
监督学习(supervised learning)擅长在“给定输入特征”的情况下预测标签。 每个“特征-标签”对都称为一个样本(example)。
- 回归:标签取数值,有关“有多少”的问题。训练一个回归函数来输出一个数值
- 分类:有关”哪一个“的问题。训练一个分类器来输出预测的类别。常见损失函数为交叉熵。
注意,最常见的类别不一定是最终用于决策的类别。
- 标注问题:多标签问题,如一个图片几个标签(猫、狗、猪…);
区别多项分类是把一个数据集分成多个类别,但每个图片只有一个标签。
- 搜索:输出有序的元素子集。如搜索引擎得到的网址列表。
- 推荐系统:向特定用户进行”个性化“推荐。
目前研究难点:如何处理审查、激励和反馈循环等许多问题
- 序列学习:输入和输出都是可变长度的序列
- 标记和解析:用属性注释文本序列。输出和输入基本等长
- 自动语音识别:输入长于输出
- 文本到语音:输出长于输入
- 机器翻译:颠倒输出输入顺序
- 对话问题:如ChatGPT
以上都是序列学习研究的热门领域。
1.2.2 无监督学习
数据集中不含有“目标(标签)”
- 聚类问题
- 主成分分析问题:用少量的参数来准确地捕捉数据的线性相关属性
- 因果关系和概率图模型:描述观察到的许多数据的根本原因。如啤酒和尿不湿的销售量成正比
- 生成对抗网络:一种合成数据的方法。目前研究热点
1.2.3 与环境互动
区别于离线学习,“与环境互动”会影响环境,环境也会相应影响结果。将会带来一系列的新的建模问题
1.2.4 强化学习
-
应用:机器人、对话系统、开发视频游戏。
-
深度强化学习将深度学习应用于强化学习。
-
在每个特定时间点,智能体(agent)从环境接收一些观察(observation),并且必须选择一个动作(action),然后通过某种机制(有时称为执行器)将其传输回环境,最后智能体从环境中获得奖励(reward)。
-
强化学习框架的通用性十分强大。
-
强化学习者必须处理学分分配(credit assignment)问题:决定哪些行为是值得奖励的,哪些行为是需要惩罚的。
-
一些特殊情况下的强化学习问题:
- 当环境可被完全观察到时,强化学习问题被称为马尔可夫决策过程(markov decision process)
- 当状态不依赖于之前的操作时,我们称该问题为上下文老虎机(contextual bandit problem)
- 当没有状态,只有一组最初未知回报的可用动作时,这个问题就是经典的多臂老虎机(multi-armed bandit problem)