假设我们有一个多分类问题,当每个训练样本 由一个上下文和目标组成,其中表示特征,是一个小的目标集合(可能包括多个类别),但是属于一个巨大的全集。例如,给定句子之前的单词,预测下一个单词(或可能的单词集合)即属于这类问题。

我们希望学习一个复杂的函数,能够通过特征来描述类别的复杂性。例如,给出特征后预测每个类别的可能性。

softmax、逻辑回归这类“全面”的训练方法需要为每一个类别计算。当非常大时,训练会非常的耗时。

“候选采样(Candidate Sampling)”这种训练方法构建了一个训练任务,对于每个样本, 我们只需要估计一个很小的候选类别集合。一种典型的思路是,候选集合由目标类和从中随机选择的其他类别 的并集组成

随机选择的可以依赖或者不依赖和(或).

训练算法采用神经网络的形式,表示的网络层采用后向传播算法来计算损失函数

Candidate Sampling算法合集

  • ,对于特定的的采样算法,给定特征,类别在采样类别集合中的概率(或者期望数量)。

  • ,是一个任意函数(arbitrary function),不依赖于候选集合。因为softmax引入了标准化,所以加上不会影响计算好的概率。

  • 在本例中,NCE和负采样中,是一个多标签集合,表示在中的期望数量,类似的,NCE、负采样和Sampled Logistic中的也是一个多标签集合,表示在中的期望数量表示在中的期望数量

Sampled Softmax

(一种训练速度更快的softmax分类器)

参考:http://arxiv.org/abs/1412.2007

假设我们有一个单标签问题,每一个训练样本表示了特征和单一的目标类别,我们将在给定特征下单一目标类为的概率定义为。

我们需要训练一个函数来生成softmax logit - 也就是说给定,该类别的相关对数似然概率:

其中,是不依赖于的任意函数

未完待续


original refer