背景知识

监督学习

监督学习(supervised learning)擅⻓在“给定输⼊特征”的情况下预测标签。每个“特征-标签”对都称为 ⼀个样本(example)。有时,即使标签是未知的,样本也可以指代输⼊特征。我们的⽬标是⽣成⼀个模型, 能够将任何输⼊特征映射到标签,即预测。

回归(regression)、分类(classification)是最简单的监督学习任务之⼀。在回归中,我们训练⼀个回归函数来输出⼀个数值;⽽在分类中,我们训练⼀个分 类器,它的输出即为预测的类别。分类包括二元分类和多元分类(multiclass classification)。

标记,学习预测不相互排斥的类别的问题称为多标签分类(multi-label classification)。

搜索,在信息检索领域,我们希望对⼀组项⽬进⾏排序。

推荐系统(recommender system),它的⽬标是向特定⽤⼾进⾏“个性化” 推荐。推荐系统会为“给定⽤⼾和物品”的匹配性打分,这个“分数”可能是估计 的评级或购买的概率。由此,对于任何给定的⽤⼾,推荐系统都可以检索得分最⾼的对象集,然后将其推荐 给⽤⼾。以上只是简单的算法,⽽⼯业⽣产的推荐系统要先进得多,它会将详细的⽤⼾活动和项⽬特征考虑 在内。推荐系统算法经过调整,可以捕捉⼀个⼈的偏好。

序列学习,序列学习需要摄取输⼊序列或预测输出序 列,或两者兼⽽有之。具体来说,输⼊和输出都是可变⻓度的序列,例如机器翻译和从语⾳中转录⽂本。包括标记和解析、自动语音识别、文本到语音、机器翻译。

无监督学习

我们称这类数据中不含有“⽬标”的机器学习问题为⽆监督学习(unsupervised learning)

聚类(clustering),没有标签的情况下,给数据分类

主成分分析(principal component analysis),我们能否找到少量的参数来准确地捕捉数据的线 性相关属性?

因果关系(causality)和概率图模型(probabilistic graphical models):我们能否描述观察到的 许多数据的根本原因?

⽣成对抗性⽹络(generative adversarial networks):为我们提供⼀种合成数据的⽅法,甚⾄像图像和音频这样复杂的非结构化数据。潜在的统计机制是检查真实和虚假数据是否相同的测试,它是⽆监督学习的另⼀个重要而令⼈兴奋的领域。

强化学习

强化学习 (reinforcement learning)。 深度强化学习(deep reinforcement learning)将深度学习应⽤于强化学习的问题,是⾮常热⻔的研究领域。

在强化学习问题中,agent在⼀系列的时间步骤上与环境交互。在每个特定时间点,agent从环境接收⼀些观察(observation),并且必须选择⼀个动作(action),然后通过某种机制(有时称为执行器)将其传输回环境, 最后agent从环境中获得奖励(reward)。此后新⼀轮循环开始,agent接收后续观察,并选择后续操作,依此 类推。强化学习的⽬标是产⽣⼀个好的策略(policy)。强 化学习agent选择的“动作”受策略控制,即⼀个从环境观察映射到⾏动的功能。

强化学习框架的通⽤性⼗分强⼤。例如,我们可以将任何监督学习问题转化为强化学习问题。假设我们有⼀ 个分类问题,我们可以创建⼀个强化学习agent,每个分类对应⼀个“动作”。然后,我们可以创建⼀个环境, 该环境给予agent的奖励。这个奖励与原始监督学习问题的损失函数是⼀致的。 当然,强化学习还可以解决许多监督学习⽆法解决的问题。例如,在监督学习中,我们总是希望输⼊与正确的标签相关联。但在强化学习中,我们并不假设环境告诉agent每个观测的最优动作。⼀般来说,agent只是得到⼀些奖励。此外,环境甚⾄可能不会告诉我们是哪些⾏为导致了奖励。

⼀般的强化学习问题是⼀个⾮常普遍的问题。agent的动作会影响后续的观察,⽽奖励只与所选的动作相对应。环境可以是完整观察到的,也可以是部分观察到的,解释所有这些复杂性可能会对研究⼈员要求太高。此外,并不是每个实际问题都表现出所有这些复杂性。因此,学者们研究了⼀些特殊情况下的强化学习问题。 当环境可被完全观察到时,我们将强化学习问题称为马尔可夫决策过程(markov decision process)。当状态不依赖于之前的操作时,我们称该问题为上下文赌博机(contextual bandit problem)。当没有状态,只有⼀组最初未知回报的可用动作时,这个问题就是经典的多臂赌博机(multi-armed bandit problem)。

数学知识

范数

线性代数中最有用的⼀些运算符是范数(norm)。⾮正式地说,⼀个向量的范数告诉我们⼀个向量有多大。 这⾥考虑的⼤小(size)概念不涉及维度,⽽是分量的⼤小。 在线性代数中,向量范数是将向量映射到标量的函数f。给定任意向量x,向量范数要满足⼀些属性。

第⼀个性质是:如果我们按常数因⼦α缩放向量的所有元素,其范数也会按相同常数因⼦的绝对值缩放。

第二个是三角函数。f(x+y)<=f(x)+f(y)

第三个是范数必须是非负的。

欧几里得距离是⼀个L2范数:假设n维向量x中的元素 是x1, . . . , xn,其L2范数是向量元素平⽅和的平⽅根:
$$
||x||{2}=\sqrt{\sum{i=1}^nx_i^2}
$$
其中,在L2范数中常常省略下标2。L1范数表示为向量元素的绝对值之和

L2范数和L1范数都是更⼀般的Lp范数的特例:
$$
||x||{p}=({\sum{i=1}^n|x_i|^p})^{1/p}
$$
类似于向量的L2范数,矩阵X 的Frobenius范数(Frobenius norm)是矩阵元素平方和的平⽅根。

贝叶斯定理

$$
P(A|B)=P(B|A)P(A)/P(B)
$$

其中P(A, B)是⼀个联合分布(joint distribution),P(A | B)是⼀个条件分布(conditional distribution)。这种分布可以在给定值A = a, B = b上进⾏求值。

期望和方差

一个随机变量的期望(expectation)表示为
$$
E[X]=\sum_xP(X=x)
$$
方差:
$$
Var[f(x)]=E[(f(x)-E[f(x)])^2]
$$

线性神经网络

线性回归

回归(regression)是能为⼀个或多个⾃变量与因变量之间关系建模的⼀类⽅法。在⾃然科学和社会科学领域,回归经常⽤来表⽰输⼊和输出之间的关系。

严格来说,其是输⼊特征的⼀个 仿射变换(affine transformation)。仿射变换的特点是通过加权和对特征进⾏线性变换(linear transformation),并通过偏置项来进⾏平移(translation)。

损失函数

损失函数(loss function) 能够量化⽬标的实际值与预测值之间的差距。

随机梯度下降

梯度下降最简单的⽤法是计算损失函数(数据集中所有样本的损失均值)关于模型参数的导数(在这⾥也可以称为梯度)。但实际中的执行可能会⾮常慢:因为在每⼀次更新参数之前,我们必须遍历整个数据集。因此, 我们通常会在每次需要计算更新的时候随机抽取⼀小批样本,这种变体叫做小批量随机梯度下降(minibatch stochastic gradient descent)。

在每次迭代中,我们⾸先随机抽样⼀个⼩批量B,它是由固定数量的训练样本组成的。然后,我们计算⼩批 量的平均损失关于模型参数的导数(也可以称为梯度)。最后,我们将梯度乘以⼀个预先确定的正数η,并从 当前参数的值中减掉。

image-20220628224127165

softmax回归

softmax函数将未规范化的预测变换为⾮负并且总和为1,同时要求模型保持可导。我们⾸先对每个未规范化 的预测求幂,这样可以确保输出⾮负。为了确保最终输出的总和为1,我们再对每个求幂后的结果除以它们的 总和。如下式:

image-20220628225311598

尽管softmax是⼀个⾮线性函数,但softmax回归的输出仍然由输⼊特征的仿射变换决定。因此,softmax回归是⼀个线性模型(linear model)。