You were just hired by MetaMind. MetaMind is expanding rapidly, and you decide to use
your machine learning skills to assist them in their attempts to hire the best. To do so, you
have the following available to you for each candidate i in the pool of candidates Z: (i) Their
GPA, (ii) Whether they took Data Mining course and achieved an A, (iii) Whether they took
Algorithms course and achieved an A, (iv) Whether they have a job offer from Google, (v)
Whether they have a job offer from Facebook, (vi) The number of misspelled words on their
resume. You decide to represent each candidate i € I by a corresponding 6-dimensional
feature vector f(z)). You believe that if you just knew the right weight vector w R you
could reliably predict the quality of a candidate i by computing w- f(z). To determine w
your boss lets you sample pairs of candidates from the pool. For a pair of candidates (k, 1)
you can have them face off in a "DataMining-fight." The result is score (k > 1), which tells
you that candidate k is at least score (k> 1) better than candidate 1. Note that the score
will be negative when I is a better candidate than k. Assume you collected scores for a set
of pairs of candidates P.
Describe how you could use a perceptron based algorithm to learn the weight vector w. Make
sure to describe the basic intuition; how the weight updates will be done; and pseudo-code
for the entire algorithm.