2nd from Left: The top 144 out of 3072 eigenvectors.The top eigenvectors account for most of the variance in the data, and we can see that they correspond to lower frequencies in the images.GTest (Google Unit Test) with Visual Studio 2012 Inheritance & Virtual Inheritance (multiple inheritance) Libraries - Static, Shared (Dynamic) Linked List Basics Linked List Examples make & CMake make (gnu) Memory Allocation Multi-Threaded Programming - Terminology - Semaphore, Mutex, Priority Inversion etc.Multi-Threaded Programming II - Native Thread for Win32 (A) Multi-Threaded Programming II - Native Thread for Win32 (B) Multi-Threaded Programming II - Native Thread for Win32 (C) Multi-Threaded Programming II - C Thread for Win32 Multi-Threaded Programming III - C/C Class Thread for Pthreads Multi Threading/Parallel Programming - IPC Multi-Threaded Programming with C 11 Part A (start, join(), detach(), and ownership) Multi-Threaded Programming with C 11 Part B (Sharing Data - mutex, and race conditions, and deadlock) Multithread Debugging Object Returning Object Slicing and Virtual Table Open CV with C Operator Overloading I Operator Overloading II - self assignment Pass by Value vs. Normalization refers to normalizing the data dimensions so that they are of approximately the same scale.
An image might help: Left: An example set of 49 images.
The training set of CIFAR-10 is of size 50,000 x 3072, where every image is stretched out into a 3072-dimensional row vector.
We can then compute the [3072 x 3072] covariance matrix and compute its SVD decomposition (which can be relatively expensive).
This can in practice be mitigated by stronger smoothing (i.e. Geometrically, this corresponds to stretching and squeezing the data into an isotropic gaussian blob.
We can also try to visualize these transformations with CIFAR-10 images.