Weak Supervision Baselines

This section provides comprehensive documentation for weak supervision baseline algorithms implemented in the framework. Each algorithm includes detailed pseudocode, implementation notes, and evaluation results.

Note

All algorithms follow the universal baseline comparison framework structure with standardized training, evaluation, and hyperparameter tuning capabilities.

Current Algorithms

LoL (Losses over Labels)

A weak supervision method that learns from noisy labels by modeling label noise through a losses-over-labels approach.

Key Features:

  • Label noise modeling

  • Gradient-based optimization

  • Multiple method variants (LoL, LoL_simple)

LoL (Losses over Labels)

LPWS (Label Propagation with Weak Supervision)

Graph-based label propagation enhanced with weak supervision signals for semi-supervised learning tasks.

Key Features:

  • Graph-based propagation

  • Weak labeler integration

  • Multiple propagation variants

lpws

Usage Examples

All algorithms can be executed using the standard command-line interface:

# Evaluate an algorithm
python bin/lol.py --data youtube --mode eval --output results/lol_youtube

# Hyperparameter tuning
python bin/lol.py --data youtube --mode tune --output results/lol_tune --n-trials 50

# Using custom configuration
python bin/lol.py --data youtube --config config/lol_custom.toml --mode eval

Algorithm Comparison

Table 2 Algorithm Comparison Overview

Algorithm

Type

Key Approach

Complexity

LoL

Noise Modeling

Losses over labels

\(O(nke)\) where n=samples, k=classes, e=epochs

LPWS

Graph Propagation

Label propagation + weak supervision

Misc.

Algorithm Documentation Structure

Each algorithm documentation follows a standardized academic structure:

  1. Overview/Introduction - Algorithm motivation and high-level description

  2. Pseudocode - Detailed algorithmic steps in standard format

  3. Implementation Details - Framework-specific implementation notes

  4. Evaluation Results - Performance metrics and experimental analysis

  5. Presentation Slides - Beamer presentation about this work

  6. References - Academic papers citation and link

Contributing New Algorithms

To add a new algorithm to the baseline collection:

  1. Create Algorithm Module in src/[algorithm_name]/

  2. Implement BaseTrainer Interface following the framework pattern

  3. Add Executable Script in bin/[algorithm_name].py

  4. Create Documentation using the template structure

  5. Update This Index to include the new algorithm