小样本学习 · Few-shot Learning,FSL

待完成的视频:

  1. 论文解读合集:【CVPR 2021】小样本学习论文解读 | Few-Shot Classification with Feature Map..._哔哩哔哩_bilibili
  2. 王树森:Few-Shot Learning (1/3): 基本概念 (youtube.com)

概述

描述

FSL 旨在解决在训练集中只有很少样本的情况下进行分类和推理的问题。最早可以追溯到 2000 年初,也称为 Small-Sample Learning, 或者 One-Shot Learning。

从某种意义上来说,FSL 旨在弥合人工智能和人类学习之间的差距,可以通过结合先验知识来学习只包含少量有监督信息的新任务。

  • N-way K-shot:way 代表类别的数量,shot 代表每个类别有几张图片,five-way one-shot 指的就是有 5 个类别,每个类别有 1 张图片,five-way one-shot 任务中定义了两个集合,分别是支持集查询集,小样本学习的任务的目标就是判断查询集的图片是属于支持集中哪一个类别的

image

定义

==FSL==是==机器学习==的子领域。

机器学习的定义:计算机程序基于与任务 T 相关的经验 E 学习,并得到性能改进,性能度量指标为 P

Machine Learning : A computer program is said to learn from experience E with respect to some classes of task T and performance measure P if its performance can imporve with E on T measured by P.

FSL 的定义为:小样本学习是一类机器学习问题,其经验 E 中仅包含有限数量的监督信息。

Few-shot Learning : FSL is a type of machine learning problems (specified by E, T and P ), where E contains only a limited number of examples with supervised information for the target T.

FSL 问题定义

定义:FSL 问题是指,给定一个有特定于任务T的包含少量可用的有监督信息的数据集D_T和与T不相关的辅助数据集D_A ,小样样本学习的目标是为任务T构建函数f,该任务的完成利用了D_T中很少的监督信息和D_A中的知识,完成将输入映射到目标的任务。

  • 上述定义中与T不相关的术语表示为:D_TD_A中的类别是正交的,即Y_T\cap Y_A=\emptyset。如果D_A覆盖了T中的任务,即Y_T\cap Y_A=Y_T,则 FSL 问题将崩溃为传统的大样本学习问题。
  • 由此可以产生很多基于 FSL 的扩展性问题,如D_{trn}中包含一部分无标签数据,或者D_A\neq D_T的情况。

方法

Wang, Yaqing, Quanming Yao, James T. Kwok 和 Lionel M. Ni. 《Generalizing from a Few Examples: A Survey on Few-shot Learning》. ACM Computing Surveys 53, 期 3 (2020 年 6 月 12 日): 63:1-63:34. https://doi.org/10.1145/3386252. ==Q1\一区==

基于先验知识的方法

基于各个方法利用==先验知识==处理核心问题的方式,该研究将 FSL 方法分为三大类:

  • 数据:利用==先验知识==增强监督信号;
  • 模型:利用==先验知识==缩小假设空间 \mathcal{H} 的大小;
  • 算法:利用==先验知识==更改给定假设空间中对最优假设的搜索。

imageimage

image

在机器学习和统计学习理论中,估计误差(Estimation Error)和近似误差(Approximation Error)1是两个重要的概念,它们帮助我们理解模型在训练和测试过程中的性能限制。理解这两个误差对于模型的选择、训练和优化具有重要意义。

数据:扩充监督信息

imageimage

Transforming samples from D_{train}

D_{train} 中的每个样本转换为其他的变体样本,转换过程作为先验知识包含在经验 E 中。早期的 FSL 工作每个样本与其他样本对齐,从相似的类中学习几何变换或训练自动编码器。

Transforming Samples from a Weakly Labeled or Unlabeled Data Set

通过从一个弱标记或无标记的大数据集中选择具有目标标签的样本来增强 D_{train}。主要问题是如何选择具有目标标签的样本来增强到 D_{train} 中。

Transforming Samples from Similar Data Sets

这种策略通过聚合和调整来自类似但更大的数据集的输入输出对来增强 D_{train}。聚合权重通常基于样本间的某种相似性度量。有些方法引入 GAN 来生成与真实数据分布相似的合成数据,来避免直接聚合带来的不匹配问题。

模型:缩小假设空间的大小

image

Embedding Learning 的一些前提:(关于 embed & embedding2

  • 存在一个函数 f,将测试样本嵌入到空间 \mathcal Z 中,数学表示为 f:x_{test} \in D_{test} \rightarrow \mathcal Z

    这个“嵌入”说人话就是:高维度到低维度的映射,例如一个单 zzz 词“love”就是高维度信息,将其转换为一系列计算机所能理解的特征向量(映射到向量空间),就是嵌入的过程。“语义”通常指的是数据背后所蕴含的实际意义或信息。它涉及理解数据的内容和意图,而不仅仅是对数据进行形式上的处理。

  • 存在一个函数 g,将训练样本嵌入到空间 \mathcal Z 中,数学表示为 g:x_i \in D_{train} \rightarrow \mathcal Z

  • 存在一个函数 s,度量 f(x_{test})g(x_i) 在嵌入空间 \mathcal Z 中的相似度(Similarity),如果 f(x_{test})g(x_i) 相似度最高,则 x_{test}x_i 属于同一类,数学表示为 \mathrm{class}\,\, x_{test}=\mathrm{class}\,\, x_i\,\,\mathrm{with} \max[s(g(x_i),f(x_{test}))]_{i=1}^{N_{train}}N_{train} 表示训练集的总数量

  • 尽管 fg 可以是同一个函数,但是有研究表明[14, 138],分别为测试样本和训练样本使用一个嵌入函数效果会更好

  • 最后,任何的网络比如 CNN 其实可以看做是一个函数,即在实际研究中,fg 分别指用于输入测试集和训练集的网络。同理,f(x_{test}) 指的是网络 f 从测试集中提取到的语义信息, g(x_i) 指网络 g 从训练样本 x_i 提取到的语义信息。

Multitask learning

  1. 参数共享

    通过共享两个 CNN 的卷积核权重实现参数共享

  2. 参数绑定

    通过将两个 CNN 的权重差异作为正则化项加入损失函数,使得W_iW_j尽可能相似,从而实现参数绑定:

    L_{\mathrm{total}}=L_{\mathrm{original}}+\lambda\sum_{i,j}\|W_{i}-W_{j}\|^{2}

Embedding learning

  1. 特定任务 · Task-Specific❓

    特定于任务的嵌入模型,通过对该任务的小样本数据集枚举所有可能的样本对,来生成大量的样本对,增加训练数据的数量。

  2. 通用任务 · Task-Invariant

    利用一个大规模数据集设定大量小样本学习的任务,使得网络能够适应用小样本的任务学习。

    基于元学习的方法:

    • Matching Networks:通过学习一个注意力机制,直接在支持集样本和查询样本之间进行匹配。它基于样本之间的相似度(通常是基于余弦相似度或带有注意力权重的距离)进行分类。
    • Prototypical Networks:通过计算每个类别的原型(prototype),即类别样本在嵌入空间的均值,来进行分类。新样本根据它与各类别原型的距离(欧几里得距离或其他度量距离)来确定其类别。
    • Others:ARC,RN,GNNs,FSRLA,SNAIL (参考 ChatGPT 对原文的解释3

    imageimage

    对该图的理解:灰色框中 prior knowlegde 指的是辅助数据集(即,大规模数据集),而灰框中的 embedding g 和 embedding f 分别就是在辅助数据集上进行元学习所得到的对训练集和测试集的映射(即,嵌入函数,用于将高维度、稀疏的信息映射到低纬度的空间中,形成嵌入空间;也可以称为预训练过的网络 gf );灰框之外的 embedding f 则是指未经辅助数据集训练的测试集映射(未预训练的网络 f);similarity s 是在辅助数据集上学习得到的相似度函数。

  3. 混合 · Hybrid❓

    结合上图,gf 的箭头,意为进行小样本学习时,训练集网络 g 从训练集中提取的特征会输入到测试集网络 f 中,因此 f 从测试样本 x_{test} 中提取的不仅是通用任务信息,还有特定于训练集 D_{train} 的信息,如此可以实现特定任务信息和通用任务信息的结合。

Learning with external memory

image

使用预训练后的 f 提取 D_{train} 特征并将【特征-标签】以【键-值】对的形式写入外部储存器中(记忆),而新样本 x_{test}f 提取的特征则使用记忆内容的加权平均来表示,可以显著缩小假设空间 \mathcal{H} 的范围。

如何实现加权平均:根据相似度分配权重。相似度越高,权重越大。通过这些权重对记忆库中的内容进行加权平均,就可以得到测试样本的表示。

  1. Refining Representations:微调新样本的表示方法,例如元学习优化记忆表示,利用辅助数据集的记忆结合小样本的记忆,当记忆无法表示新样本时对记忆进行更新
  2. Refining Parameters:微调参数,使用记忆来微调网络的参数

Generative modeling

image

阐述:在先验知识的帮助下,估算观察到的 x_i 的概率分布 p(x)

通常假设,观察到的 x 来自于某个分布 p(x; \theta) · 对符号 p(·;·)和 p(·|·)的理解4

并且,存在一个隐变量 z \sim p(z;\gamma),使得 x\sim \int p(x|z;\theta)p(z;\gamma)\mathrm{d}z

  • 其中 p(z;\gamma) 是先验分布,包含从辅助数据集中习得的先验知识

根据 latent variable · 隐变量 z 代表的含义不同,分为以下三类方法:

  1. Decomposable Components · 可分离的组件:

    如,考虑仅使用提供的几张人脸照片来识别一个人。虽然相似的面孔可能很难找到,但人们很容易找到眼睛、鼻子或嘴巴相似的照片。有了大量的样本,这些可分解组件的模型可以很容易地学习。然后只需要找到这些可分解组件的正确组合,并决定该组合属于哪个目标类。

  2. Groupwise Shared Prior · 分组共享先验知识:

    通常,相似的任务具有相似的先验概率,这可以在 FSL 中使用。例如,考虑“橘猫”、“豹子”和“孟加拉虎”的三类分类。这三个物种很相似,但孟加拉虎濒临灭绝,而橙色的猫和豹子数量很多。因此,人们可以从"橘猫"和"豹子"中学习先验概率,并将其作为少样本类别"孟加拉虎"的先验概率。

  3. Parameters of Inference Networks · 使用变分分布近似后验分布:

    后验分布的计算涉及到无法解析求解的积分问题(边际似然或证据),使用可调参数的变分分布 q(z;\delta) 来近似后验分布。这个变分分布是通过大规模辅助数据集训练得到的。

算法:更改假设空间中对最优假设的搜索

image

Refining Existing Parameters

  1. Fine-Tuning Existing Parameter by Regularization
  2. Aggregating a Set of Parameters
  3. Fine-Tuning Existing Parameter with New Parameters

imageimage

image

Refining Meta-Learned Parameter

基于梯度下降法进行微调

image

Learning the Optimizer

image

Future works

现有 FSL 方法通常来自于单一模态的先验知识,然而可能存在另一种有监督样本丰富的模态。如灭绝动物只有有限数量的视觉样本,但在文本领域可能有很多关于这些稀有类的信息。因此考虑多模态信息的使用是一个很有前途的方向。

在技术上,实践中有大量任务的相关性是未知的,这种情况下可能导致负迁移;此外,现有 FSL 方法通常考虑静态和固定的 P(T),而在流应用中,P(T) 是动态的,新的任务不断到达,一个重要的问题是如何在动态环境中避免“灾难性遗忘”。

在应用上,在 CV 领域,两个最流行的应用是字符识别和图像分类。其余的应用包括对象识别、图像检索、对象跟踪、特定对象技术、场景位置识别、手势识别、图像生成、跨域图像翻译、3D 视图重建、图像字幕和视觉问答等。还有视频应用,包括运动预测、视频分类、动作定位、事件检测、目标分割。

另一篇文献

Lu, Jiang, Pinghua Gong, Jieping Ye, Jianwei Zhang 和 Changshui Zhang. 《A survey on machine learning from few samples》. Pattern Recognition 139, 期 C (2023 年 7 月 1 日). https://doi.org/10.1016/j.patcog.2023.109480. ==Q1\一区==

基于生成模型的方法

为了对后验概率 P(x|y) 进行建模,绝大多数时候,xy 之间的数学联系并不能直接描述,因此引入隐变量 \mathbf{z} 作为 xy 之间的桥梁,并利用积分消除 \mathbf{z} 的影响(边缘化,Marginalization,转换为边缘分布):

p(x|y)=\int_\mathbf{z}p(x,\mathbf{z}|y)\mathrm{d}\mathbf{z}=\int_\mathbf{z}p(\mathbf{z}|y)p(x|\mathbf{z},y)\mathrm{d}\mathbf{z}

在不同的研究方法中,这个 \mathbf{z} 有不同的形式。本文据此进行了分类。

基于判别模型的方法

数据增强 · Data Augmentation

数据增强是提高训练样本数量和增强数据多样性的直观方法,在视觉领域,一些基本的增强操作包括旋转,翻转,裁剪,平移以及将噪波添加到图像中。对于 FSL 任务,这些低层次的增强手段不足以为 FSL 模型的泛化能力带来实质性的收益。 在这种情况下,不少文章提出了针对 FSL 定制的更复杂的增强模型,算法或网络。

image

除了 DaGAN 在数据级别对样本进行增强之外,其他方法也实现了在 task T 中训练样本的特征级增强。根据数据的扩充是否依赖于外部信息(例如语义属性,词向量属性等),可以将现有的基于扩充的 FSL 方法进一步分为有监督和无监督两类。

  • 基于监督增强的几种 FSL 方法包括特征轨迹转移、AGA、Dual TriNet、Author-Topic (AT)和 ABS-Net。

度量学习 · Metric Learning

学习一个映射,使得同类样本在映射空间中更接近,异类样本则远离。通过这种方式,模型可以在少量样本下有效区分不同类别。

image

  • 基于度量的方法

    • Siamese Network(孪生网络) :使用两个共享参数的网络来比较输入的相似性,从而实现分类。
    • Prototypical Networks(原型网络) :通过计算类别原型与样本之间的距离来进行分类。

元学习 · Meta Learning

通常,元学习主张跨任务学习,然后适应新任务。其目的是在任务级别上学习而不是在样本上学习,并且学习任务未知的系统而不是特定于任务的模型。

image

image

我们有一个拥有大量数据的训练集(training set),我们利用这个训练集来构造出和测试时类似的数据结构D_A\{X_A, P(X_A)\},也就是 sample set 和 query set 来模拟测试时的 support set 和 testing set。我们可以使用训练集来生成巨量的模拟任务,从而在 meta 层面上训练整个关系网络。随后,我们在运用数据集D_T(D_{train}, D_{test})来对网络进行调整,以期待让其实现小样本学习的任务,在少量数据集D_T上实现准确分类。元学习的目标就是通过学习大量的任务,从而学习到内在的元知识,从而能够快速的处理新的同类任务,这和小样本学习的目标设定是一样的。

此处的*A* 表示 Auxiliary,即辅助数据集; T 表示 Task,即任务数据集。

image


  1. 估计误差(Estimation Error)和近似误差(Approximation Error)

    在机器学习和统计学习理论中,估计误差(Estimation Error)近似误差(Approximation Error) 是两个重要的概念,它们帮助我们理解模型在训练和测试过程中的性能限制。理解这两个误差对于模型的选择、训练和优化具有重要意义。下面分别详细介绍这两个概念。

    1. 估计误差(Estimation Error)

    估计误差指的是由于使用有限的训练数据对模型参数进行估计而产生的误差。换句话说,模型在训练过程中从有限的数据样本中学习到的参数可能与实际的最佳参数存在差距,这种差距带来的误差就是估计误差。

    特点和原因

    • 有限样本:训练数据有限导致估计的不准确。如果有更多的样本数据,估计误差可能会减小。
    • 样本噪声:训练数据中可能包含噪声,这会导致模型参数估计的偏差。
    • 参数复杂性:如果模型的参数空间很大,有限的训练数据不足以准确估计所有参数,可能导致高估计误差。

    示例

    假设我们有一个线性回归模型,其真实参数为 \mathbf{w}^* 我们通过样本数据来估计这个参数得到 *\hat{\mathbf{w}}*​ 则估计误差可以表示为:
    \text{Estimation Error} = \mathbb{E}\left[\|\hat{\mathbf{w}} - \mathbf{w}^* \|\right]

    影响因素

    • 样本量:样本量越大,估计误差越小。
    • 模型复杂度:复杂模型(高维度参数)可能导致较大的估计误差。

    2. 近似误差(Approximation Error)

    近似误差指的是模型本身的表达能力限制导致的误差,也称为偏差(Bias) 。这是因为我们选择的模型不能完全捕捉数据的真实分布或规律所导致的误差。近似误差与我们所选择的模型的类型和复杂度有关,而与具体的训练数据无关。

    特点和原因

    • 模型限制:选定的模型类不能完美表示目标函数,导致逼近误差。
    • 模型假设:假设与真实数据分布不一致。例如,使用线性模型来拟合非线性数据会产生近似误差。

    示例

    假设我们试图用一个线性模型来拟合一个非线性关系的数据,实际的目标函数为 f(x) ,而模型只能表达为 g(x) ,则近似误差可以表示为:
    \text{Approximation Error} = \mathbb{E}\left[ \| g(x) - f(x) \|\right]

    影响因素

    • 模型选择:模型选择越接近数据的真实分布,近似误差越小。
    • 模型复杂度:简单模型(如线性模型)在复杂任务上可能会有较大的近似误差。

    3. 总误差(Total Error)

    在机器学习中,我们通常将总误差分解为估计误差和近似误差,这样可以更好地理解模型的表现。总误差由三部分组成:

    \text{Total Error} = \text{Bias}^2 + \text{Variance} + \text{Irreducible Error}

    • Bias(偏差):对应于近似误差。
    • Variance(方差):对应于估计误差。
    • Irreducible Error(不可约误差):由数据中的噪声等因素导致的误差,不可通过模型改进来减少。

    图示化理解

    • 近似误差:在目标函数与模型假设之间的差异。表示模型假设的能力不足。
    • 估计误差:在样本数据与实际数据之间的差异。表示由于有限样本导致的学习能力不足。

    通过理解这两个误差,模型开发者可以在选择和优化模型时,权衡模型复杂度与数据量之间的关系,从而提升模型的预测能力和泛化能力。

    参考文献

  2. embed & embedding

    在机器学习论文中,“embedding”和“embed”是常见术语,它们在中文翻译中有特定的上下文含义。通常,“embedding” 和 “embed” 被用来描述将高维数据转换为低维空间的一种技术,或者表示数据在低维空间中的表示。

    Embedding

    常见翻译:

    1. 嵌入
    2. 嵌入表示
    3. 嵌入向量
    4. 嵌入空间

    具体翻译建议:

    • 嵌入:这是最常见的翻译,适用于大多数场景。它可以表示一种技术、方法,也可以表示最终得到的结果。

      • 例子:word embedding → 词嵌入
    • 嵌入表示:强调的是一种表示方式,通常用于描述数据在低维空间中的表示形式。

      • 例子:The embedding of the word in vector space → 单词在向量空间的嵌入表示
    • 嵌入向量:强调嵌入后的数据具体是以向量形式表示的,常用于具体描述某种数据表示。

      • 例子:The word embedding vectors → 单词的嵌入向量
    • 嵌入空间:强调的是数据所在的低维空间,常用于描述嵌入后的数据分布。

      • 例子:The embedding space → 嵌入空间

    Embed

    常见翻译:

    1. 嵌入
    2. 嵌入到
    3. 嵌入表示

    具体翻译建议:

    • 嵌入:用作动词,表示将数据转换到低维空间或特定表示形式中。

      • 例子:We embed the data into a lower-dimensional space → 我们将数据嵌入到低维空间中
    • 嵌入到:强调目标空间或目标表示方式。

      • 例子:Embed the text into a vector space → 将文本嵌入到向量空间中
    • 嵌入表示:强调数据转换后的表示形式,通常用于描述转换后的结果。

      • 例子:We embed the word as a vector → 我们将单词嵌入表示为向量

    举例

    • Embedding

      • 例子 1:Word embedding is used to convert words into vectors.

        • 翻译:词嵌入用于将单词转换成向量。
      • 例子 2:The embedding of images in a lower-dimensional space allows for easier processing.

        • 翻译:图像在低维空间中的嵌入表示使得处理更加容易。
    • Embed

      • 例子 1:We embed the words into a high-dimensional space.

        • 翻译:我们将单词嵌入到高维空间中。
      • 例子 2:The method embeds the data into a compact representation.

        • 翻译:该方法将数据嵌入到一种紧凑的表示中。

    结论

    在机器学习论文中,“embedding”和“embed”的翻译应根据上下文选择合适的词汇。总体来说,“embedding”可以翻译为“嵌入”、“嵌入表示”、“嵌入向量”或“嵌入空间”;“embed”可以翻译为“嵌入”、“嵌入到”或“嵌入表示”。选择具体翻译时,需考虑技术术语的具体应用场景以及要传达的技术细节。

  3. ChatGPT 对原文的解释

    Other methods. Examples include Attentive Recurrent Comparators (ARC) [119], which uses a LSTM with attention [9] to compare different regions of Xtest with prototype cn, and then embeds the comparison results as an intermediate embedding. Additionally, it uses a bidirectional LSTM (biLSTM) to embed all comparisons as the final embedding. The RelationNet [126] uses a CNN to embed Xtest and xi to Z, then concatenates them as the embedding, which is fed to another CNN to output a similarity score. The graph neural network (GNN) is used in [84, 115] to leverage information from local neighborhoods. In few-shot reinforcement learning applications (as in continuous control and visual navigation), temporal information is important. The Simple Neural AttentIve Learner (SNAIL) [91] is an embedding network with interleaved temporal convolution layers and attention layers. The temporal convolution layer aggregates information from past time steps, while the attention layer selectively attends to specific time steps relevant to the current input.

    这段话介绍了一些用于少样本学习(Few-Shot Learning)的先进方法及其具体实现。每种方法都有独特的机制来处理少样本问题,从而提高模型的泛化能力和性能。以下是对这段话中提到的方法的详细解释:

    1. Attentive Recurrent Comparators (ARC)

    描述

    • 机制:使用带有注意力机制(attention)的长短期记忆网络(LSTM)来比较测试样本 ( x_{\text{test}} ) 和类别原型 ( c_n ) 的不同区域,然后将比较结果作为中间嵌入。
    • 进一步处理:随后使用双向 LSTM(biLSTM)来将所有的比较结果嵌入为最终的嵌入表示。

    应用

    • 这种方法通过比较不同区域的信息,能够更细粒度地捕捉样本之间的相似性。双向 LSTM 有助于从时间序列的前后两个方向提取信息,使得嵌入更加全面。

    2. Relation Net

    描述

    • 机制:使用卷积神经网络(CNN)来分别嵌入测试样本 ( x_{\text{test}} ) 和支持样本 ( x_i ) 到一个共同的嵌入空间 ( Z )。
    • 进一步处理:将这两个嵌入结果连接起来作为新的嵌入,然后通过另一个 CNN 计算相似度得分。

    应用

    • 这种方法通过卷积神经网络来捕捉样本的高级特征,并通过相似度得分来判断样本之间的相似性。这个方法非常适合处理图像等结构化数据。

    3. Graph Neural Networks (GNNs)

    描述

    • 机制:在[84, 115]的工作中,使用图神经网络来利用局部邻域的信息进行学习。
    • 特点:通过图结构,可以更好地捕捉样本之间的关系和依赖。

    应用

    • 图神经网络能够有效地建模样本之间的关系,比如在少样本学习中,可以利用图结构来建模不同样本之间的相似性和关联性,从而提高分类效果。

    4. Few-Shot Reinforcement Learning Applications

    描述

    • 机制:在少样本强化学习应用中,如连续控制和视觉导航,时间信息非常重要。
    • 重要性:在这种应用场景中,样本之间的时间相关性对学习任务至关重要。

    应用

    • 少样本强化学习需要利用历史信息进行决策,时间相关性可以帮助模型更好地理解和预测未来的状态和奖励。

    5. Simple Neural AttentIve Learner (SNAIL)

    描述

    • 机制:SNAIL 是一种嵌入网络,包含交替的时间卷积层(temporal convolution layers)和注意力层(attention layers)。
    • 时间卷积层:用于聚合来自过去时间步的信息,帮助模型学习时间序列中的模式和依赖关系。
    • 注意力层:选择性地关注与当前输入相关的特定时间步信息。

    应用

    • SNAIL 通过时间卷积和注意力机制,可以更好地捕捉时间序列数据中的关键信息,非常适合用于需要时间相关性的任务,如强化学习中的连续控制和导航任务。

    总结

    这段话介绍了几种用于少样本学习的方法,它们各自通过不同的机制和模型结构来提高对少量样本的学习能力:

    • ARC:通过注意力机制和双向 LSTM,比较样本之间的细节和整体信息。
    • Relation Net:利用 CNN 进行特征提取,并通过相似度得分进行分类。
    • GNN:通过图结构来捕捉样本之间的关系和依赖。
    • 少样本强化学习:强调时间信息的重要性,通过利用历史数据来进行学习和决策。
    • SNAIL:结合时间卷积和注意力机制,聚合时间序列中的信息来进行学习。

    这些方法展示了少样本学习领域中的多样性和复杂性,每种方法都有其特定的应用场景和优点。

  4. 对符号 p(·;·)和 p(·|·)的理解

    p(;)

    假定一个关于参数 \theta 、具有离散型概率分布 P 的随机变量 X,则在给定 X 的输出 x 时,参数 \theta 的==似然函数==可表示为

    L(\theta|x)=p_{\theta}(x)=P_{\theta}(X=x)
    • 其中,p(x) 表示 Xx 时的概率。

    上式常常写为

    P(X=x|\theta) 或 P(X=x;\theta)
    • 需要注意的是,此处并非条件概率,因为 \theta 并不(总)是随机变量。

    p(,)

    联合概率:联合概率指的是事件同时发生的概率,例如现在 A,B 两个事件同时发生的概率,记为P(A,B)P(A\cap B)P(AB)

    若事件 A 和事件 B 相互独立,则有:

    P(A,B)=P(A)P(B)

    似然性

    在统计学中,“似然性”和“概率”(或然性)有明确的区分:

    • 概率,用于在已知一些参数的情况下,预测接下来在观测上所得到的结果;
    • 似然性,则是用于在已知某些观测所得到的结果时,对有关事物之性质的参数进行估值,也就是说已观察到某事件后,对相关参数进行猜测。

    举例

    假设有一枚并不公平的硬币,正面(Head)朝上的概率为 p_H,注意:这枚硬币对观察者来说是未知的,我们并不知道 p_H 的真实值是什么。

    此时,我们很关心这枚硬币的 p_H,对观察者来说,最好的办法就是多次抛起这枚硬币,得到一系列观察事件,并想办法从这些事件中逆推出 p_H 的真实值。

    但值得注意的是,我们永远无法逆推出真实的 p_H,我们只能进行猜测,例如 p_H=0.5p_H=0.6 哪个可能性更大?

    现在我们开始抛硬币,三次投掷中两次为正面记为事件 A,由联合概率可知:

    P(A|p_H)=3\times p^2_H\times(1-p_H)

    猜测 p_H=0.5p_H=0.6,则有

    P(A|p_H=0.5)=0.375\\ P(A|p_H=0.6)=0.432

    上述公式计算出来的值意为:观察到的事件 A 中,p_H=0.5 的似然估计为 0.375,小于 p_H=0.6 时的 0.432,因此,在事件 A 中,我更倾向于认为 p_H=0.6 是更“合理”的。

    似然估计的绝对值是没有意义的,并不在 0-1 之间,往往比较他们的相对大小。

    由此引出似然性的概念:似然性代表给定事件中某个参数为特定值的可能性。最大似然估计则是从已观察到的事件中求取使得该事件似然函数最大的参数值。

    在贝叶斯统计中,这个可能性被称为后验概率 · Posterior Probalitity

    p(\theta|x)=\frac{p(x|\theta)\cdot p(\theta)}{p(x)}

    其中:

    • p(\theta | x)后验概率,表示在给定数据 x 后,参数 \theta 的概率分布。
    • p(x | \theta)似然函数,表示在给定参数 \theta 时,观察到数据 x 的概率。
    • p(\theta)先验概率,表示在观察到数据 x 之前,对参数 \theta 的先验知识或假设。
    • p(x)边际似然证据,表示在所有可能参数下观察到数据 x 的概率。它通常通过积分计算得到:
      p(x) = \int p(x | \theta) \cdot p(\theta) \, d\theta
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    83 引用 • 37 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...