Closed wxlwang closed 5 years ago
Hi @wxlwang - in Snorkel we assume that we are given unlabeled data points $x_i$, and a set of labeling functions (LFs) that take in these unlabeled data points and output a label, or abstain. The generative model takes in these LF labels and returns a single (probabilistic) training label, $y_i$. Then, the discriminative model is just any supervised classifier that we train on the (now labeled) data points (x_i, y_i).
In this particular picture, $x_i$ is assumed to be a vector (in this case with two dimensions- just a toy figure :) ). E.g. for an image model, x_i could be a vector version of the raw pixels, or for text, an indicator representation of the word sequence.
Hope this helps!
Thanks for your quick response. But how does this help to label the data? We only know the probability of label still.
Hi @wxlwang we use the probability as a "probabilistic" label, i.e. confidence weighted. If you want more detail, check out the blog posts and papers at snorkel.stanford.edu!
I am reading two papers of snorkel. But don't understand how this discriminative to improve the confidence of probabilistic label. Could you please shine some lights on it?
Maybe check out #1059 ? I think that might get at your question!
@ajratner you mentioned at #1059 "There are three main advantages that you might find from using the predicted labels of the generative model as training labels for another model". Does that mean probability label y1 is the output of discriminate model not the input?
Had hard time to understand the output of discriminative model. The discriminative model is the supervised learning. The input is the probability of label y1. What is output x1_1 and x1_2? Are h1_1, h1_2 and h1_3 hidden nodes? ()