Issue description
It is not clear from the documentation what strategy is used in snorkel.labeling.LabelModel().
The description in the docstring says it uses a A conditionally independent LabelModel to learn LF weights and assign training labels. I am guessing in this strategy the labeling functions are assumed to be independent when conditioned on the true label as described in the section named Independent Labeling functions in page 4 of the paper - Data Programming: Creating Large Training Sets, Quickly

However, this blog post -- Introducing the New Snorkel - says that in snorkel v0.9 a robust PCA / Low-rank + sparse based approach is used to automatically learn the dependency / relationship / correlation structure between the labeling functions as described in the paper -- Learning Dependency Structures for Weak Supervision Models. This approach to me is very promising than the aforementioned conditionally independent version. I want to use this for my use-case.
Can anyone confirm which of the above two strategies is implemented by snorkel.labeling.LabelModel()?
Issue description
It is not clear from the documentation what strategy is used in
snorkel.labeling.LabelModel().The description in the docstring says it uses a
A conditionally independent LabelModel to learn LF weights and assign training labels. I am guessing in this strategy the labeling functions are assumed to be independent when conditioned on the true label as described in the section namedIndependent Labeling functionsin page 4 of the paper - Data Programming: Creating Large Training Sets, QuicklyHowever, this blog post -- Introducing the New Snorkel - says that in
snorkel v0.9a robust PCA / Low-rank + sparse based approach is used to automatically learn the dependency / relationship / correlation structure between the labeling functions as described in the paper -- Learning Dependency Structures for Weak Supervision Models. This approach to me is very promising than the aforementioned conditionally independent version. I want to use this for my use-case.Can anyone confirm which of the above two strategies is implemented by
snorkel.labeling.LabelModel()?