2011年2月4日,星期五

有序值和机械特克

是时候使用Mechanical Turk获得更多乐趣了。今天,我有兴趣通过照片和一些相关信息来估算人们的年龄。由于这最终与广告相关,因此我并不关心它们的确切年龄,而是将它们放在几个年龄段中,例如15、15至19岁以下,等等。我可以考虑将这些存储桶分为一组隐藏标签并使用在 以前的帖子 估计隐藏的标签。但是,这忽略了标签的结构:标签的自然整体排序很自然,这很可能与工作人员所犯错误的类型有关。用统计学的话来说 测量水平,标签不仅是名义上的,而且是顺序上的。

建模工人为实例分配特定标签的可能性的自然起点是 多模型Rasch模型,\ [
\ begin {aligned}
P (L_{ij} = l > 0 | \beta_j, \tau_i) &= \frac{\exp (\sum_{k=1}^l (\beta_j - \tau_{ik}))}{1 + \sum_{x=1}^{|K|} \exp (\sum_{k=1}^x (\beta_j - \tau_{ik}))}, \\
P(L_ {ij} = l = 0 | \ beta_j,\ tau_i)&= \ frac {1} {1 + \ sum_ {x = 1} ^ {| K |} \ exp(\ sum_ {k = 1} ^ x(\ beta_j-\ tau_ {ik}))}。
\ end {aligned}
\]这里,$ \ beta_j $是与图像关联的标量潜在值,而$ \ tau_i $是与每个工作程序关联的潜在值的向量。当$ \ beta_j = \ tau_ {ik} $等于$ k $时,工人同样有可能分配标签$(k-1)$和$ k $(除了也有可能分配其他标签)。尽管该模型没有强制单调增加$ \ tau_ {ik} $,但如果不对阈值进行排序,这是工作人员不一致的迹象。例如,这可以用于识别对抗性工作人员并拒绝其工作。

Polytomous Rasch would be a great choice when the latent space is fundamentally unobservable. For instance, if I were asking Mechanical Turk to rate people's 在 tractiveness, I wouldn't care much about the magnitudes of the latent variables $\beta_j$, only their relative order, deciles, etc. After all there is no objective sense in which someone is actually ``a 7''. However in my case there is an actual true age associated with the subject of each photo and using polytomous Rasch directly would leave me with the problem of relating the scalar latent value $\beta_j$ to the true age bucket $Z_j$ (which so far does not appear 在里面 likelihood term 在 all). To circumvent this problem I'll force the relationship between the two, $\beta_j = \alpha_j Z_j$, where $\alpha_j > 0$ is a per-image scaling parameter. I'll scale the $\tau$ by the same $\alpha_j$ to ease the prior specification, in which case $\alpha_j$ is essentially an image difficulty parameter. Now my label likelihood is given by \[
\ begin {aligned}
P (L_{ij} = l > 0 | Z_j, \alpha_j, \tau_i) &= \frac{\exp \left( \sum_{k=1}^l \alpha_j (Z_j - \tau_{ik}) \right)}{1 + \sum_{x=1}^{|K|} \exp \left( \sum_{k=1}^x \alpha_j (Z_j - \tau_{ik}) \right)}, \\
P(L_ {ij} = l = 0 | Z_j,\ alpha_j,\ tau_i)&= \ frac {1} {1 + \ sum_ {x = 1} ^ {| K |} \ exp \ left(\ sum_ { k = 1} ^ x \ alpha_j(Z_j-\ tau_ {ik})\ right)}。
\ end {aligned}
\]现在我可以重用相同的策略 标称提取物,在E步骤中优化$ Z_j $并
M步骤中的其他参数。我还将介绍一个高于$ \ tau $和$ \ alpha $的hyperprior,其原因类似于名义情况。完整的模型如下所示:\ [
\ begin {aligned}
\ gamma_k&\ sim N(k-\ frac {1} {2},1),\\
\ tau_ {ik}&\ sim N(\ gamma_k,1),\\
\ kappa&\ sim N(1,1),\\
\ log \ alpha_j&\ sim N(\ kappa,1),\\
P(L_ {ij} = l | Z_j,\ alpha_j,\ tau_i)&\ propto \ exp \ left(\ sum_ {k = 1} ^ l \ alpha_j(Z_j-\ tau_ {ik})\ right)。
\ end {aligned}
\]上一学期的$ 1/2 $是因为阈值是标签发出概率在$(k-1)$和$ k $之间相等的位置。

比较我用来提取名义标签的模型中的参数数量与该模型中的序列标签的参数数量是很有趣的。如果有$ | I | $个评估者,$ | J | $个图像和$ | K | $个标签,则名义模型具有$ O(| I | | K ^ 2 | + | J |)$个参数,而顺序模型具有$ O(| I | | K | + | J |)$参数。参数的减少是基于这样的假设,即答案的总排序对评估者很重要,并且会影响他们可能犯的错误。

我还没有解决一个剩下的问题,我对此感到不满意。在任何数据集中,总会有垃圾,因此我想给Mechanical Turkers一个“我不知道”的选项。当将标签发射建模为标称时,这只是另一个答案,但是当将标签建模为标称时,这是一个问题,因为该答案无法与其他答案进行比较。我怀疑有一种方法可以扩展上述模型,以便在标签空间中添加一个不参与订购的附加标签,但是目前,我只是丢弃工人选择“我不知道”的所有等级。如果每个工作人员都说“我不知道”,那么我将最终获得该图像标签的先验分布,并且如果某些工作人员说“我不知道”,那将导致标签的后验分布成为因此,我认为这是合理的,但是当我尝试使用标签来训练分类器时,我会看到。

我将上述模型实现为 有序标签提取 在里面 nincompoop 项目。

没意见:

发表评论