LabelPropagation - How to avoid division by zero?
ML System Design practice on Codemia
Design recommenders, ranking systems and training pipelines the way ML interviews actually ask for them, with worked solutions.
Label propagation is a semi-supervised machine learning algorithm highly suitable for classification tasks where a small amount of labeled data is available alongside a much larger set of unlabeled data. By leveraging the graph-based representation of the data, label propagation facilitates the spread of labels from the labeled instances to the unlabeled ones. However, like many iterative algorithms, label propagation may encounter numerical pitfalls, such as division by zero. This document delves into the mechanics of label propagation and outlines strategies to mitigate these issues.
Understanding Label Propagation
Core Concept
Label propagation constructs a graph where nodes represent data instances and edges represent similarities between nodes. Initially, only a few nodes have labels. The algorithm propagates these labels through the graph in the following manner:
- Graph Construction: A Gaussian kernel or any weight function is used to construct a similarity graph.
- Label Initialization: Known labels are assigned to their corresponding nodes, while unknown labels might start as a zero vector.
- Propagation Process: Labels are iteratively updated based on their neighbors until convergence or for a fixed number of iterations.
- Inference: After the iterations, each node is assigned the label with the highest score.
Mathematically, this is often expressed in matrix form:
Where: • represents the label scores. • is the weight matrix derived from similarities. • is a parameter controlling the propagation extent versus retention of initial labels. • contains the initial label information.
Numerical Challenges
Division by Zero
The division by zero can notably occur during the normalization of similarities when calculating the weight matrix . If two instances are entirely dissimilar, the sum of similarities might be zero, leading to division by zero during weight calculations.
Example:
Consider two points and such that their similarity is given by:
If all similarities concerning a particular node are zero, during normalization, you encounter:
If , division by zero occurs.
Strategies to Avoid Division by Zero
- Additive Smoothing: Introduce a small constant to the denominator. • Implementation: • Advantage: Ensures stability by making the denominator non-zero.
- Thresholding: Limit the influence of nodes with negligible similarities. • Implementation: Ignore connections with similarities below a certain threshold before normalization.
- Graph Sparsification: Ensure a minimum number of edges per node by sparsing the graph. • Implementation: • Use -nearest neighbors instead of full connections. • Advantage: Guarantees at least influential nodes, reducing the chances of zero connections.
- Regularization: Incorporate regularization terms to stabilize computations. • Implementation: Modify the weight update equation to include regularization: • Advantage: Regularizes small similarities, making computations robust.
Key Points Summary
| Aspect | Strategy | Benefits |
| Weight Normalization | Additive Smoothing | Prevents zero denominator |
| Graph Construction | Thresholding | Reduces irrelevant connections |
| Graph Structure | -nearest neighbors | Ensures minimum connections |
| Regularization | Regularization Term | Stabilizes small values |
Conclusion
Label propagation is a powerful technique for semi-supervised learning, utilizing a small labeled dataset effectively within a large set of unlabeled instances. Addressing numerical stability, particularly division by zero, is critical for the robustness and accuracy of the algorithm. By employing strategies like additive smoothing, thresholding, and regularization, one can significantly enhance the model's performance and ensure efficient label propagation across a graph. Understanding these intricacies assists practitioners in deploying the label propagation algorithm effectively, even in challenging scenarios.
Related reading
- Large Scale Image Classifier
- Large scale machine learning - Python or Java?
- Large scale Machine Learning
- Lasso on sklearn does not converge
- Laderman''s 3x3 matrix multiplication with only 23 multiplications, is it worth it?
- Lamport’s (Physical) Clock Synchronization Algorithm
- Large data, workflows using pandas
- Large Object Heap Fragmentation

DSA Fundamentals
Master algorithmic patterns and data structures through hands-on LeetCode-style problems - from arrays and hashing to dynamic programming and advanced graphs.
View the courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
ML System Design practice on Codemia
Design recommenders, ranking systems and training pipelines the way ML interviews actually ask for them, with worked solutions.