Skip to main content
Unsupervised Deep Learning

Generative Modeling Goals and Principal Component Analysis

Published: 2026-08-25
Level: postgraduate
Audience: Postgraduate students in 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

  • From supervised deep learning to unsupervised deep learning — covered in Lecture 1
  • Generative modeling: model the distribution, then sample from it — covered in Lecture 1
  • Principal component analysis: geometry, reduction arithmetic, and reconstruction — covered in Lecture 1
  • Eigenfaces: a visual worked example — covered in Lecture 1

These notes cover two opening themes of unsupervised deep learning. First: what it means to learn from raw data without labels, including the self-supervision trick that lets data carry its own training signal. Second: why squeezing many columns of data into a few informative ones matters, and how principal component analysis (PCA) does it step by step — all the way to eigenfaces, where PCA runs on images of faces.

The lecture builds in four moves. Sections 2.1–2.2 set the mission: learning without labels and the goal of generative modeling. Sections 2.3–2.4 tour the classical dimensionality-reduction toolbox and motivate why reduction helps at all. Section 2.5 develops PCA end to end — mean, covariance, eigenvectors, projection, choosing the component count, reconstruction, and the power method. Section 2.6 puts PCA to work on face images. Classroom questions and corrections appear where they belong in the flow, because each one marks a spot where understanding can slip.

2.1 Deep Networks Learning Without Labels

2.1.1 The Label-Free Principle

Can a network learn something useful from data that arrives with no answers attached — no tags, no categories, no correct outputs? This course says yes, and everything that follows builds on that yes.

The core promise is easy to state. We take raw data and process it with deep networks — stacked function approximators such as multi-layer perceptrons (MLPs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), and transformers. We do this in a label-free way: the training set supplies inputs only, with no human-assigned target labels.

In symbols, the training set is just , a list of data items where each is one feature vector. A supervised course pairs every with a target ; here no ever shows up. That missing column is the whole identity of this subject.

There is one twist, and it carries the lecture. Sometimes we use the training data in a smart way so the data acts as a stand-in for labels. The data — or a transformation of the data — plays the role the labels would normally play. This style of training is called self-supervised learning, and it still counts as label-free because no extra annotation is ever collected. If you took a prior deep neural network course, you already used this idea there.

A concrete everyday picture helps. Think of a student alone with a textbook and no answer key. They cover half a sentence with a hand, guess the hidden words from the visible context, then slide the hand away to check. The book graded its own quiz. Self-supervision runs exactly this trick at scale: the input hides part of itself, predicts it back, and scores itself against the true hidden part. Where does the analogy break? A student tires after twenty questions; the training loop never does. It plays millions of such quizzes per hour and stores every improvement in the network weights.

Label-free learning has two levels: plain unsupervised structure-finding, and self-supervision, where a transformation of the input manufactures targets so the data trains itself.

2.1.2 Self-Supervision in Recurrent Models

The cleanest demonstration uses an RNN trained to predict the next word or next character. Take the sentence "sun is shining". Feed the words as input; the desired output at each step is the next word, ending with an end-of-sentence marker after "shining". You create every target by shifting the input one position forward. The input generates its own supervision.

Trace of the shift trick on "sun is shining":

Step Input so far Target produced by shifting
1 sun is
2 sun is shining
3 sun is shining end-of-sentence marker

No annotator touched this table. Every entry in the target column was copied from the row above in the input column. That copy step is the entire self-supervised construction.

Sense-check: three training examples from four tokens, zero human labeling cost.

A fill-in-the-gap task works the same way. Given "Yesterday ___ sun shining", the model reads the words before and after the gap and predicts what belongs inside. The raw sentence provides everything; no annotator is needed. Both tasks share one design rule: the target must exist inside the input itself.

Real-world: this shifting trick powers everyday text prediction on phone keyboards, and it is the pretraining objective behind modern language models. The next-token game, played over trillions of words, is what teaches those systems grammar, facts, and style before any customer ever types a prompt.

2.1.3 When Labels Are Still Necessary

Not every recurrent-network task escapes labels, and sorting this out was the first quiz of the day.

Q: Which RNN applications genuinely need labeled training data rather than self-generated targets? Recall one confidently.

A: Start with the wrong guesses. Image classification needs labels, but it sits outside the RNN domain. Time series forecasting sounds supervised, yet it uses past values themselves to predict future values, so no labels are required — it is the same shift trick as language modeling. The clean examples of genuine label need are sentiment analysis — marking each review positive or negative, which is very hard without tags — parts-of-speech tagging, where every word needs its noun, verb, or adjective role marked, and language translation, where you train on a parallel corpus: English text placed side by side with its German translation. Word-level and sentence-level prediction stay on the label-free side of the family.

So the dividing line reads: when the target lives inside the input — next word, missing word — self-supervision wins. When the target is an external judgment — sentiment class, grammatical role, translated sentence — someone must supply labels, because no amount of shifting manufactures them.

Pitfalls:

  • Calling forecasting "supervised" because a target exists. A target produced by shifting the input is self-generated, not labeled. Supervision means an outside judge supplied the answer.
  • Importing image-classification habits into the RNN discussion. Classification needs labels, but it belongs to a different model family; the quiz asked specifically about recurrent applications.
  • Assuming translation can be learned from English text alone. Without a parallel corpus pairing each sentence with its translation, there is nothing to compare the model's output against.

The pattern generalizes far past this quiz. Generative modeling, clustering, and dimensionality reduction all live on the label-free side; sentiment tags and star ratings live on the other side. Keeping the two sides separate is the first habit of this course.

Real-world and domain connection: deciding whether labels are needed is the first scoping question in any applied machine-learning project. A team building a support-ticket router must budget for labeled tickets; a team building autocomplete does not. Same architecture family, opposite data economics — the dividing line above decides the budget line.

If the answer key hides inside the data — next word, gap word, next value — train label-free. If the answer requires outside judgment — sentiment, grammar role, translation — you must buy or build labels.

2.2 Generative Modeling

2.2.1 Matching a Model Distribution to the Data Distribution

How can a machine paint a face it has never seen? It cannot copy one, because no such face exists in its training set. Instead it learns what faces, in general, look like — and then invents a new example consistent with that knowledge. That is generative modeling.

The heart of this course is generative modeling. Picture all your data — images, text, audio — sitting inside one big cloud. Images dominate such pictures because a glance reveals what an image contains, while thirty sentences of text demand real reading time; text also makes the modeling harder.

We want a model written : a formula, an analytical and statistical function whose independent variables are the features of the data. Those features might be individual pixel values, individual words, or word embeddings of a text. The goal is to tune so this model density sits very close to the true data density :

Here is one data item written as a feature vector, is the unknown real-world distribution that produced the dataset, and is our tunable stand-in for it. Many techniques in this course are just different routes to building accurately. Once trained, you sample from it and create new data similar to — but not identical to — the originals.

An everyday analogy for the whole enterprise: think of a chef who spends a year eating one cuisine — say, Thai cooking. Nobody hands the chef recipes. After a year of tasting, the chef can cook new dishes nobody has written down, yet every dish still tastes unmistakably Thai. Training plays the role of the year of tasting; sampling plays the role of cooking a dish no recipe describes. Where the analogy breaks: the chef brings intention and creativity, while the model only reproduces the statistics it absorbed — ask it for Ethiopian food and it keeps drifting back toward what it tasted.

Two restrictions shape everything that follows:

  1. Sampling must be tractable: drawing a new sample from should be computationally easy.
  2. You can plug any sample back into and read off its probability.

The second restriction gives probability meaning. A high value says "usual, plausible sample"; a low value says "rare novelty". Move far from the center of the distribution and you generate very novel data — so novel that users may fail to relate it to the originals. Keep that trade-off in mind whenever a generative system produces strange outputs.

Scope: The approximation is only trustworthy inside the region where training data lived. Outside that region the model extrapolates blindly and its probabilities are unreliable. Assumption: the training set represents the target population well enough that matching its distribution matches reality.

Why bother? Learn a great and you can compress: keep the model, discard the giant dataset, and regenerate data on demand. You can also build generative AI applications of the kind GPT-family systems offer. At the core of those products sits exactly this ability to model probability distributions. Prompt engineering decides the initial input; the learned distribution shapes what gets generated. This is not an applied prompt-engineering course, but it supplies the foundation beneath one.

2.2.2 Worked Illustration: Sampling From One Gaussian

How does sampling from a learned distribution actually run? Take a one-dimensional Gaussian, purely for ease of explanation. Learning the distribution means estimating its mean — say the empirical mean is zero — and its spread .

For reference, the Gaussian density itself reads:

where is the value being scored, centers the bell, sets its width, and the leading fraction guarantees the curve integrates to exactly 1 — the property that makes it a valid probability density.

Any probability density integrates to 1, which is why a uniform draw between 0 and 1 fits the next step perfectly. Build the cumulative distribution function (CDF) of the Gaussian: it rises from 0 and flattens toward 1, climbing fastest at the peak of the density. Now draw a random number from a uniform distribution over and feed it through the inverse of that curve. This inverse cumulative transform turns uniform draws into Gaussian samples:

where denotes the inverse CDF — you hand it a probability mass and it returns the point below which that much probability lies. For a general Gaussian with mean and standard deviation , sample the standard normal first and then set , where is the standard normal CDF.

Worked walkthrough — mapping four uniform draws through the inverse CDF (standard normal, , ):

  1. Draw . Half the bell's mass lies below its center, so . Sample: .
  2. Draw . About 84% of the mass lies below one standard deviation, so . Sample: .
  3. Draw . The 95th percentile sits at about 1.64 standard deviations, so . Sample: .
  4. Draw . Only 1% of the mass lies below , so . Sample: — a thin-tail rarity.

Notice where samples land. Half of all possible draws ( anywhere between 0.25 and 0.75) map inside , the crowded middle of the bell. Draws near 0 or 1 map out to the thin tails. Generated data clusters where real data clusters.

Sense-check: the empirical histogram of millions of such draws reproduces the bell shape, and about 5% of samples exceed , matching the 95% rule used above.

Most uniform draws land where the CDF climbs steeply — exactly the crowded middle of the bell. A single fitted Gaussian may still model real data poorly; you might need a mixture of Gaussians or something far more flexible. Whatever the family, the demands stay fixed: learn the distribution as accurately as possible, train fast, sample fast, and keep the samples diverse rather than repetitive. Diversity is a defining criterion of a good generative system.

No single technique wins on all counts today. Some models are more accurate; some train faster; some sample faster. So we study a broad set of models instead of betting on one favorite — breadth beats betting on a single champion, and the leader changes every couple of years anyway. Imperfect density models are also where nonsense generations and hallucinations creep in.

Often you want not just a sample but also its likelihood — how probable that sample is, whether rare or routine. Different techniques expose different subsets of these abilities, so always ask which abilities a given model actually provides.

2.2.3 Continuous Versus Discrete Data

Most statistics training lives on continuous distributions: exponential, Gaussian, mixtures of Gaussians. Images cooperate with that worldview — pixel intensities behave like continuous quantities, so density estimation feels natural.

Text is discrete, but assumptions bridge the gap through quantization — representing values with a finite alphabet. Later in the course, around the midterm, we meet the variational autoencoder (VAE) and its vector-quantized variant, which is very effective for generating new text. We will also see diffusion models that run on a discrete latent space, again useful for text. The scope stretches past images: text from images, images from text, and molecules too.

Q: Will we be able to predict or generate upon any data without having any labels once this course ends?

A: Not any data — claiming so would drain the word supervised of meaning. Generation stays faithful to the kinds of distributions observed during training: given distributions like those seen in the training data, you can produce new artificial data resembling them. Some things become possible; not everything does.

That exchange marks the honest boundary of unsupervised generation: a model of faces makes faces, not tax forms.

2.2.4 Molecules, Medicine, and Honest Limits

Generating molecules is a serious industrial application. Drug candidates are molecules; creating one consumes enormous time and money with no revenue guarantee. A few blockbuster drugs subsidize the many research programs that never land. Think of established blood-pressure and cholesterol medicines, aspirin-era classics, and newer protein-based treatments such as Ozempic. Proposing candidate molecules with generative models is a big deal in pharmaceuticals. Molecules map naturally onto graphs with nodes and links; the graph neural network course covers generating graph-structured data.

Real-world: pharmaceutical firms treat molecule generation as essential infrastructure, not a productivity toy. Text tools, by contrast, mostly serve productivity — summaries and drafts rather than finished writing — and that productivity game carries labor-economics consequences familiar to anyone in services.

Pitfalls:

  • Expecting a trained generator to extrapolate past its training menu. A face model asked for handwriting will produce face-like noise, not handwriting.
  • Treating a high-probability sample as a correct or factual one. Probability measures familiarity under the model, not truth.
  • Judging a generative system by fidelity alone. A model that returns the same beautiful face every time fails the diversity requirement even though each output looks plausible.

Domain connection and recap: generative modeling turns a pile of unlabeled examples into a samplable probability distribution — the same move behind drug-candidate proposals at pharmaceutical firms, image synthesis products, and the language models that power modern chat systems. With the goal fixed, the next sections step back to the classical toolbox: before deep networks entered, dimensionality reduction already solved half of this game by compressing data while keeping its structure.

Generative modeling tunes a tractable, evaluable until it hugs ; sampling from it creates diverse new data — but only within the kinds of distributions seen during training.

2.3 A Map of Classical Dimensionality Reduction

2.3.1 Principal Component Analysis and Its Practical Cousins

Before deep networks enter, this stretch of the course tours classical techniques — no neural networks here. Their shared goal: build features, using mathematical or statistical moves, that capture data records in a compact form. Principal component analysis (PCA) anchors the tour; an earlier machine-learning course introduced it together with covariance matrices, eigenvalues, and eigenvectors, so treat this as a re-encounter, not a first meeting. The full step-by-step construction arrives in Section 2.5.

Three engineered relatives matter once scale bites:

  1. Randomized PCA — uses randomness tricks to approximate the leading components when an exact decomposition grows too slow. Full singular value decomposition on an matrix costs on the order of work plus , while randomized schemes target only the top few components and finish far earlier. You trade a little accuracy for a lot of speed.
  2. Incremental PCA — updates components as data arrives; built for streaming sources or memory-bound machines. Instead of loading the whole dataset, you feed small batches and let each batch nudge the existing components.
  3. Sparse PCA — pushes components toward few nonzero weights for interpretability. A component that loads on three features reads like a sentence; one that loads on two thousand reads like static.

All three exist so that very large datasets — data at rest or data in motion — still enjoy principal components. If a machine emits fresh readings every five minutes, incremental PCA absorbs each batch without recomputing from scratch.

2.3.2 Kernel PCA for Non-Linear Structure

Plain PCA hunts axes of maximal variation, then second-maximal, third, and onward. It shines when data forms one elongated, single-clump cloud: the scatter shows a clear longest axis. Trouble begins with multimodal data — several separated clumps. The axes PCA picks then miss the cluster structure entirely, because variance is a poor guide when the interesting question is which clump a point belongs to.

Q: Is the classical, vanilla version of PCA applicable only to linearly separable data, or can it absorb non-linearly separable cases too?

A: Not in the basic form. Vanilla PCA assumes linear structure and cannot untangle classes that interleave non-linearly; feeding its components to a linear classifier fails there. The remedy is the kernel trick, borrowed straight from kernel support vector machines (SVM). Implicitly map the data into a higher-dimensional space where the structure turns linear, and run the PCA machinery there. The resulting components then let even a simple linear classifier separate the classes perfectly.

The word implicit deserves unpacking, because it is where the magic hides. You never compute coordinates in the huge new space. Every formula PCA needs — variances, projections — can be rewritten in terms of dot products between data points, and the kernel trick replaces each dot product with a kernel function that behaves like a dot product in the lifted space. So you get the geometry of the high-dimensional world while paying only the cost of evaluating in the original one.

Dimension Vanilla PCA Kernel PCA
Structure assumed Linear: one elongated cloud Non-linear patterns after implicit mapping
Multimodal clusters Axes miss cluster structure Often preserves or even unrolls clusters
Downstream classifier Works when classes separate linearly A linear classifier can now succeed
Cost Cheaper; exact SVD Kernel matrix of all point pairs; heavier
Typical use Preprocessing big numeric tables Manifold-shaped or interleaved data

When to pick which: start with vanilla PCA; reach for kernel PCA when the scatter shows curves, rings, or interleaved clumps that a straight line cannot describe.

So kernel PCA delivers dimensional reduction plus retained separability, motivated exactly like the kernel SVM.

2.3.3 Independent Component Analysis: Unmixing Sources

Independent component analysis (ICA) suits data that is not unimodal. Its headline application is blind source separation. Imagine one microphone in a room holding a radio, a television, and talking people. The microphone records one signal — a superposition of everything playing at once. ICA breaks that single mixture into its pieces: the radio stream, the TV stream, the voices. Nothing about the sources is known in advance — that is what makes it blind.

Why is separating even possible? Because independent signals mix additively, and a sum of independent signals tends to look more bell-shaped (more Gaussian) than any individual source — the same averaging effect behind the classic result that sums of many small random influences look Gaussian. ICA turns that fact around: it searches for directions along which the unmixed signal looks as non-Gaussian and as statistically independent as possible, because those directions must be the original sources peeking through.

This also draws the exam-relevant line against PCA. PCA asks for directions of maximal variance and returns uncorrelated outputs; ICA asks for statistically independent sources and returns the signals themselves. Two sound sources with equal power are a job for ICA — maximal-variance directions would just blend them again.

Real-world connection: the same mathematics cleans up audio in hearing aids and conference-call systems, and separates overlapping brain-signal channels in EEG headsets used by neuroscientists.

2.3.4 Canonical Correlation Analysis: Coupling Two Views

Canonical correlation analysis (CCA) is a linear method linking two views of the same event. Take someone speaking on camera. One view is the audio track; the other is the video track — specifically how pixels change around the lip region. CCA finds a vector space for the audio and a vector space for the video such that projecting the signals onto these spaces maximizes the correlation between them. Audio and video hold no mystery here — both are just vectors of numbers, so projection into lower-rank vector spaces makes sense.

In symbols: given paired views (audio features) and (video features), CCA chooses projection directions and to maximize the correlation between the projected pair:

where corr denotes the Pearson correlation between the two projected sequences over the training pairs, , and . Several such direction pairs can be found, each capturing one channel of shared information between the views.

Applications follow. Train on paired speech and lip movement, then generate lip movement from audio alone — one format mapped onto another, in the same spirit as translating English into German. Push further for dubbing: take English audio, convert it to Hindi or Tamil, then synthesize lip movement matching the new language — no actors needed for reshoots. CCA also opens the door to multimodal information fusion, treated fully in a later-semester course.

A naming trap deserves a warning: curvilinear correlation analysis shares its abbreviation with canonical correlation analysis — both are called CCA. The former is non-linear; the latter, the method above, is linear. Whenever you meet "CCA", check which method is meant before trusting any claim attached to those letters.

Nearby companions in this toolbox include locally linear embeddings, and for text there is Latent Semantic Indexing (LSI), which derives topic-linked features from bag-of-words counts — a document's word counts go in, topic-flavored numbers come out.

Domain connection: dubbing studios and accessibility-tool vendors use exactly this audio-to-lip coupling to localize video content across languages, and search engines historically used LSI-style reduction to match queries to documents by topic rather than exact words.

Exam note: Expect contrasts on suitability — vanilla versus kernel PCA for linear versus interleaved structure, and PCA versus ICA for variance directions versus independent source separation. Be ready to name the right tool for a described dataset.

2.4 Why Reduce Dimensions At All?

2.4.1 Making Data Visible and Thinkable

Open a spreadsheet with 5,000 rows and 200 columns. Your eyes scan the grid and your brain simply stops — no pattern jumps out of two hundred simultaneous numbers. Huge grids with countless columns fry the brain, so a few blended columns restore clarity.

Dimensionality reduction swaps the 200 original columns for perhaps the 5 most informative ones. Those new columns are usually linear combinations of old ones, not copies of any single column, yet patterns reappear and visualization becomes possible again. The payoff is insight: you can finally see how the high-dimensional data spreads, clusters, and drifts.

You can plot freely up to three dimensions — a scatter on paper, or a rotatable 3D view. Beyond three, plot selected pairs or triples of the reduced variables. Cumbersome but workable, and usually enough to gain insight into how the full-dimensional cloud behaves.

2.4.2 Worked Example: Engineering the Body Mass Index

Reduction is not always eigen-machinery; sometimes one clever ratio suffices.

Engineering a single diagnostic column from two raw ones.

Setup: 5,000 patient records with columns gender, height (m), weight (kg), and age. Staring at height and weight separately, judging who is obese is genuinely hard — tall people carry more weight without being overweight, so no single raw column tells the story.

Step 1: add the fourth raw column, age. Step 2: replace height and weight with their blended ratio — weight divided by height — the body mass index (BMI). The table shrinks from four columns to three: gender, age, BMI. Step 3: sort or color by BMI. People now separate visually into obese, underweight, and typical groups, and common ranges between males and females pop out on inspection.

Two concrete patients through the pipeline:

  • Patient A: height m, weight kg. Ratio . Using the lecture's reading — a value above 25 signals obesity — Patient A lands far past it.
  • Patient B: height m, weight kg. Ratio , inside the healthy band, which sits roughly between 15 and 20 in this framing and shifts across age groups.

Final answer: one engineered column separates the population visually where two raw columns could not. Sense-check: Patient A weighs about 1.9 times Patient B while being only about 6% taller, so A must land much deeper into the risk zone — and the index agrees.

A note on definitions, since reference charts differ: this lecture treats the index as the simple ratio weight over height with an obesity signal above 25 and a healthy band near 15–20 that moves with age. Most adult health references instead define BMI as weight in kilograms divided by the square of height in meters — for the patients above, versus — with standard bands of underweight below 18.5, normal up to about 25, and obesity at 30 and beyond. Keep whichever convention your assessment uses, but know both exist.

Better representation leads to better visualization, better reasoning, and better downstream classification or pattern recognition — the same record set became easier to understand purely because someone chose smarter features.

2.4.3 Noise, Weak Directions, and Hidden Factors

Raw data often carries noise: uncorrelated perturbations that randomly nudge every observation in every direction. Structure concentrates in strong directions — those are the ones where measurements genuinely co-vary. Weak-energy directions tend to hold noise, because noise spreads thinly everywhere instead of piling up along any axis. Reduce onto the strong dimensions and much of the noise falls away with the discarded weak ones.

Reduction can also reveal latent variables — hidden causes, absent from the collected columns, that drive what you observe. Psychometric questionnaires produce hundreds of parameter readings; behind them stand interpretable factors such as ego, personality, and intelligence. Those factors guide the visible values even though nobody measured them directly. Likewise, a document's bag-of-words vector feeds Latent Semantic Indexing, which yields numbers tied to the topics the text discusses — the topics were never columns in the table, yet they explain the word counts.

This reframes what reduction is for. You are not just shrinking tables; you are hunting for the small set of hidden dials that generate the large set of visible readings.

2.4.4 The Reconstruction Test

What separates honest reduction from careless column-dropping? The reconstruction test.

Take -dimensional data — say 500 dims — compress it to a smaller count, say 50, then map back up to 500. Compare the round trip with the original. If they match closely, the reduction kept what matters and shed only unimportant spread. The usual yardstick is the reconstruction error: the mean squared distance between each original point and its rebuilt version, averaged over the dataset. Small error means the 50 kept dimensions carry nearly all the structure.

Pitfalls:

  • Dropping columns arbitrarily instead of testing reconstruction. A deleted column that carried unique information shows up immediately as a large round-trip error.
  • Trusting a low error rate on the training rows alone. Check the round trip on fresh data too, or you may only be memorizing the sample you compressed.
  • Forgetting that "smaller" also means "lossy". The rebuilt point approximates; it does not equal, and decisions should tolerate that gap.

Once trusted, the small representation feeds classification, clustering, and pattern recognition directly — and the smaller feature set means far less training data is needed, because a learner facing 50 features needs far fewer examples than one facing 500.

Domain connection: clinical labs run exactly this play when they compress dozens of correlated blood markers into a handful of risk indices, and streaming services compress a viewer's watch history into a few taste coordinates before recommending the next show.

Reduce to see, reduce to denoise, reduce to expose hidden causes — and always demand that the compressed version reconstructs the original well enough to pass the round-trip test.

2.5 Principal Component Analysis, Step by Step

2.5.1 Notation and Setup

There are infinitely many directions in a -dimensional space. Trying every axis and keeping whichever projection looks best is impossible even for small . PCA's promise is to find the best axes directly, from two summaries of the data, with no search at all.

Let be one data point: every entry is a real number, and there are of them. Two concrete anchors keep the notation honest. A grayscale image flattens into a 200-number vector, so . A text record's bag-of-words vector has one slot per vocabulary word — easily tens of thousands of slots.

Stack such points row-wise into the data matrix : row holds point , so the matrix has one row per record and one column per feature. PCA seeks a mapping from dimensions down to dimensions — written with a small to stress — that survives the reconstruction test of Section 2.4.4: compress, rebuild, compare against the original, and accept only a close match.

2.5.2 The Mean Vector and the Covariance Matrix

Everything starts with two summaries. The sample mean averages every record feature-wise:

where collects one average per feature: entry of is the average of column over all records. Subtracting from every row moves the data cloud so its center sits at the origin — PCA assumes centered data, and centering is how we honor that.

The covariance matrix measures how features co-vary. The recipe: subtract the mean from every row, multiply each centered row by its own transpose (an outer product), and average over the record count:

where is the covariance matrix and marks the transpose. Check the shapes: each is , its transpose is , so every outer product is , and their average stays . Entry of records how feature moves with feature ; the diagonal entry is just the variance of feature .

So variance is the one-dimensional special case — how far points spread around the mean along a single axis — while covariance generalizes it to how two or more dimensions vary together, captured as a matrix.

A classroom quiz pinned the shapes down for a concrete dataset.

Q: The dataset holds 50,000 rows with 200 features each, so the data matrix is 50,000 by 200. What are the sizes of the mean vector and of the covariance matrix?

A: The covariance matrix is 200 by 200 — one row and one column per feature pair. The mean vector is 200-dimensional: average column one, then column two, and so on, giving 200 averaged entries. So is a 200-entry vector and is a 200-by-200 matrix.

Physical data adds a signature: covariance matrices usually look banded. Bands mean neighboring features correlate strongly — adjacent sensor readings, adjacent pixels, adjacent time samples tend to move together because they come from one coupled physical process. Data generated by physics carries its coupling straight into .

2.5.3 Reading the Shape of the Cloud

Covariance signs tell direction stories. When rises and rises together across records, covariance is positive. When rises but sinks, covariance is negative. Zero means no linear co-movement.

Two structural facts make special. First, it is symmetric: swapping and changes nothing, since " moving with " is the same statement as " moving with " — formally, entry equals entry because the outer product is already symmetric. Second, it is positive semi-definite, meaning every direction satisfies . Read that expression as "the spread of the cloud along direction " — an average of squared projections, which can never be negative.

Together these two facts force the eigenvectors to come out real and mutually orthogonal. Here is the algebra behind the orthogonality claim, for two eigenvectors with distinct eigenvalues:

So . If the eigenvalues differ, the dot product must be zero — the directions stand perpendicular. Symmetry also guarantees the eigenvalues themselves are real, and positive semi-definiteness guarantees they are non-negative, exactly what quantities named "variance" require.

Now the geometry. An elliptically scattered cloud has a major axis and a minor axis. The ellipse follows the classic conic form

where and are the semi-axis lengths: setting gives the -intercepts , and setting gives the -intercepts . (Start from a unit circle and stretch it by a factor horizontally and vertically — the stretched curve is exactly this equation.) The quantities and tie directly to the covariance matrix of elliptically distributed data: big spread along one direction shows up as a large variance there. Pictured examples made it concrete: one cloud with variances around 0.75 against 0.25 traces a long, tapered ellipse; a perfectly round cloud owns a purely diagonal covariance — identical diagonal entries, zeros elsewhere — and no direction is privileged.

Q: For an elliptical cloud we take the major diameter's direction as the PCA feature vector. If the cloud is circular, which radius becomes the component?

A: Any of them. With equal variances in all directions, every radius works equally, so any unit direction can serve as a component axis. Such degeneracy is harmless — it just means the data has no preferred orientation.

Correlation matrices normalize covariance and stay symmetric: divide each covariance by the product of the two features' standard deviations, and the diagonal becomes ones while off-diagonal entries become fractions between and . Those fractions encode the same geometry as the covariance numbers, just on a fixed scale.

2.5.4 Eigenvalues, Eigenvectors, and the SVD Route

The objects of interest satisfy the eigen equation:

where is the -th eigenvector — a direction in feature space that only stretches — and is its eigenvalue, a scalar reporting how much variance lives along that direction. Read the equation as a question: along which directions does the covariance act like a pure stretch? Those directions organize the cloud. For elliptical data, the largest eigenvalue belongs to the major axis and to the minor axis, provided the cloud really is elliptically distributed. Sketching the top two eigenvectors over the scatter reproduces the two axes of maximal variation.

Compute these directions with the singular value decomposition (SVD) or with the power method of Section 2.5.8. The decomposition writes:

where stacks eigenvector directions as columns, is a diagonal matrix carrying the singular values — the eigenvalue magnitudes through along its diagonal, sorted largest first — and is the transposed right factor. Because the covariance matrix is symmetric, its left and right singular directions coincide: , so the decomposition collapses to the eigendecomposition . That identity is why several orderings — , , and friends — all appeared interchangeable in lecture: for a symmetric matrix they describe the same factorization read forward or backward, and any of them hands you the same eigenvectors.

For physically generated data the eigenvalue list decays fast: the first few are large, the rest tiny. That decay is the whole reason reduction works, and it decides which eigenvectors survive as principal components.

Complete PCA computation on a tiny 2D dataset.

Data: four points , , , . Here records and features.

Step 1 — mean. The points sit symmetrically around the origin, so centering changes nothing.

Step 2 — covariance.

Step 3 — eigenvalues. Solve : (major direction) and (minor direction).

Step 4 — eigenvectors. For : , so , normalized to . For : gives .

Step 5 — sanity checks. Orthogonality: . Trace check: . Determinant check: . All three agree, so the decomposition is consistent.

2.5.5 Projection: Two Dimensions Become One Number

Take a two-dimensional cloud and target one dimension. First compute the leading eigenvector . Then project every point:

where is the original point, the mean, and the single new coordinate — the dot product drops the centered point onto the axis and returns one scalar lying between negative and positive extremes. Dot product is projection: for two arrows from the origin, it measures how far one reaches along the other. Every -dimensional point becomes one number.

Continuing the tiny dataset above: projecting the point gives and its mirror point lands at . Two coordinates in, one number out — and the pair still orders the points sensibly along the cloud's long direction.

With kept components the rules tighten: each has unit length, and distinct components stay perpendicular, for — together an orthonormal set. Stacking the chosen eigenvectors as rows of a matrix , the whole operation compresses to:

where is the new reduced point, the old one, and the rows of are precisely the kept eigenvectors. Shape check: , as promised.

What the small codes buy: plots when , pairwise panels when larger; machine-learning algorithms that run far faster on features than on ; smaller training-set needs, because fewer features require fewer examples; and storage savings — numbers per record instead of .

2.5.6 Choosing k: The Explained Variance Ratio

How many components are enough? Reduction must not discard important information, and importance is measured by eigenvalues. Keep components with large eigenvalues; drop those tied to tiny ones. Formally, the explained variance ratio weighs the kept eigenvalues against the total energy:

The numerator sums the kept eigenvalues; the denominator sums all of them — the total variance energy of the dataset. Pick the smallest clearing your threshold: 90%, 95%, or 99%. Which bar applies depends on the application: if a business task performs well at 90%, ride with the smaller ; demanding 99% pushes upward.

A quick picture of the decision: plot the running sum of explained variance against the number of components kept. The curve shoots up steeply, then bends into a flat tail — the bend, called the elbow, marks where extra components stop paying rent. The elbow position is a decent estimate of the data's true intrinsic dimensionality.

On the tiny worked dataset the rule fires immediately: , so keeping one component clears the 90% bar exactly.

If all eigenvalues were large and none small, no effective reduction would exist. Physical data rescues us: strong correlations force fast decay, so a handful of components clears the bar. The class connection stuttered once, so the rule was stated a second time — and that closing restatement survives inside the exchange below.

Q: Concretely — if an image looks reasonable with its top 200 components, how do I compute that cutoff mathematically? Is there a formulation that fixes the top number of components?

A: Yes. Sum the eigenvalues from 1 through 200. Divide that partial sum by the sum over all 10,000 eigenvalues. If the ratio exceeds 0.9, clarity will be good. Past a certain component count, adding the remaining eigenvectors brings no significant improvement — that is where you stop. And since network dropouts earlier interrupted us, the variance-threshold rule gets repeated as a closing restatement: sum your kept eigenvalues, divide by all of them, and insist on ninety percent — that clears the rule.

2.5.7 Reconstructing the Original Data

Q: A quick calibration first — are these PCA component vectors highly correlated with one another?

A: The opposite. The components are totally uncorrelated; mutual perpendicularity forces it. Uncorrelated axes are the entire point of the construction — each kept component carries a fresh, non-overlapping slice of the variance.

With that settled, the inverse question follows naturally.

Q: Can the original data be recovered from the reduced component vectors — is the inverse route real?

A: Of course. Take one record's reduced code as a 1-by-50 row and the transposed basis as a 50-by-200 matrix. Multiply: 1-by-50 times 50-by-200 yields a full 1-by-200 rebuilt row — the original-width feature vector restored for that record.

In equation form, reconstruction re-adds weighted eigen-directions on top of the mean:

where is the -th projected score of the record (the number produced in Section 2.5.5) and is its matching eigenvector. Each term slides one eigenvector-scaled brick back onto the foundation; bricks rebuild an approximation of the whole house. The board bookkeeping matches this exactly: the covariance factorizes so that a 200-by-200 object chains three thinner pieces — a 200-by-50 piece of eigenvector columns, a 50-by-50 diagonal of leading singular values, and a 50-by-200 transposed piece — whose product reconstructs the full-width object. Multiplying through, : a rank-50 summary standing in for the full matrix.

Round trip on the tiny dataset. Rebuild from its single code , using and mean :

Final answer: the rebuilt point is against the original . Sense-check: the miss is , which points exactly along the discarded second eigenvector — precisely the direction we agreed to sacrifice, and the squared error equals the eigenvalue share left behind relative to the point's spread.

The takeaway: reduced representation plus transposed basis equals original representation, record by record — and the gap between rebuilt and original is the reconstruction error of Section 2.4.4, made concrete.

2.5.8 The Power Method

One numerical engine deserves its name remembered: the power method — an iterative scheme that hunts the eigenvector belonging to the largest eigenvalue, then continues for the second-largest, third-largest, and onward, without ever computing a full decomposition.

The idea needs only repeated matrix-vector products. Start from almost any nonzero vector . Multiply by and renormalize, again and again:

where is the current guess, applies the covariance stretch, and the division by the norm rescales the result back to unit length so nothing blows up. Why does this converge? Write in the eigenbasis: it is a mix of all eigenvector directions. Each multiplication multiplies the component along by , so after rounds the top-eigenvalue component outweighs its runner-up by a factor growing like — which races to infinity unless the two leading eigenvalues are nearly tied. The surviving direction is . To find , remove the contribution from the data (deflation) and repeat.

Q: Does anyone recall the power method and why it is used?

A: Fair — nobody in the room did, and that is normal; the formula fades even when the idea sticks. It is an iterative shortcut for extracting the dominant eigenvector, largest eigenvalue first, without full decomposition, then repeating for the next ones. For mechanics, consult an AI assistant such as ChatGPT, or the engineering mathematics reference — the standard treatment sits in the Kreyszig engineering mathematics text under the power method for largest eigenvalues.

Cost check: each iteration costs one matrix-vector product, about operations for a dense matrix — far cheaper than a full decomposition when you only want the top few directions. The method slows to a crawl when and are nearly equal, because the decisive ratio approaches 1; that is also the case where PCA itself is ill-defined, since no single direction dominates.

Real-world connection: recommendation engines and text-retrieval systems face matrices too large for exact decompositions, and power-iteration-family algorithms — the engine inside Google's original PageRank among others — get the dominant directions cheaply.

PCA in one breath: center the data, build , take its top eigenvectors as the important directions, project onto them for compact codes, use the explained-variance ratio to pick how many, and rebuild with whenever you need to look back. Next, this machinery meets faces.

2.6 Eigenfaces: PCA on Face Images

2.6.1 Computing and Reading Eigenfaces

What does an eigenvector look like when your data points are human faces? Draw one back as an image and you get a ghostly translucent portrait — a face made of pure statistics. These are eigenfaces, and reading them teaches more geometry than any scatter plot could.

The recipe runs exactly like Section 2.5, just on pictures. Take a dataset of grayscale portraits. Flatten each portrait into a 10,000-dimensional vector — one coordinate per pixel. Run PCA on the stacked matrix. Then draw the top eigenvectors back into their image shapes: those ghostly faces are the eigenfaces.

Reading them teaches geometry. First comes the average face — the mean vector wearing skin, the statistical center every other face bends around. Next, eigenfaces carrying significant eigenvalue magnitudes highlight what varies across people: overall shading, hairline position, prominent bone structure. Several look distinctly masculine in that dataset, because those were the strongest axes of variation it contained. One family of eigenfaces lights up on eyeglasses — wearers jump out along that axis. Descend to eigenvectors tied to small eigenvalues and the images break down into pure noise: nothing structured remains, because tiny-variance directions hold no consistent face information at all.

Pause on the caution these pictures provoke. Average-face templates skew toward the dataset's majority appearance, so classifiers built on them can lose accuracy for people with darker skin tones. That is how machine learning quietly perpetrates bias and prejudice — a central concern in practical deployments today, delivered here by an unintentional demonstration. The lesson generalizes far beyond faces: whenever a model's internal template is a population average, everyone far from the majority pays for it.

2.6.2 Recognition Pipeline and Compression Arithmetic

The recognition pipeline turns eigenfaces into identity decisions. It is a procedure worth memorizing step by step:

  1. Flatten a new face into its 10,000-value vector.
  2. Subtract the average face, centering it exactly like the training data was centered.
  3. Project onto the significant eigenfaces — dot products, one per kept component.
  4. Collect scores through ; these form the feature representation of the face.
  5. Classify: an ordinary supervised classifier over those numbers decides which person the face belongs to.

A portrait that began as 10,000 pixel values now rides on roughly 200 numbers — and the classifier never needs the raw pixels again.

Rebuilding from a code sums weighted eigenfaces on top of the mean:

where is the average face, each an eigenface, each the face's score along it, and the rebuilt portrait. Quality scales brutally with how many terms you include.

The component-count ladder. Same dataset, three budgets for :

Components kept What comes back Recognition outcome
4 (top four eigenvalues) A smeared blob Near zero — identity cues erased
200 A respectable likeness Usually enough to recognize
400 Near-perfect reconstruction Nearly indistinguishable

Final answer: four components cannot carry a face; two hundred can; four hundred nearly do. Sense-check: the explained variance rule agrees — each step up the ladder buys the next block of large eigenvalues, and the last few percent of variance costs the most components.

The compression arithmetic makes the savings concrete. A grayscale face stores 10,000 bytes as raw pixels. Keeping 400 eigenface coefficients stores 400 bytes instead. Ten thousand divided by four hundred gives

— a 25-fold storage saving, with the face still recognizable. Compression, though, is only the bonus. The real prize: small feature spaces cut the training data a learner needs — datasets should run several times the feature count — so validation error improves accordingly. How far you can shrink while the downstream task still succeeds is the honest measure of a good reduction.

2.6.3 Patch-Based PCA: The Butterfly Experiment

Faces are small images; what about big scenes? Compression scales through patches.

Slice a large, high-resolution butterfly photograph — the lecture's image measured roughly 372 by 492 pixels, though only the patch size matters for the math — into patches. Each patch flattens to a vector of values, so the whole photograph becomes a pile of 144-dimensional vectors, one per patch location.

Run PCA on the pile and keep just 16 dimensions per patch.

The patch trial, by the numbers.

  • In: every patch described by numbers ( pixels).
  • Code: PCA squeezes each patch to just numbers — a reduction per patch.
  • Out: rebuild each 16-number code back into a patch, then stitch all patches back into place.

Quality visibly drops, yet the butterfly stays recognizable — enough to answer the question "is there a butterfly here?". Inspect the 16 winning eigenvector-patches: they show edges, bands of intensity, and gradient structure — the elementary vocabulary of vision. Components further down the list, tied to smaller eigenvalues, grow steadily noisier. Squeeze harder — 3 dimensions per patch — and the reconstruction collapses into mush.

Final answer: 16 numbers per patch preserve subject identity; 3 do not. Sense-check: 16 of 144 directions matches keeping about 11% of the dimensions, so losing fine texture while keeping layout is exactly what the explained-variance picture predicts.

The lesson generalizes well past butterflies: even aggressive low-dimensional codes preserve the gist that recognition needs, which is why patch-based coding ideas echo through modern vision pipelines.

Real-world connection: this is the same trick behind JPEG-style block compression and behind early face-recognition systems — both cut images into pieces, keep the dominant statistical patterns per piece, and discard the rest without losing what viewers (or classifiers) actually use.

Pitfalls:

  • Judging reconstruction quality on averages alone. A decent average likeness can hide catastrophic failures on faces far from the dataset's majority — always inspect the tails.
  • Forgetting to subtract the average face before projecting. An uncentered face projects onto eigenfaces as if shading and pose meant identity.
  • Expecting the smallest components to be meaningful. Below the top eigenfaces lies noise; nothing down there helps recognition.

Eigenfaces turn face recognition into small-vector classification: average face out, project onto significant eigenfaces, classify the scores — with bias risks baked into the average and compression gains of 25-fold shown by direct division.

Exam Guidance Summary

  • A group assignment anchors the grading calendar. Teams have five members — a few have four or six, since the roster does not divide evenly. The task releases within two weeks, with about three weeks to finish. It covers PCA, its variants, and autoencoders, so complete group formation promptly once announced.
  • The prescribed reading is the dimensionality-reduction chapter of Hands-On Machine Learning. Work through it diligently; it alone yields a complete picture, since much of this material follows that chapter's arc from PCA through its practical variants.
  • Refresh CNN and RNN fundamentals from prior coursework — they recur as building blocks in the self-supervision discussion of Section 2.1 and later architectures.
  • Ready-to-run notebooks accompany the posted materials. Execute them in Colab or a local setup before attempting problems; watching PCA run on real data cements the eigenvalue decay this lecture predicted on paper.
  • Expect conceptual contrasts on assessments — vanilla versus kernel PCA, PCA versus ICA suitability, continuous versus discrete generation strategies — plus numeric drills styled like the dimension quiz (mean vector and covariance shapes for a 50,000-by-200 dataset) and the explained-variance computation (kept eigenvalue sum over total sum, clearing the threshold).

Key Industry Applications

  • Pharmaceutical molecule generation — proposing drug candidates cuts discovery cost in a billion-dollar industry where a few blockbuster medicines subsidize many failed programs; molecule graphs fall to graph neural network methods, covered in a dedicated course.
  • Dubbing and lip synthesis — CCA-trained audio-video coupling converts English audio into Hindi or Tamil speech with matched lip movement, no reshoots; localization studios and accessibility-tool vendors run on this coupling.
  • Blind source separation — ICA unmixes radio, TV, and voices captured by one room microphone; the same idea cleans audio in hearing aids, conference-call systems, and EEG signal processing.
  • Face recognition and compression — eigenfaces powered identity recognition while shrinking storage 25-fold in the worked example; the flatten-project-classify pipeline prefigures modern embedding-based recognition.
  • Document intelligence — Latent Semantic Indexing turns bag-of-words vectors into topic-aware features for search and organization; queries match documents by theme rather than exact words.
  • Generative AI products — GPT-style systems rest on learned distributions; prompt inputs steer sampling from them; text, image, and molecule generation all descend from this foundation.
  • Gene expression analytics — PCA-style reduction tames thousands-of-genes measurements into analyzable structure, exposing the few latent factors that separate healthy from diseased samples.

UDL Lecture 2 notes · Generative Modeling Goals and Principal Component Analysis

Unsupervised Deep Learning· postgraduate· 2026-08-25

Sections Breakdown

1Deep Networks Learning Without Labels

Label-free training with deep networks and the self-supervision trick that manufactures targets from the inputs themselves.

2Generative Modeling

Matching a model distribution to the data distribution and sampling tractably, shown through inverse-CDF Gaussian sampling.

3A Map of Classical Dimensionality Reduction

PCA and its practical cousins, kernel PCA for non-linear structure, independent component analysis, and canonical correlation analysis.

4Why Reduce Dimensions At All?

Visualization, noise removal, latent factors, and the reconstruction test, anchored by the body mass index worked example.

5Principal Component Analysis, Step by Step

Mean vector, covariance matrix, eigenvectors, projection, choosing k by explained variance, reconstruction, and the power method.

6Eigenfaces: PCA on Face Images

Running PCA on flattened face images: computing eigenfaces, the recognition pipeline, compression arithmetic, and patch-based PCA.

7Exam Guidance Summary

Assignment logistics, prescribed reading, and the assessment patterns to expect.

8Key Industry Applications

Named deployments of each classical tool across pharma, dubbing, audio cleanup, face recognition, search, and genomics.

Postgraduate students in 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.

Deep Networks Learning Without Labels

Must-know: Self-supervised targets are manufactured by shifting the input (next word, gap word); sentiment analysis, POS tagging, and translation with a parallel corpus genuinely require external labels.

⚠️ Top pitfall: Calling time series forecasting supervised because a target exists - a shifted-input target is self-generated, not labeled.

Self-check: Name two RNN applications that need labels and one that does not.

Connects to: Generative Modeling

Generative Modeling

Must-know: Generative models need tractable sampling and evaluable probabilities; generation stays faithful to distributions seen in training - not any data.

⚠️ Top pitfall: Treating a high-probability sample as factual; probability measures familiarity under the model, not truth.

Self-check: Why does a uniform draw between 0 and 1 map to a Gaussian sample through F inverse?

Connects to: Deep Networks Learning Without Labels; A Map of Classical Dimensionality Reduction

A Map of Classical Dimensionality Reduction

Must-know: Vanilla PCA fails on non-linearly separable data; the kernel trick from SVMs restores separability. PCA finds uncorrelated max-variance directions; ICA finds independent sources. Two different methods share the CCA abbreviation.

⚠️ Top pitfall: Assuming vanilla PCA can absorb non-linearly separable classes - it cannot in its basic form.

Self-check: Which method would you use to split one microphone recording into radio, TV, and voices, and why?

Connects to: Principal Component Analysis, Step by Step

Why Reduce Dimensions At All?

Must-know: Reduction aids visualization, removes noise concentrated in weak-energy directions, and reveals latent variables; the reconstruction test (compress, rebuild, compare) validates it.

⚠️ Top pitfall: Dropping columns arbitrarily without checking round-trip reconstruction error.

Self-check: In the BMI example, which two raw columns were replaced by one engineered column, and what changed visually?

Connects to: A Map of Classical Dimensionality Reduction; Principal Component Analysis, Step by Step

Principal Component Analysis, Step by Step

Must-know: For N records with D features: mean vector is D-dimensional, covariance is D-by-D. Keep components until (sum of kept eigenvalues)/(sum of all) clears 90%. Components are totally uncorrelated. Reconstruction: multiply the reduced code row by the transposed basis to get back original width.

⚠️ Top pitfall: Picturing PCA component vectors as correlated - mutual perpendicularity forces them to be uncorrelated.

Self-check: A dataset has 50,000 rows and 200 features - what are the shapes of the mean vector and covariance matrix?

Connects to: Why Reduce Dimensions At All?; Eigenfaces: PCA on Face Images

Eigenfaces: PCA on Face Images

Must-know: Flatten faces, subtract average face, project onto significant eigenfaces, classify the scores. Four components give an unrecognizable blob, 200 a likeness, 400 near-perfect; 10,000 bytes to 400 bytes is a 25-fold saving.

⚠️ Top pitfall: Forgetting to subtract the average face before projecting - uncentered shading then masquerades as identity.

Self-check: Why can average-face templates introduce bias against darker skin tones, and at which step of the pipeline does it enter?

Connects to: Principal Component Analysis, Step by Step

Exam Guidance Summary

Must-know: Assignment covers PCA variants plus autoencoders; expect contrasts (vanilla vs kernel PCA, PCA vs ICA) and numeric drills like the dimension quiz and explained-variance ratio.

⚠️ Top pitfall: Delaying group formation or skipping the prescribed chapter and Colab notebooks.

Self-check: When does the group assignment release and what topics does it cover?

Connects to: A Map of Classical Dimensionality Reduction; Principal Component Analysis, Step by Step; Eigenfaces: PCA on Face Images

Key Industry Applications

Must-know: Each classical tool maps to a named industry: molecule graphs to pharma, CCA to dubbing studios, ICA to audio cleanup, eigenfaces to recognition and compression, LSI to document search.

⚠️ Top pitfall: Describing applications vaguely - exams reward named tools paired with named industries.

Self-check: Which method powers dubbing with matched lip movement across languages?

Connects to: Generative Modeling; A Map of Classical Dimensionality Reduction; Eigenfaces: PCA on Face Images

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.