Home Knowledge Base Co-Training

Co-Training is a semi-supervised learning algorithm that trains two models on two different "views" (independent feature sets) of the same data, with each model teaching the other by labeling its most confident predictions — exploiting the principle that when two sufficient and independent views agree on an unlabeled example, that prediction is highly reliable, enabling learning from very small labeled datasets by leveraging the structure of multi-view data.

What Is Co-Training?

The Classic Example: Web Page Classification

ViewFeaturesRationale
View 1 (Content)Text on the web page itselfDescribes the page's own content
View 2 (Links)Anchor text of hyperlinks pointing TO the pageDescribes how others perceive the page

These views are naturally independent — what a page says about itself vs. what other pages say about it.

Co-Training Algorithm

StepActionResult
1. InitializeTrain Model A on View 1 (labeled data), Model B on View 2 (labeled data)Two weak classifiers
2. PredictEach model predicts labels for all unlabeled examplesConfidence scores for each example
3. SelectEach model picks its top-k most confident predictionsHigh-confidence pseudo-labels
4. TeachAdd Model A's confident examples to Model B's training set (and vice versa)Expanded training sets
5. RetrainRetrain both models on their expanded training setsImproved classifiers
6. RepeatIterate steps 2-5 until convergence or budget exhaustedProgressively better models

Why Two Models Beat One

ScenarioSingle Model (Self-Training)Co-Training (Two Views)
Error propagationModel reinforces its own mistakesIndependent views catch each other's errors
DiversityOne perspective on the dataTwo complementary perspectives
Confirmation biasHigh risk — same model generates and learns from pseudo-labelsLower risk — different feature spaces reduce correlated errors
RequirementAny featuresNeeds two sufficient, independent views

Co-Training vs Other Semi-Supervised Methods

MethodApproachKey AdvantageLimitation
Co-TrainingTwo models on two views teach each otherExploits multi-view structure, reduces confirmation biasRequires naturally independent feature views
Self-TrainingOne model labels its own dataSimplest approach, no view requirementHigh confirmation bias risk
Pseudo-LabelingHard labels from confident predictionsFramework-agnosticSame bias as self-training
MixMatchConsistency regularization + pseudo-labelsState-of-the-art accuracyComplex implementation
Label PropagationGraph-based label spreadingWorks with any similarity metricExpensive for large datasets

Real-World Applications

DomainView 1View 2
Web classificationPage text contentInbound link anchor text
Email spamEmail body textEmail header metadata
Named entity recognitionLocal word contextBroader document context
Image + textImage featuresCaption text
Medical imagingMRI scanPatient clinical notes

Co-Training is the foundational multi-view semi-supervised learning algorithm — leveraging the agreement between two independent feature views to generate reliable pseudo-labels with lower confirmation bias than single-model self-training, enabling effective learning from tiny labeled datasets when data naturally admits two sufficient and independent views.

co-trainingsemi-supervised learning

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.