Skip to main content
Distributed Machine Learning

Proto-VFL Under Class Imbalance and Cross-View Training

Published: 2026-09-11
Level: postgraduate
Audience: Postgraduate students in Distributed Machine Learning

Prerequisite Knowledge

This lecture builds on the following concepts from earlier lectures. If any feel unfamiliar, review the linked notes before proceeding.

Previously Covered in This Subject

  • Vertical partitioning by features — covered in Lecture 1
  • Non-IID data and when vertical partitioning appears — covered in Lecture 1
  • Privacy: data stays, models travel — covered in Lecture 3
  • Non-IID data across parties — covered in Lecture 3
  • Federated averaging — covered in Lecture 5
  • Federated learning and parameter aggregation — covered in Lecture 5

13.1 Class Imbalance in Vertical Federated Learning

13.1.1 Aligned Samples and Unaligned Samples

What happens when two organizations describe the same customers but share only a handful of them, while each serves hundreds of customers the other never sees?

A party is one client that holds one vertical slice of the data, meaning one fixed set of features for whatever rows it owns. A class is one category label such as cat, dog, bird, elephant or parrot. An aligned sample is one record whose ID appears in more than one party, so the same real-world entity is seen from two or more feature views. An unaligned sample is one record that lives in only one party and has no matching ID elsewhere.

Only aligned samples carry labels at the central side. Unaligned samples have no label at the central side. That split shapes the whole design. Local clients see both aligned and unaligned rows during local training. The active party later receives representations only for aligned rows, because only those rows let it compute a supervised loss.

Think of two doctors examining the same small group of shared patients while each also sees hundreds of private patients alone. The shared patients are the aligned samples: both doctors can compare notes on them. The private patients are the unaligned samples: each doctor learns from them alone, and nobody can grade a joint diagnosis on them. The analogy breaks at one point: in a clinic both doctors could simply phone each other, while in federated learning raw rows must never leave their home party, so only numerical vectors travel.

A private set intersection step finds the aligned IDs without revealing the unaligned ones, so each party learns which rows overlap while keeping the rest of its customer list secret. The aligned slice is usually small: a bank and a shop may share a few hundred common customers yet each serve tens of thousands the other never sees. That size gap is exactly why the method must squeeze learning signal out of unaligned rows locally instead of ignoring them.

Vertical splits of this kind appear when one organization holds image pixels and another holds text tags for the same users, or when a bank and a shop share a few common customers but each also serves many customers the other never sees. Fraud detection across banks, joint medical scoring across hospitals that hold lab results versus imaging for overlapping patients, and retail credit scoring that fuses purchase history with repayment history all run on this aligned-plus-unaligned pattern.

13.1.2 Intra-Party Imbalance and Combined Imbalance

Intra-party class imbalance means the classes are uneven inside one party. One party may hold 10 cat rows, zero parrot rows and 3 elephant rows, giving local shares of about 0.77 cat, 0.00 parrot and 0.23 elephant. A second party may hold a different skew, for example mostly dogs with almost no cats. Within the aligned slice the skew can be sharp as well. One illustration used 2 rows of one class inside the aligned set against hundreds of rows of another class, a ratio worse than 1 to 100.

When aligned and unaligned rows are pooled, the totals can look like 360 rows of one class, 175 rows of a second class and 0 rows of a third class. The board walk-through paired smaller counts side by side, such as 4 against 51, 2.65 against 1.75, 10 against 14, and a running sum of 2.10 plus 1.63 giving 3.73, to show how one or two dominant classes tower over the rest. Those small pairs were quick chalkboard illustrations of lopsided ratios rather than the canonical dataset totals; the numbers to carry forward are the pooled totals of 360, 175 and 0. The point stays the same across every pair. A model trained on such counts sees the big classes again and again and meets the small classes rarely or never.

Take one party whose store holds 360 cats, 175 dogs and 0 parrots. The pooled total is 360 plus 175 plus 0, which is 535 rows. The shares are 360 divided by 535, about 0.67 cat, 175 divided by 535, about 0.33 dog, and 0.00 parrot. Cat is the majority class, dog is the minority class, and parrot is the unseen class in this party. A training batch of 10 rows drawn at random holds about 7 cats, about 3 dogs and no parrot at all, so the parrot filters receive zero gradient from this batch. Sense-check: the three shares add to 1.00, and the majority outnumbers the minority by more than 2 to 1, which matches the claim that big classes drown small ones.

A majority class is a class with many rows. A minority class is a class with few rows. An unseen class is a class with zero rows in a given party or slice, such as the parrot class with 0 rows above. Training must still return the right label when a minority or unseen case arrives at test time. That is the demand. Big classes must not swallow small ones.

Picture a bar chart with one bar per class and row counts on the vertical axis. The cat bar towers at 360, the dog bar reaches about half that height at 175, and the parrot slot is flat on the axis at 0. The landmark is the missing bar: a class the model must predict at test time without ever meeting it in this party. The takeaway is that the chart alone tells you where learning will fail unless the method borrows strength from elsewhere.

Scope: this section describes the data condition, not the fix. The counts above assume rows are drawn from a fixed class mix that does not shift between training and testing. If the test mix shifts, for example parrots suddenly become common at test time, pooled totals from training understate the damage. Assumption: IDs used for alignment are matched correctly, so an aligned pair truly shows the same entity from two views; mismatched IDs would corrupt both the counts and every later merge.

Do not confuse an unaligned sample with an unlabeled sample in the ordinary sense. An unaligned row lacks a matching ID elsewhere and hence lacks a central label, but it is still real training evidence for the local extractor. A second trap is reading the 0 count as meaning the class does not exist: zero rows in one party or slice never means zero rows in the federation, and the later prior-smoothing step exists precisely to rescue such classes.

Several students stumbled on the small board pairs versus the big pooled totals, so keep them apart: the small pairs were ratio illustrations walked through live, while 360, 175 and 0 are the pooled totals to use in numerical answers.

Exam note: expect a numerical question that gives per-party counts and asks for pooled totals, majority identification and the effect on learning. Practice adding aligned and unaligned counts and naming which class dominates.

The imbalance condition is now on the table with numbers attached. The next subsection traces the mechanism by which these lopsided counts bend what the network learns, at local scale first and then at global scale.

13.1.3 Why Imbalance Breaks Learning

Take a party with 50 percent cats, 30 percent dogs and 20 percent birds. A feature extractor trained on that mix meets cats most often. It tunes its filters for cat texture and shape. Dogs get less tuning. Birds get very little. At prediction time the model favours the classes it met most. Rare inputs get pulled toward the nearest big cluster and labelled wrong.

The same pull acts at global scale. Suppose the pooled data holds 360 of class A and only a handful of class B. Gradients from class A dominate each step because each averaged gradient is a vote weighted by headcount: roughly 360 votes for A against a handful for B. The decision surface shifts to please class A. Class B rows near the border fall on the wrong side. When a class has zero pooled rows, the model has no direct signal at all and must rely on structure shared from other classes plus smoothing from global statistics, which is covered in later sections.

Work through the gradient arithmetic once with tiny numbers. Say one cat row votes gradient 2.0 toward the cat side and one bird row votes gradient 2.0 toward the bird side, and a batch holds 5 cats and 1 bird. The cat pull totals about 10.0 against a bird pull of about 2.0, so the step moves roughly five times further toward cats. That is the whole mechanism in one line: headcount weights the vote, and the boundary slides toward whoever brings fewer voters.

Imbalance breaks learning through two coupled channels. The representation channel starves minority filters of updates, so fine detail that would separate rare classes is never learned. The decision channel shifts the boundary toward the majority because majority gradients outvote minority gradients at every step. Both channels point the same way, which is why the damage compounds instead of cancelling.

A 50-30-20 party teaches its extractor mostly cats, partly dogs and barely birds, and a 360-to-handful federation teaches its boundary mostly class A. Headcount weights every gradient vote, so rare rows near any border lose. Global smoothing and two-way transport costs in later sections exist to counter exactly these two channels.

Fraud scoring shows the cost of ignoring this: millions of ordinary transactions bury a handful of fraud cases, and a model trained on raw counts learns to wave everything through. Keeping a slot open for the rare class is the design goal of everything that follows.

13.2 Classifier Bias and Extractor Bias

13.2.1 Classifier Bias Toward Local Majorities

Why does a model that scores 95 percent on its own training data suddenly label every rare input with the same familiar answer?

A classifier is the head that maps a feature vector to class scores, meaning one number per class where the largest number wins the prediction. A classifier bias here means the head leans toward locally common classes: its winning scores go to the labels it met most often. Because each party trains mostly on its own majority, its head learns high scores for those labels. In plain words, the head becomes a home-team fan that cheers for the local majority on every close call.

The failure shows on unaligned and unlabeled rows. Feed an unlabeled row from a rare class into a head shaped by a local majority and the head returns the majority label with high confidence. Those wrong pseudo-labels then feed back into training and lock in the error, because the next round treats the wrong guess as fresh truth. Class 1 against class 4 was used as a running case. Each party had its own pair of dominant labels, for example classes 2 and 3 dominating one side while classes 1 and 4 dominated the other, with classes 2 and 3 nearly absent on that side. Each local head therefore trusted its own pair and distrusted the rest.

Classifier bias is a head problem, not a detail problem. The extractor may produce a fair vector, yet the head still reads it as the majority label because its score weights were tuned on majority rows. The signature is overconfidence on rare inputs: the head returns the majority label with high confidence instead of admitting doubt. Once those confident wrong labels re-enter training as pseudo-labels, the error compounds round after round.

Concretely, imagine a head that saw 200 rows of class 1 and 5 rows of class 4. Its class-1 score weight grows large while its class-4 weight stays near its starting value. A new class-4 row then scores, say, 3.1 for class 1 against 1.2 for class 4, and loses even though its features point to class 4. That is the whole failure in numbers: score weights follow headcount, and headcount decides close calls.

Scope: classifier bias as defined here assumes each party trains its head largely on local labels or local pseudo-labels. Where heads are trained only on pooled aligned labels at the active party, the bias is weaker but returns in milder form through the merged vectors, which still carry the majority imprint of their home extractors.

This head-level lean is only half the story. Even with a fair head, a biased extractor would feed it vectors in which rare detail was already erased, which is the next subsection.

13.2.2 Extractor Bias and the Overlap Picture

A feature extractor is the network body that turns raw input into a numerical vector, meaning the stack of layers before the final scoring head. An extractor bias means that body learns discriminative detail mostly for majority classes: its filters resolve majority texture finely and blur everything else. Within each party feature space, locally frequent features fill the space and drown out the fine detail that would separate minority classes.

A four-class picture made this concrete. Dots in four colours stood for classes 1 through 4. In one party the blue dots were many. Blue filled a wide region. A few dots of other colours sat inside or near the blue region. The trained extractor treated those neighbours as blue as well because it had learned blue texture so well and the other textures so weakly. In the mirror party a different colour dominated and the same swallowing happened there. Green was used as a case with almost no presence in one view, so nothing was learned for green there at all.

The dark lens-shaped overlap in the middle was the border zone. A few minority rows crossed into it from each side. Because major classes owned both sides, those crossing rows were read as members of the neighbouring majority rather than as their own class. The shape is not a third cluster. It is the zone where minority rows get split between the two neighbouring majorities and lose their identity.

Read the plot like a map. Each axis is one learned feature direction with no units, each dot is one row, and colour marks the true class. The landmark is the wide blue territory with a few foreign-coloured dots trapped inside it, plus the dark lens at the centre where trapped dots from both sides pile up. The takeaway is geometric: majority territory expands with headcount, and minority rows caught inside it are misread no matter what the head does.

Think of it like a loud pair of voices in a small room. Two people speak most of the time, so a listener learns their voices well. When a quiet third person speaks briefly near one of the loud speakers, the listener hears the loud voice and misses the quiet one. The fix is not to turn up the volume. It is to train the ear to keep a slot open for quiet voices even when loud voices dominate the room. The mapping is direct: speaking time is row count, the trained ear is the extractor, and the kept-open slot is the protected prototype plus prior mass that later sections build.

Do not read the lens as a new class or as noise to delete. It holds genuine minority rows whose detail the extractor never learned, so deleting it would erase exactly the evidence the fix needs. A second trap is blaming the head: retraining only the classifier on top of a biased extractor leaves the swallowed detail missing, and the error persists.

The listener analogy also marks where it breaks: a human listener can ask the quiet speaker to repeat the sentence, while the extractor cannot request more minority rows. It must instead reserve capacity for them using priors and transport costs, which is what the next sections construct.

13.2.3 Student Questions and Answers

Q: Both class 1 and class 4 look like majority classes in that view, so why does the extractor bias favour one and hurt the other instead of treating both fairly? A: Counts alone do not decide the geometry. Blue rows are many and spread wide, so the extractor learns blue detail everywhere, including near the border. Rows of the other colours that sit close to blue ground get read as blue because their own detail was never learned well. The same happens on the other side with the other dominant colour. Two large classes can each swallow their own neighbours, so each majority hurts the minority rows nearest to it. In short, territory plus learned detail decides the call, not headcount alone.

The head learns whom to cheer for while the extractor learns whose faces to resolve sharply. Both biases point at the majority, which is why rare rows lose twice: their detail is blurred before scoring, and the scoring itself favours the familiar answer.

Q: What is the black lens-shaped overlap in the middle of the plot? A: It is the border zone where a few minority rows cross between the two dominant regions. A few rows lean to one side and a few lean to the other side, but all belong to the same small class. Because each side is owned by a major class, the crossing rows are split and assigned to the neighbouring majorities. The lens marks misassigned minority mass, not a separate class, so the correct response is to rescue those rows with protected centres rather than to model the lens as its own cluster.

Classifier bias lives in the scoring head and shows as overconfident majority votes; extractor bias lives in the network body and shows as swallowed minority detail near majority territory. Both are driven by local headcount, both compound through pseudo-labels, and both motivate the prototype, transport-cost and prior-smoothing machinery built in the following sections.

Biased heads and biased extractors that each trust their own dominant pair cannot be fixed by averaging their votes. The federation needs shared centres and smoothed frequencies that keep every class represented, which is where the next section starts.

13.3 Parties, Priors, Prototypes and Model Pieces

13.3.1 Local Prior and Global Prior

How can a party that has never seen a parrot still keep a fair slot open for one?

A local prior is how common each class is inside one party, meaning the share of that party rows belonging to each class. Write it as , where names the party and names the class. The spoken form in the room was "50 percent of the rows in this party are cats", which becomes . A full local example is with and . Each party has its own triple and the triples differ across parties. Every local triple sums to 1: 0.50 plus 0.30 plus 0.20 equals 1.00.

A global prior is how common each class is across all parties pooled together. Write it as for the current round, and with an explicit round index as where counts communication rounds and the superscript simply tags which round the estimate belongs to. The spoken form was "across all parties, 40 percent are cats", which becomes . A full global example is with and . The global triple is the average of the local triples. It shifts from round to round as local estimates improve.

Priors here are plain frequency shares, not learned weights. For party with counts per class and total , the local prior is . With parties the global prior is the mean of the local triples, , recomputed each round . Concretely, if party 1 reports cat 0.50 and party 2 reports cat 0.30, the global cat share for that round is 0.50 plus 0.30 divided by 2, which is 0.40.

Why keep both? The local triple tells what this party actually sees. The global triple tells what the federation as a whole sees. When a party has very few rows of a class, its local number is noisy. The global number steadies it. That steadying is the core fix and returns in the prior-update section. Think of a bag of marbles split by colour where the shares must total 1: each party holds its own small bag with its own colour mix, and the global bag pools all parties so that a colour missing from one small bag still shows its true overall share.

Scope: priors describe the training rows actually present, so a zero local prior means zero local evidence, not proof the class is absent from the world. Assumption: parties estimate their triples from the same fixed class set ; if one party silently drops a class from its vocabulary, its triple sums to 1 over the wrong set and the global average inherits the error.

A local prior reports this party mix, a global prior reports the federation mix at round , and the global triple is the mean of the local triples. Thin local evidence borrows steadiness from the global number, which is the mechanism the smoothing update exploits.

Frequencies alone cannot classify anything. They need geometric anchors to act on, which are the prototypes introduced next.

13.3.2 Prototypes, Features and Refined Features

A prototype is one centroid vector that stands in for a whole class inside one party, meaning the average address of that class in the party feature space. Write it as , where is the party and is the class. The spoken form was "the ideal feature vector for cats in party m", which becomes . A prototype is the mean of the feature vectors of that class in that party. With three cat rows giving vectors , and , the prototype is their average. One illustration averaged first entries to 0.8 and second entries to minus 0.2, giving a centroid near . There is one such centroid per class per party: a cat centroid, a dog centroid, a bird centroid and so on. Same-class features should cluster near their prototype and stay away from other prototypes.

Work the slide illustration end to end with the smoothed demo numbers. The three cat vectors are , and . Add the first entries: 0.9 plus 0.7 plus 0.8 equals 2.4, and 2.4 divided by 3 equals 0.8. Add the second entries: minus 0.1 plus minus 0.3 plus minus 0.2 equals minus 0.6, and minus 0.6 divided by 3 equals minus 0.2. The centroid is therefore . The slide values were rounded for display, so treat the decimals as demo-smoothed rather than exact sensor readings. Sense-check: the mean sits inside the triangle spanned by the three inputs, exactly where the ideal cat address should be.

A feature vector is the numerical output of a party extractor for one row, meaning a list of numbers that places the row in the party learned space. Write an unaligned feature as , where is the party and indexes the row. The spoken form was "pass the nth unaligned row through party m extractor and get a vector". An aligned feature is the same idea for an aligned row, written here as where indexes the aligned row. These vectors travel upward. Unaligned vectors stay local and shape local training. Aligned vectors are sent up for merging because only they have central labels.

A refined feature is an aligned vector mapped into a shared space. Write it as , where is the adapter for party . The spoken form was "run the received vector through the adapter to bring it onto a common scale". Parties may use different vector sizes, so raw vectors cannot be added directly: a 128-wide vector and a 256-wide vector have no entry-wise sum. The adapter maps each view onto one shared scale where addition is valid, just as converting all prices to the same currency must precede adding them.

The three vector kinds form a pipeline. Raw extractor outputs and live in party-private spaces with party-private widths. Prototypes are per-class averages of those private vectors and define where each class should sit. Refined vectors are the aligned subset translated into the one shared space where views can be fused. Mixing up the stages, for example averaging raw vectors from two parties without adapters, adds numbers that live on different scales.

Other symbols met in the room: for the number of parties, for the number of classes with values like cat and dog, for the communication round, for a sampled batch of rows, for extractor weights of party , for adapter weights, for gating-network weights, for final classifier weights, for the merge weight of party , for a learning rate, and for a per-party mixing number between local and global information. Keep this list handy: every later update is written in exactly these symbols with no silent renames.

Do not confuse a prototype with a raw row or with a classifier weight. A prototype is an average of feature vectors and moves when the extractor moves; it is not a training input and not a scoring weight. A second trap is averaging vectors across parties before refinement: same-class vectors from different parties live in different spaces, so cross-party means are meaningless until adapters map them onto the shared scale.

Prototypes give every class a reserved address, priors give every class a reserved share, and adapters give every party a common language. The remaining pieces decide how much to trust each translated view.

13.3.3 Adapter, Gating Network, Weights and Classifier

An adapter is a small trainable map that cleans and rescales party vectors into the shared space. A gating network is a trainable map that reads the refined vectors and outputs merge weights. A merge weight says how much of party view to keep for one aligned row. A classifier is the final trainable head on the active side that maps the merged vector to class scores.

The active-side machinery splits into three jobs with three parameter groups. The adapter translates: it takes a party-private vector and returns a shared-scale vector . The gating network judges: it reads the refined views for one row and returns one weight per party, with the weights summing to 1 across parties. The classifier decides: it maps the single fused vector to one score per class. Translation, judging and deciding are learned jointly against the same global loss, so each improves as the others improve.

Adapters of this kind appear whenever views have mismatched widths, for example one party with a 128-wide embedding and another with a 256-wide embedding that must be fused into one 128-wide shared vector before scoring. Recommender systems fuse text and image towers the same way, and multi-hospital models fuse lab panels of different lengths through per-site adapters before joint scoring.

Translation through , trust through and , decision through : three jobs, three parameter groups, one shared scale. With priors, prototypes and model pieces all named, the lecture can now state the two transport costs that hold clusters tight around every centre.

All the nouns are defined and all the symbols are fixed. The next section turns them into the two loss functions that do the heavy lifting against imbalance.

13.4 Two-Way Transport Costs Between Features and Prototypes

13.4.1 Mathematical Formulation

What if every feature had to stay near its class centre, and every class centre had to keep features near itself, at the same time?

A transport cost here is a loss that measures movement between features and prototypes, meaning the price of dragging one toward the other. There are two directions. The spoken forms were "full features to prototypes" and "prototypes to features", reconstructed below as and .

The cost asks how far each feature vector sits from its assigned prototype. The spoken form was "measure how far each feature vector is from its assigned class prototype, weight by how likely it belongs there, then average over all features and prototypes". One faithful reconstruction is:

where is a distance such as squared Euclidean distance, is the soft assignment weight saying how likely feature belongs to class , is the sampled batch, and is the number of classes. Terms: ranges over feature vectors in the batch, is the prototype for class in party , is large when the match is close and small when it is far, and the mean runs over all features and prototypes including other classes such as dogs with vectors and their own centroid. The lecture described this cost at a high level and named paper equations 4, 7 and 11 as the places where the prior enters the soft assignment so that rare classes receive a boosted weight; the display above keeps the professor spoken structure with standard summation notation made explicit.

The soft assignment is where the prior does its quiet work. In standard prototype clustering the weight falls off with distance alone, so rare centres lose every contest. Here the assignment is biased by the prior , which lifts the weight of rare classes before distances are compared. A bird vector near the cat-bird border can therefore still attach to the bird prototype when the prior vouches for birds, instead of being swallowed by the nearer big centre.

The cost asks the mirror question, namely how far each prototype sits from the features of its class. The spoken form was "measure how far each prototype is from the features in its class, weight each prototype by its prior probability, then average over the batch". One faithful reconstruction is:

where is the local prior for class in party and holds the batch features currently claimed for class . Terms: is the prototype, ranges over nearby features claimed for class , and scales the term so the sum stays a proper prior-weighted average rather than letting common classes dominate silently. The averaging set follows the spoken description; texts often write the same idea as an expectation over the class-conditional batch.

Both costs are local to the party. Both are minimized during local steps with local learning rates. The pair works like two mirrors facing each other. One pulls features toward their ideal centre so each class forms a tight cluster. The other pulls each ideal centre toward its features so no prototype is left without nearby rows. Together they keep rare centres alive. Without the second direction a rare prototype could sit empty while all mass collapsed onto big centres, and the global model would never learn that class.

Paper equations 4, 7 and 11 were named as the places where these priors bias the soft assignment toward rare classes.

Exam note: be ready to name which equation carries the prior into the assignment and to state in words what each of the two costs penalizes: the cost penalizes scattered features far from their centre, and the cost penalizes lonely centres with no features nearby.

The two directions are easy to confuse under exam pressure, so fix the picture before the numbers: features-to-centres tightens clouds, centres-to-features guards empty slots, and the prior is the guard funding.

13.4.2 Worked Mini Example

Take party with classes cat, dog and bird. Local priors are , and . Three cat rows give vectors , and . The cat prototype is the entry-wise mean:

Measure the pull on with squared Euclidean distance. Subtract entry-wise: 0.9 minus 0.8 equals 0.1, and minus 0.1 minus minus 0.2 equals 0.1. Square and add: 0.01 plus 0.01 equals 0.02. Repeat for : 0.7 minus 0.8 equals minus 0.1 and minus 0.3 minus minus 0.2 equals minus 0.1, giving 0.01 plus 0.01 equals 0.02. For the distance is 0.00 since it equals the mean. If the belonging weights are about 0.9, 0.9 and 1.0, the weighted sum is 0.018 plus 0.018 plus 0.00, which is 0.036, and dividing by 3 gives about 0.012. A far row would get a large distance but a small belonging weight , so it would pull less. Averaging over plus the dog rows and their own centroid gives the batch cost. Driving it down drags each vector toward its own centre. Sense-check: a tight cloud gives a cost near zero, exactly as computed, while a scattered cloud would give a large positive cost.

Now look from the centre outward. The term for the bird prototype multiplies the mean distance from the bird centre to nearby bird vectors by . Even though 0.20 is small, the term stays in the sum and forces the bird centre to keep neighbours close. That is how a 20 percent class keeps its slot against a 50 percent class. Concretely, if the mean bird distance is 0.05, its contribution is 0.20 times 0.05, which is 0.01: small but nonzero, so the optimizer cannot delete the bird centre for free.

Picture tightness as darts around a bullseye with spread measured by variance: small spread means darts pierce the board near the centre, big spread means darts scatter across the wall. Each transport direction attacks one kind of scatter, and the pair leaves every bullseye, large or small, with darts grouped near it.

13.4.3 Why Two Directions Matter

One direction alone clusters the rows that already exist but lets empty centres drift. The other direction alone plants centres near rows but lets rows sprawl. Small spread means tight clusters. Big spread means loose clouds that cross borders. The pair gives tight clusters around every centre that carries prior mass, including small-mass centres. That is the behaviour the later global steps rely on.

Running only the direction collapses rare rows onto big centres because nothing defends empty prototypes. Running only the direction lets features sprawl because nothing pulls strays home. Either shortcut reintroduces exactly the swallowing shown in the four-colour plot, so both directions must stay active in every local round.

Q: Do we need to memorize the order of the two losses, or is the high-level idea enough? A: Keep the high-level picture first. Each client updates its local class frequencies and then pays two costs, one that moves features to centres and one that moves centres to features. The exact equation numbers matter less than the effect. Features must sit near their centre, and every centre with prior mass must have features near it.

Two mirrors, two guarantees: features sit near their centre, and every funded centre holds features near it. That double guarantee is what lets a 20 percent class survive next to a 50 percent class through round after round of local training.

Tight clusters around defended centres are only useful if training actually enforces them batch after batch. The next section runs that loop and shows what gets sent upward once it finishes.

13.5 Client-Side Training and Aligned Re-Encoding

13.5.1 Batch Sampling and Extractor Update

What does one local training round actually do, step by step, inside a single party?

Training runs as nested loops. The outer loop counts communication rounds . Inside, parties run in parallel. Each party draws a sample batch from its own store of cats, dogs and birds. It feeds the batch through its own network, which has the familiar split of a convolutional body as feature extractor, a flatten stage and a classifier head. The flatten stage simply unrolls the final feature map into one long vector that the head can score; nothing is learned there, but every exam answer that lists the body parts should name it.

The extractor weights move by a local gradient step scaled by a local rate . In words the spoken update was "local gradient times learning rate applied to the extractor weights", reconstructed as:

where the local loss is the sum of the two transport costs for that party, , both computed on batch . Terms: holds party extractor weights, is the local step size, and is the gradient of the local two-way cost on batch . The lecture did not dictate extra weighting constants between the two terms, so they enter with equal weight; any reweighting would be a named hyperparameter, not a silent default.

One local round is a fixed five-beat routine. First refresh the local prior triple from current features. Second pay the two transport costs on the drawn batch. Third step the extractor weights down the summed gradient. Fourth repeat the batch steps for the scheduled number of local epochs. Fifth freeze the extractor and re-encode the aligned rows for upload. Missing any beat breaks the chain: stale priors misweight the assignment, skipped transport lets clusters sprawl, and re-encoding with a stale extractor uploads vectors the merger did not bargain for.

The imbalance trap bites here. A batch from a 50-30-20 party holds mostly cats, some dogs and one bird at most: in a batch of 10, expect about 5 cats, about 3 dogs and about 2 birds, and smaller batches often hold zero birds. Step after step the extractor sees cats and dogs and tunes for them. Bird detail stays weak. That is why the two transport costs from the prior section are active during these steps. They tax sprawl and tax empty centres, so even a bird-poor batch must keep bird rows near the bird centre.

Run one gradient step with toy numbers. Suppose the summed transport gradient on batch is and the local rate is . The step subtracts rate times gradient: 0.1 times 0.4 equals 0.04 on the first weight, and 0.1 times minus 0.2 equals minus 0.02 on the second. A weight starting at [1.00, 0.50] moves to [0.96, 0.52]. The move is small, as it should be for one batch, and repeated moves accumulate across batches. Sense-check: the first weight falls because its gradient was positive, the second rises because its gradient was negative, matching descent against the gradient direction.

Scope: local steps see both aligned and unaligned rows, but only the aligned subset will ever be scored centrally, so local quality on unaligned rows transfers upward only through the shared extractor weights. Assumption: parties run comparable numbers of local steps per round; a party that trains ten times longer per round would dominate the merger through sheer update volume rather than evidence quality.

Follow the causal chain into the next step: a freshly stepped extractor produces fresher aligned vectors, fresher vectors earn better merges, and better merges return better prototypes that guide the next local round.

13.5.2 Re-Encoding Aligned Samples

After the local steps, each party re-encodes only its aligned rows. Training used both aligned and unaligned rows. Re-encoding uses aligned rows alone. Each aligned row goes back through the freshly tuned extractor and comes out as an aligned feature . Those vectors, plus the party priors, are sent upward. The priors travel because the active side needs each party frequency triple to form the global average and to interpret the incoming vectors.

The logic is simple. Unaligned rows helped shape the extractor. Only aligned rows have central labels, so only they can teach the central merger and head. Sending anything else would add unsupervised mass where a supervised loss is needed. Re-encoding matters rather than reusing stale vectors: the extractor changed during local steps, so vectors computed before the steps would describe an extractor that no longer exists.

Exam note: expect a step-order question. The order is local prior refresh, two transport costs, batch draw, extractor step, aligned re-encode, send aligned vectors plus priors upward.

Local work ends with fresh aligned vectors and fresh priors on the wire. The next section opens them at the active party and fuses the views into one scored vector.

13.6 Active-Party Aggregation and Global Update

13.6.1 Refinement and Aggregation Weights

Three parties each describe the same customer in mutually unreadable dialects. How does the centre hear one clear voice?

The active party is the side that holds labels for aligned rows and learns the merger plus final head. It receives aligned vectors and priors from every party. It first refines each received vector through that party adapter as . The spoken form was "clean the received vectors and map them into a common space", which is exactly what does through steps such as noise removal and rescaling. The gating network reads these refined vectors and returns the merge weights; the lecture phrased the gating input both ways in passing, and the reconciled reading is that refined vectors feed , since raw vectors live on incompatible scales and cannot enter one shared judge.

Next it merges views for each aligned row. With refined vectors from three parties and learned scalars , the merged vector is:

Terms: is the refined view from party for aligned row , is the importance of that view with , and is the single fused vector for row . The weights come from the gating network and are learned, not fixed. A view shaped by 50 same-class rows earns more trust than a view shaped by 5 same-class rows for the same aligned input, because its extractor output is more representative.

Fuse one aligned cat row with concrete numbers. Suppose the refined views are , and , and the learned weights are , and . Scale each view: 0.6 times is , 0.1 times is , and 0.3 times is . Add entry-wise: 0.48 plus 0.06 plus 0.21 equals 0.75, and minus 0.12 plus 0.00 plus minus 0.03 equals minus 0.15. The merged vector is , which sits nearest the well-evidenced party-1 view, as it should. Sense-check: the weights sum to 1.00, so the merge is a true weighted average that stays inside the span of its inputs.

Small counts win or lose here in concrete form. Say party 1 trained its cat path on 50 cats and party 2 trained its cat path on 5 cats. The same aligned cat row fed to both gives two outputs. The first output rests on broad evidence. The second rests on thin evidence. The learned weights should put more mass on the first, so ends above for that row. That is learned per merge, not set by hand: training discovers which view predicts the label better and shifts weight there through the global loss gradient.

Scope: merge weights are per-row judgments, not per-party reputations. Party 1 can earn high weight on cat rows and low weight on bird rows in the same round if its evidence is deep for cats and thin for birds. Assumption: refined vectors genuinely share one scale; if an adapter is undertrained, its view enters the average on the wrong scale and its weight becomes meaningless until the adapter catches up.

Weights that track evidence rather than headcount alone are the global counterpart of the local prior fix: both steer influence toward whoever actually learned the class.

13.6.2 Student Questions and Answers

Q: What decides the merge weights? Are they set by hand from sample counts? A: They are learned by the gating network during global steps. Sample counts explain the outcome but do not set the numbers directly. A party whose extractor saw 50 rows of the aligned row class gives a more representative vector than a party that saw 5 rows of that class, so training pushes its weight up. The weights track evidence strength as revealed by the global loss. Think of counts as the reason and the learned weight as the verdict: related, but the verdict comes from prediction error, not from a hand formula.

The gating network is the judge, the adapters are the translators, and the classifier is the decider. Each role has its own parameters because translation quality, trust and scoring are three different skills that improve on three different error signals.

Q: What do the combiner and the classifier each learn on the active side? A: The combiner side learns how to clean each incoming view through and how much to trust each view through . The classifier side learns , the final map from the merged vector to class scores. All three parameter groups move to lower the global loss on labelled aligned rows. In one line: the combiner learns representation and trust, the classifier learns the decision on top.

13.6.3 Global Loss and Combiner-Classifier Update

Because the active side holds the true label for each aligned row, it can score the merged vector and pay a supervised global loss. The lecture stated the step in words without dictating the loss formula, and the reconciled reading is the standard cross-entropy on the merged vectors: sample a batch of aligned rows, build each by the weighted sum above, score it through , compare against the known label and step , and jointly down the gradient. In symbols the update for each parameter group is:

where is the global step size and is the supervised loss over the aligned batch. In words, sample a batch of aligned rows, build each by the weighted sum above, compare against the known label, and move , and to reduce the error.

The global round closes the loop between representation and decision. Better adapters give cleaner refined vectors, cleaner vectors let the gate judge trust correctly, correct trust gives the classifier a sharper merged vector, and the resulting error gradient teaches all three groups at once. This is joint training rather than staged plumbing: no group is frozen while the others learn.

Updated prototypes and priors then flow back down for the next round, which the next section covers. Representations, weights and heads therefore chase each other round after round. Local bodies improve, merges improve, heads improve, and the improved heads and prototypes guide the next local round.

Refine each view through , weight views through learned from , fuse into , score through , and step all three groups against the aligned labels. Evidence earns weight through prediction error, never by hand-count formula.

Fusion converts many private views into one scored vector, but it cannot rescue a party whose local frequency estimate has already collapsed to zero. That rescue is the job of the smoothing update that flows back down before the next round.

13.7 Local Prior Update with Global Smoothing

13.7.1 Local Prior Update Rule

What stops a party that saw almost no birds from concluding that birds barely exist?

Step four of the routine is the heart of the fix. Each party refreshes its local class frequencies by mixing its own counts with the global average. Write the next-round local prior for party and class as . The spoken form was "new local prior blends the global prior from the active side with local evidence, with a per-party mixing number deciding the blend". One faithful reconstruction is:

where is the fresh local estimate from party features at round and is the global prior averaged over local priors. The lecture mentioned an averaging constant in passing without fixing its placement; the reconciled reading uses a plain convex combination with one per-party mixing number in and no extra constant, since any additional constant would break the sum-to-1 property shown below. Terms: in is the mixing number for party , is the pooled frequency of class , and is what party alone would report. A related averaging step forms the global triple as the mean of local triples:

Smooth one thin class with real numbers. Party reports a fresh bird estimate from almost no bird rows, while the global bird share is . With mixing , the update gives 0.5 times 0.20 plus 0.5 times 0.02, which is 0.10 plus 0.01, giving 0.11. The naive 0.02 would have nearly erased birds from this party losses; the smoothed 0.11 keeps more than five times the gradient mass on birds. At the extremes, keeps pure local evidence and copies the globe. Sense-check: a convex mix of two shares is itself a share, so the smoothed triple still sums to 1 across classes.

When a party holds very few rows of a class, its is noisy and too small. The model would then ignore that class. Pulling in lifts the estimate and keeps gradient mass on the rare class. The per-party sets how much outside help to take. Thin local evidence calls for more global help. Rich local evidence calls for less. In practice a party with deep local counts uses a small near 0.1, while a party nearly blind to a class uses a large near 0.7.

All probabilities reappear inside the later losses and assignments, so this smoothing propagates. Softmax-style assignments that use these priors tilt back toward rare classes instead of collapsing onto big ones. The smoothed prior enters the soft assignment weight , scales the term, and seeds the next round local triple, so one blending step protects the class in three places at once.

Scope: smoothing borrows frequency information, not rows. It keeps gradient mass alive for rare classes but cannot invent detail the extractor never saw; the transport costs must still do the geometric work of holding the prototype near real features. Assumption: the global average is itself trustworthy, which holds when at least some parties see each class. If a class is unseen everywhere, smoothing merely shares the same zero around, and outside data or a new party is the only cure.

13.7.2 Worked Analogy and Smoothing Effect

A housing-price analogy carried the idea. Take one neighbourhood with very few recent sales. A buyer offers a very low price based only on those few sales. The seller knows the city-wide average across neighbourhoods is much higher. Blending the thin local number with the broad city average lifts the asking price toward a fair level, say from a naive 1 unit offer toward 10 units when the wider area supports it, or from 5 toward 15 when nearby zones trade near 20. Those currency numbers were board illustrations of the blending motion, not market data, so read them as directions rather than quotes. The blend neither ignores the street nor copies the city blindly. The mixing number plays the role of trust in outside data.

Map the story back. The street is party . The city is the federation. The price is . The outside average is . A rare class with tiny local mass gets lifted by the pooled mass, so its prototype, its transport term and its assignment weight all stay alive for the next round.

Think of it like a small class that keeps a seat at the table even when it brings little food. The global average vouches for it until it can bring more rows of its own. The analogy breaks at one honest point: dinner guests who bring no food still eat, while a class with truly zero rows everywhere still has nothing to learn from. Smoothing protects the thinly seen, not the universally absent.

Blend thin local evidence with the pooled average through : small where local counts run deep, large where they run thin. The smoothed prior then guards the class inside the assignment, inside the transport term and inside the next round estimate.

Smoothing rescues rare classes that own at least a few rows somewhere. The final method of the lecture handles the harder case where labels themselves are scarce and views disagree, by letting three experts vote and keeping only their confident agreements.

13.8 Semi-Supervised Cross-View Training

13.8.1 Three Experts and the Agreement Rule

When labels are too costly to collect and each party sees only its own slice, who gets to label the rows nobody labelled?

The closing topic starts a second method for the case where labels are scarce and views are split. Three heads train on three different data slices. One head sees only view A rows, for example only dog rows with labels. One head sees only view B rows. One head sees rows from both views, for example cats and dogs together. Each becomes an expert in what it saw. The A-only expert knows A patterns. The B-only expert knows B patterns. The joint expert knows shared patterns. This tri-head design is the PET-CVT cross-view training scheme named in the exam guidance: two single-view experts plus one joint expert that bridges them.

A new row with missing features or a missing label goes to all three heads. Each head returns a class plus a confidence number. A pseudo-label is kept only when all three heads agree on the class and each confidence clears a threshold. Otherwise the row is dropped from supervised use. The spoken threshold was 0.70, reconstructed as:

where are the three confidences for the agreed class. The lecture stated one shared cut-off of 0.70 rather than per-class cut-offs; per-class threshold tuning continues in the following session. Terms: is the agreed pseudo-label, is head confidence in , and is the cut-off. All three must clear the bar: a single sceptic vetoes the label.

Run the agreement rule on a true cat row. The cat-view head reports about 0.90 for cat. The joint head reports about 0.80 for cat. The dog-view head, which never saw cats, spreads its scores and puts only about 0.10 on its dog guess, meaning about 0.90 against its own favourite and no confident claim anywhere. The three confidences in the agreed class cat are therefore about 0.90, 0.80 and below 0.70 for the narrow expert, so the minimum sits below and the row is dropped this round. If later training lifts the weakest head above 0.70 with all three agreeing on cat, the same row is kept with pseudo-label cat. Sense-check: unanimity plus a minimum bar is deliberately strict, so kept labels are few but trustworthy.

A worked pass used a true cat row. The cat-only head reported about 0.90 for cat. The joint head reported about 0.80 for cat. The dog-only head, which had never seen cats, still guessed dog but with weak confidence near 0.10 for dog, which is about 0.90 against dog. Only the agreed class whose every head clears 0.70 survives. That rule is why the method is called cross-view. No single view decides alone. The label must look right from every view.

Agreement filtering trades quantity for trust. A single head would label many rows but repeat its own blind spots as confident pseudo-labels, reliving the classifier-bias failure. Three heads with a unanimity-plus-threshold rule label fewer rows per round, but each kept label survived three independent examinations. The kept set then trains stronger extractors, stronger extractors resolve more rows next round, and the labelled set grows safely instead of collapsing into self-confirming error.

Scope: agreement needs genuinely different views to mean anything. Three heads trained on near-identical slices agree on every row without testing anything, so the filter adds nothing; the power comes from A-only, B-only and joint slices that fail in different places. Assumption: confidence numbers are at least roughly calibrated, so 0.70 means real certainty rather than habitual overconfidence. An overconfident narrow expert that always reports 0.99 would sail through the bar while knowing nothing.

13.8.2 Student Questions and Answers

Q: How can a head that only saw dogs score a cat row at all? A: It still returns scores over the classes it knows, but the numbers expose the gap. It may put most mass on dog out of habit while reporting weak confidence, near 0.10 for its own favourite. The agreement rule then drops or overrules that view because it fails the joint threshold. Weak confidence from a narrow expert is the signal that its view is missing the needed evidence. A classifier forced to answer outside its training still answers; the threshold is what stops its shrug from counting as a vote.

Dropped rows are not deleted rows. They wait in the pool while the extractors improve, and each later round re-examines them with sharper eyes.

Q: What happens to rows where the three heads disagree or sit below the cut-off? A: They are dropped from the pseudo-labelled set for that round. Only confident agreements are kept for training. The rest wait for a later round when stronger extractors and better merges may resolve them. Patience here is a feature: training on disagreements would bake in exactly the errors the filter was built to exclude.

13.8.3 Labels for Aligned and Non-Aligned Rows

Labels exist for aligned rows. Non-aligned rows split by side. On one side the label may be present while the matching view on the other side is missing, and vice versa. The routine trains one head per available slice, collects three outputs per unlabelled row, applies per-class thresholds, and keeps the agreed subset as fresh pseudo-labels. The next round then trains on aligned labels plus these kept pseudo-labels. Full detail on threshold choice per class continues in the following session, followed by exam-style numerical problems.

The data flow per round is fixed. Start from aligned true labels plus previously kept pseudo-labels. Train the three heads on their slices. Score every unlabelled row with all three heads. Keep the unanimous above-threshold subset as new pseudo-labels. Retrain extractors and merger on the grown labelled set. Repeat. Each cycle converts a little confident agreement into a little more labelled evidence, compounding safely because every addition passed three judges.

Agreement filtering of this kind is used when labelling is costly, for example keeping only machine-labelled images on which colour, texture and caption models all agree before spending reviewer time. Medical triage pipelines keep only scans on which two view-specific models plus one joint model concur before a specialist reviews, and content-moderation queues escalate everything else to humans.

Exam note: three-head agreement keeps confident pseudo-labels above threshold: unanimity on the class plus every confidence at or above 0.70 keeps the label, anything else waits. Practice filtering a small table of triple-confidence rows by hand before the problem session.

Cross-view agreement closes the lecture loop: prototypes and priors defend rare classes inside the federation, while three voting experts grow the labelled set where no labels existed. Both tools serve the same goal of learning from lopsided vertical views without moving raw data.

Exam Guidance Summary

Study from the post-mid part of the course, starting at FedAvg through the vertical methods. Central items are communication-efficient vertical learning with limited overlap, Proto-VFL and PET-CVT with cross-view training. FedAvg is the horizontal averaging baseline the vertical methods depart from: where FedAvg averages model weights across same-feature clients, Proto-VFL fuses different-feature views of shared IDs through prototypes, adapters and gating.

Exam note: most marks come from these algorithms, with roughly three to four questions drawn from them in a mix of theory and numerical problems. Theory questions ask for definitions, loss meanings and step order, while numerical problems ask for count pooling, prior averaging, prototype means, weight intuition and threshold filtering. Regular and makeup papers follow the same pattern and the same question styles.

Carry one worked number for each mechanism into the hall: a pooled share, a centroid mean, a fused vector, a smoothed prior and one threshold decision. Those five numbers cover every numerical style named above.

Exam note: walk through the two transport costs in words, the merge sum with learned weights, the prior blend with per-party mixing, and the three-head agreement rule with the 0.70 cut-off. Practice each with small numbers before the problem session: pool a count table and name the majority, average two prototype vectors by hand, fuse two refined vectors with weights that sum to 1, smooth one thin prior with the convex blend, and filter one triple-confidence row against the threshold.

Key Industry Applications

Vertical fusion of bank and retail views of shared customers keeps each side raw data local while scoring the shared IDs jointly, the canonical cross-silo deployment described for vertical federated learning. Adapter maps reconcile mismatched embedding widths before fusion wherever two systems describe the same entity with different vector sizes. Gating weights trust the view with deeper same-class evidence, such as 50 rows over 5 rows, so the better-observed view dominates each merge without any hand-set rule.

Prior smoothing protects rare fraud, fault or disease classes from being erased by dominant normal classes: the pooled frequency vouches for the rare class until local evidence accumulates. Confident-agreement pseudo-labelling grows a labelled set when human labels are scarce, keeping only rows on which every view agrees above threshold and leaving the rest for a later round or a human reviewer.

Together these five patterns form one deployable story: fuse views without moving raw data, translate them onto one scale, trust the best-evidenced view per row, keep rare classes funded through smoothed priors, and grow labels only through confident cross-view agreement.

DML Lecture 13 notes · Proto-VFL Under Class Imbalance and Cross-View Training

Distributed Machine Learning· postgraduate· 2026-09-11

Sections Breakdown

1Class Imbalance in Vertical Federated Learning

Aligned vs unaligned samples, intra-party and pooled class imbalance with worked count totals, and why headcount-weighted gradients break learning for minority classes.

2Classifier Bias and Extractor Bias

Classifier bias in scoring heads vs extractor bias in feature bodies, illustrated by the four-class swallowing plot with deduplicated student Q&A.

3Parties, Priors, Prototypes and Model Pieces

Local and global priors, prototypes as class centroid means with worked averaging, feature vs refined vectors, and adapter, gating, weight and classifier roles.

4Two-Way Transport Costs Between Features and Prototypes

Two-way transport costs between features and prototypes with reconciled formulas, fully worked distance example, and why both directions are needed to protect rare classes.

5Client-Side Training and Aligned Re-Encoding

Client-side nested-loop training with the extractor gradient step on the summed two-way loss, worked numeric step, and aligned-only re-encoding for upload.

6Active-Party Aggregation and Global Update

Active-party refinement through adapters, learned per-row merge weights with worked fusion numbers, deduplicated Q&A on gating, and the joint global update.

7Local Prior Update with Global Smoothing

Local prior smoothing as a convex blend with the global average, worked numeric rescue of a thin class, and the housing-price analogy mapped back to model terms.

8Semi-Supervised Cross-View Training

PET-CVT three-expert cross-view training with the unanimity-plus-threshold rule, worked cat-row filtering example, deduplicated Q&A, and the round-by-round label growth loop.

9Exam Guidance Summary

Exam scope from FedAvg through vertical methods with question styles and five-number revision checklist.

10Key Industry Applications

Five industry deployment patterns from vertical fusion to agreement-based labelling.

Postgraduate students in Distributed Machine Learning

Exam Revision Notes

Below is the distilled, exam-ready core. Every entry comes from the full explanation above. Use this section for rapid review; return to the main notes when a point needs more context.

Class Imbalance in Vertical Federated Learning

Must-know: Aligned samples share IDs across parties and carry central labels; unaligned samples live in one party only; pooled skew such as 360 vs 175 vs 0 lets majority gradients dominate

⚠️ Top pitfall: Confusing illustrative board count pairs with the canonical pooled totals of 360, 175 and 0

Self-check: Given per-party counts, how do you compute pooled totals and name the majority class?

Connects to: 13.2, 13.3

Classifier Bias and Extractor Bias

Must-know: Classifier bias leans the scoring head to local majorities with overconfident pseudo-labels; extractor bias blurs minority detail near majority territory

⚠️ Top pitfall: Reading the dark lens overlap as a third cluster instead of misassigned minority mass

Self-check: What is the dark lens-shaped overlap in the four-class plot?

Connects to: 13.1, 13.4

Parties, Priors, Prototypes and Model Pieces

Must-know: Local prior p_m(z) reports this party mix, global prior p^{g,T}(z) the federation mix; prototypes are per-class centroid means; adapters map private vectors to the shared space

⚠️ Top pitfall: Averaging raw cross-party vectors before adapters, or confusing a prototype with a classifier weight

Self-check: Compute the centroid of [0.9,-0.1], [0.7,-0.3], [0.8,-0.2].

Connects to: 13.4, 13.6

Two-Way Transport Costs Between Features and Prototypes

Must-know: Two transport costs: f-to-mu tightens features around centres, mu-to-f keeps every funded centre populated; priors bias soft assignments toward rare classes

⚠️ Top pitfall: Running only one transport direction, which reintroduces swallowing of rare centres

Self-check: State in words what each of the two transport costs penalizes.

Connects to: 13.3, 13.5

Client-Side Training and Aligned Re-Encoding

Must-know: Local round order: prior refresh, two transport costs, batch draw, extractor step, aligned re-encode, upload aligned vectors plus priors

⚠️ Top pitfall: Reusing stale pre-step vectors instead of re-encoding aligned rows with the freshly tuned extractor

Self-check: List the local step order from prior refresh to upload.

Connects to: 13.4, 13.6

Active-Party Aggregation and Global Update

Must-know: Active party refines views via R_m, fuses them with learned gating weights into m_a, scores via C, and steps R, G, C jointly on the aligned supervised loss

⚠️ Top pitfall: Treating merge weights as fixed hand-set counts instead of learned per-row judgments from prediction error

Self-check: Fuse [0.8,-0.2], [0.6,0.0], [0.7,-0.1] with weights 0.6, 0.1, 0.3.

Connects to: 13.5, 13.7

Local Prior Update with Global Smoothing

Must-know: Next-round local prior is a convex blend of global and fresh local estimates via gamma_m; thin evidence takes more global help

⚠️ Top pitfall: Expecting smoothing to rescue a class unseen everywhere; it shares evidence but cannot invent detail

Self-check: Smooth local 0.02 with global 0.20 at gamma 0.5.

Connects to: 13.4, 13.6

Semi-Supervised Cross-View Training

Must-know: PET-CVT trains A-only, B-only and joint experts and keeps a pseudo-label only on unanimous agreement with every confidence at or above 0.70

⚠️ Top pitfall: Counting a narrow expert shrug as a vote; only unanimous above-threshold agreement becomes a pseudo-label

Self-check: Three confidences 0.90, 0.80, 0.60 with agreement: keep or drop?

Connects to: 13.2, 13.6

Was this lecture useful?

Loading comments…
🤖

BitsNotes AI Assistant

Subject Notes Assistant

Configure AI Chat

Choose how to access the chatbot
Have your own API key?

Switch to "Bring Your Own Key" tab above for unlimited access with any OpenAI-compatible provider.

🔑 Enter API key above to fetch live models from provider, or enter model name manually.
OpenAI-Compatible API Support

Choose any provider preset (Gemini, DeepSeek, Kimi, GLM, MiniMax, Qwen, OpenAI, Groq, Ollama, etc.) or enter a custom endpoint URL.

Security & Privacy First

Your API key is sent directly from your browser to your specified provider. BitsNotes servers never store or see your key.