As a LEGO designer, I’ve been assigned a project to create an animal series.

Essentially, these adorable animals form my original dataset, \(\textbf{X}\).

Test yourself: think about the dimension of this data matrix.

Next, I’ll bring out my powerful PCA blender!

I’ll toss all the data into it.

Warning! The upcoming visuals may be too gory—please make sure no children are watching with you.

After a good mix, you’ll first get a set of possible LEGO brick types. From the PCA perspective, these potential brick types are essentially the PCA weights, \(\textbf{w}_j\), you need. More broadly, they are feature extraction functions, \(g_{\textbf{w}}(\textbf{X})\), if you consider other kind of feature extraction algorithm/machine.

Next, the various animals will be transformed into a new dataset through the effect of these feature extraction functions.

Of course, there are also some… I mean that would be the useless information.

Now, kids can use the instruction I designed to create animals, e.g. a cute little turtle.

If you use another set of extracted feature values, you can also get a zebra.

As long as the data is correct, making a lion is no problem either.