转载

不同训练模型的比较

在上一篇文章结尾,我们提到了,与使用SGD(随机梯度下降)和冲量训练的模型相比,L-BFGS方法产生不同误差的解决方法。所以,有一个问题就是什么样的解决方法泛化能力最强,而且如果它们关注的方向不同,那么对于单个方法它们又是如何做到泛化能力不同的。

为了使分析更加容易,但至少保证符合实际,我们以“werewolf”为主题训练了一个线性SVM 分类器(W,bias)。换句话说,所有包含这一主题的电影都被标记为“+1”,而且我们随机的抽样“剩下的”电影,并将其标记为“-1”。至于特征,我们使用1500多个高频的关键字。所有随机种子都是固定的,这意味着这两个模型初始状态都一样。

不同训练模型的比较

在我们的第一个实验中,我们只关心最小误差。SGD方法(I)使用标准的冲量项并且在组合mini-batches时将L1的惩罚值设置为0.0005。同时,学习率和冲量项保持在一个固定的值。L-BFGS方法(II)则最小化相同的损失误差。在训练数据集上,两种方法的精度都能够达到100%,并且只要训练误差为零就终止训练。

(I) loss=1.64000 ||W||=3.56, bias=-0.60811 (SGD)(II) loss=0.04711 ||W||=3.75, bias=-0.58073 (L-BFGS)

如我们所见,最终权重向量的L2范数是相似的,偏置项也类似,当然,我们关心的不是绝对范数,而是两种解决方法的相关性。为此,我们将两个权重向量W单位化并且计算出余弦相似性:correlation= w_sgd.T * w_lbfgs = 0.977。

由于我们没有任何面向这种相关性的经验数据,所以我们在权值向量中分析特征的重要性。更确切的说是排名前5的最重要的特征:

(I) werewolf=0.6652, vampire=0.2394, creature=0.1886, forbidden-love=0.1392, teenagers=0.1372(II) werewolf=0.6698, vampire=0.2119, monster=0.1531, creature=0.1511, teenagers=0.1279

如果我们再来考虑两个模型的前12个特征,结果表明它们也非常相似:

(I) werewolf, vampire, creature, forbidden-love, teenagers, monster, pregnancy, undead, curse, supernatural, mansion, bloodsucker(II) werewolf, vampire, monster, creature, teenagers, curse, forbidden-love, supernatural, pregnancy, hunting, undead, beast

在这里我们可以看出一些模式:首先,数据集中的许多电影似乎融合了爱情故事的主题,这些主题可能涉及到青少年。这说得通,实际上这就是一个非常流行的模式;其次,在同一部电影中,吸血鬼和狼人很可能会同时出现。

抛开模型真正的优化方法,这些模式都被这两种模型学到了,但同时带有轻微的差异,这可以通过考虑W中单个权重重要性看出。然而,正如参数向量相关性证实的那样,两个解决方法是非常相近的。

总的来说,我们应该小心解释,因为手头的数据是有限的,然而结果证实只要有合适的初始化和超参数(hyper-parameters),使用一阶和二阶方法都能得到很好的答案。接下来,我们将研究模型对未知数据的泛化能力。

原文链接: Comparing Differently Trained Models (译者/刘帝伟 审校/赵屹华、朱正贵、李子健 责编/周建丁)

译者简介 : 刘帝伟,中南大学软件学院在读研究生,关注机器学习、数据挖掘及生物信息领域。

正文到此结束
Loading...