3
$\begingroup$

I am having a hard time with the EM-algorithm. Here's the problem that I am trying to solve.

Dealing with noisy annotations is a common problem in computer vision, especially when using crowdsourcing tools, like Amazon’s Mechanical Turk. For this problem, you’ve collected photo aesthetic ratings for 150 images. Each image is labeled 5 times by a total of 25 annotators (each annotator provided 30 labels). Each label consists of a continuous score from 0 (unattractive) to 10 (attractive). The problem is that some users do not understand instructions or are trying to get paid without attending to the image. These “bad” annotators assign a label uniformly at random from 0 to 10. Other “good” annotators assign a label to the i-th image with mean µi and standard deviation σ (σ is the same for all images). Your goal is to solve for the most likely image scores and to figure out which annotators are trying to cheat you.

Derive the EM algorithm to solve for each $\mu_i$ , each $\mu_j$ , $\sigma$, and $\beta$. Show the major steps of the derivation and make it clear how to compute each variable in the update step.

https://courses.engr.illinois.edu/cs543/sp2012/hw/hw4_assignment.pdf (here's a link to the complete task, see p.2)

I know that mixtures of Gaussians are often used where you first initialize $k$ Gaussian distributions the parameters of which it is necessary to optimize.

With regard to this problem, I cannot understand how to work with the two distributions. Apparently, we have some prior knowledge that the behavior of bad annotators follows the uniform distribution. On the other hand, it seems that all books and articles I have seen so far consider mixtures of Gaussians.

I would appreciate any kind of guidance and advice with this problem.

$\endgroup$

2 Answers 2

3
$\begingroup$

Since this is a homework problem, I will provide hints and relevant resources to get you started.

For your problem you have the following variables,

$$ x_{ij} \in [0, 10] \: [ \text{available data, annotation for image (i) by annotator (j)} ] \\ m_j \in \{0, 1\} \: [\text{indicates good or bad annotator}] \\ p(x_{ij} \mid m_j=0) = \frac{1}{10} \: [\text{distribution for bad annotator data}] \\ p(x_{ij} \mid m_j=1) \sim \mathcal{N}(\mu_i, \sigma) \: [\text{distribution for good annotator data}] \\ \beta: [\text{prior probability for good annotator}] $$

Based on this information you can formulate the log-likelihood for your problem as follows,

$$ \text{ln}\:p(\textbf{X} \mid \mu , \sigma , \beta ) = \sum_{i=1}^{N}\:\text{ln}\:[\:p(x_{ij}\mid m_j=0) \times p(m_j=0) + p(x_{ij}\mid m_j=1) \times p(m_j=1)\:] \\ = \sum_{i=1}^{N}\:\text{ln}\: [ \frac{1}{10}\times(1-\beta)\: + \: \mathcal{N}(\mu_i, \sigma) \times \beta \:] $$

The EM algorithm is a maximum likelihood solution, which means you need to find expressions for $\mu_i, \sigma, \beta$ by taking the derivative of above equation and setting it to zero.

Pattern recognition and Machine learning [ pages 435 - 439 ] by Bishop gives very detailed steps on how to derive the relevant equations for the EM algorithm. Once you derive the equations you can use the chart on pages. 438-439 of the book to estimate the parameters.

Hope this helps!

$\endgroup$
4
  • $\begingroup$ thank you very much. Do I understand correctly, we do not really need the information about image ids? I will definitely read PRML carefully since it's very difficult to implement such algorithms without a proper understanding. $\endgroup$
    – Don Draper
    Commented Dec 10, 2019 at 20:04
  • $\begingroup$ The only information you need to solve this is $x$. Is it possible to share the data? $\endgroup$
    – kedarps
    Commented Dec 10, 2019 at 20:13
  • $\begingroup$ Sure. Here's the data: gofile.io/?c=TLgwSi $\endgroup$
    – Don Draper
    Commented Dec 10, 2019 at 20:16
  • $\begingroup$ I am able to open the link, but when I try to download I get "You are not authorized to download this file.". Alternatively you can try to use Google Drive or Dropbox. $\endgroup$
    – kedarps
    Commented Dec 11, 2019 at 14:20
1
$\begingroup$

You likely don't want to cluster, but rather test for uniformity.

There are many tests for that, such as KS tests.

But I doubt that "cheaters" will exhibit anything like uniform behavior. Humans are notoriously bad at this.

$\endgroup$
1
  • 1
    $\begingroup$ Unfortunately, this is a problem where we have to use the EM algorithm. Can you please give a few hints on how to apply it to a mixture OF Gaussian and Uniform? Is there any value in image ids? $\endgroup$
    – Don Draper
    Commented Dec 10, 2019 at 4:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.