This article was published as a part of the Data Science Blogathon
Principal Component Analysis is one of the famous Dimensionality Reduction techniques which helps when we work with datasets having very large dimensions.
Therefore it becomes necessary for every aspiring Data Scientist and Machine Learning Engineer to have a good knowledge of Dimensionality Reduction.
In this article, we will discuss the most important questions on Dimensionality Reduction which is helpful to get you a clear understanding of the techniques, and also for Data Science Interviews, which cover its very fundamental level to complex concepts.
In Machine Learning, dimension refers to the number of features in a particular dataset.
In simple words, Dimensionality Reduction refers to reducing dimensions or features so that we can get a more interpretable model, and improves the performance of the model.
There are basically three reasons for Dimensionality reduction:
Let’s understand this with an example:
Imagine we have worked on an MNIST dataset that contains 28 × 28 images and when we convert images to features we get 784 features.
If we try to think of each feature as one dimension, then how can we think of 784 dimensions in our mind?
We are not able to visualize the scattering of points of 784 dimensions.
That is the first reason why Dimensionality Reduction is Important!
Let’s say you are a data scientist and you have to explain your model to clients who do not understand Machine Learning, how will you make them understand the working of 784 features or dimensions.
In simple language, how we interpret the model to the clients.
That is the second reason why Dimensionality Reduction is Important!
Let’s say you are working for an internet-based company where the output of something must be in milliseconds or less than that, so “Time complexity” and “Space Complexity” matter a lot. More features need more Time which these types of companies can’t afford.
That is the third reason why Dimensionality Reduction is Important!
PCA is a deterministic algorithm in which we have not any parameters to initialize and it doesn’t have a problem of local minima, like most of the machine learning algorithms has.
Image Source: Google Images
The major steps which are to be followed while using the PCA algorithm are as follows:
Step-1: Get the dataset.
Step-2: Compute the mean vector (µ).
Step-3: Subtract the means from the given data.
Step-4: Compute the covariance matrix.
Step-5: Determine the eigenvectors and eigenvalues of the covariance matrix.
Step-6: Choosing Principal Components and forming a feature vector.
Step-7: Deriving the new data set by taking the projection on the weight vector.
Moreover, if all the variables are on the same scale, then there is no need to standardize the variables.
If we don’t rotate the components, the effect of PCA will diminish and we’ll have to select more Principal Components to explain the maximum variance of the training dataset.
1. PCA is based on Pearson correlation coefficients. As a result, there needs to be a linear relationship between the variables for applying the PCA algorithm.
2. For getting reliable results by using the PCA algorithm, we require a large enough sample size i.e, we should have sampling adequacy.
3. Your data should be suitable for data reduction i.e., we need to have adequate correlations between the variables to be reduced to a smaller number of components.
4. No significant noisy data or outliers are present in the dataset.
The properties of principal components in PCA are as follows:
1. These Principal Components are linear combinations of original variables that result in an axis or a set of axes that explain/s most of the variability in the dataset.
2. All Principal Components are orthogonal to each other.
3. The first Principal Component accounts for most of the possible variability of the original data i.e, maximum possible variance.
4. The number of Principal Components for n-dimensional data should be at utmost equal to n(=dimension). For Example, There can be only two Principal Components for a two-dimensional data set.
In mathematical terms, we can say that the first Principal Component is the eigenvector of the covariance matrix corresponding to the maximum eigenvalue.
Accordingly,
PCA would perform well in cases when the first few Principal Components are sufficient to capture most of the variation in the independent variables as well as the relationship with the dependent variable.
The only problem with this approach is that the new reduced set of features would be modeled by ignoring the dependent variable Y when applying a PCA and while these features may do a good overall job of explaining the variation in X, the model will perform poorly if these variables don’t explain the variation in Y.
No, PCA is not used as a feature selection technique because we know that any Principal Component axis is a linear combination of all the original set of feature variables which defines a new set of axes that explain most of the variations in the data.
Therefore while it performs well in many practical settings, it does not result in the development of a model that relies upon a small set of the original features.
However, reducing dimensionality with PCA will lose too much information if there are no useless dimensions.
We can therefore infer if an algorithm performed well if the dimensionality reduction does not lose too much information after applying the algorithm.
Now, Answer the Following Questions:
16. The eigenvalue of the data matrix XXT is equal to _____?
17. The weight matrix W will be equal to_____?
18. The reduced dimensionality data will be equal to_______?
SOLUTION:
We try to solve these set of problem step by step so that you have a clear understanding of the steps involved in the PCA algorithm:
Here data matrix X is given by [ [ -3, -1, 1 ,3 ], [ -3, -1, 1, 3 ] ]
Mean Vector: [ {-3+(-1)+1+3}/4, {-3+(-1)+1+3}/4 ] = [ 0, 0 ]
Since here the mean vector is 0, 0 so while subtracting all the points from the mean we get the same data points.
Therefore, the covariance matrix becomes XXT since the mean is at the origin.
Therefore, XXT becomes [ [ -3, -1, 1 ,3 ], [ -3, -1, 1, 3 ] ] ( [ [ -3, -1, 1 ,3 ], [ -3, -1, 1, 3 ] ] )T
= [ [ 20, 20 ], [ 20, 20 ] ]
det(C-λI)=0 gives the eigenvalues as 0 and 40.
Now, choose the maximum eigenvalue from the calculated and find the eigenvector corresponding to λ = 40 by using the equations CX = λX :
Accordingly, we get the eigenvector as (1/√ 2 ) [ 1, 1 ]
Therefore, the eigenvalues of matrix XXT are 0 and 40.
Here, U = R2×1 and equal to the eigenvector of XXT corresponding to the largest eigenvalue.
Now, the eigenvalue decomposition of C=XXT
And W (weight matrix) is the transpose of the U matrix and given as a row vector.
Therefore, the weight matrix is given by [1 1]/1.414
Now, reduced dimensionality data is obtained as xi = UT Xi = WXi
x1 = WX1= (1/√ 2 ) [ 1, 1 ] [ -3, -3 ]T = – 3√ 2
x2 = WX2= (1/√ 2) [ 1, 1 ] [ -1, -1 ]T = – √ 2
x3 = WX3= (1/√ 2) [ 1, 1 ] [ 1, 1]T = – √ 2
x4 = WX4= (1/√ 2 ) [ 1, 1 ] [ 3, 3 ]T = – 3√ 2
Therefore, the reduced dimensionality will be equal to {-3*1.414, -1.414,1.414, 3*1.414}.
This completes our example!
Some of the advantages of Dimensionality reduction are as follows:
1. Less misleading data means model accuracy improves.
2. Fewer dimensions mean less computing. Less data means that algorithms train faster.
3. Less data means less storage space required.
4. Removes redundant features and noise.
5. Dimensionality Reduction helps us to visualize the data that is present in higher dimensions in 2D or 3D.
1. While doing dimensionality reduction, we lost some of the information, which can possibly affect the performance of subsequent training algorithms.
2. It can be computationally intensive.
3. Transformed features are often hard to interpret.
4. It makes the independent variables less interpretable.
Thanks for reading!
I hope you enjoyed the questions and were able to test your knowledge about Dimensionality Reduction.
If you liked this and want to know more, go visit my other articles on Data Science and Machine Learning by clicking on the Link
Please feel free to contact me on Linkedin, Email.
Something not mentioned or want to share your thoughts? Feel free to comment below And I’ll get back to you.
Currently, I am pursuing my Bachelor of Technology (B.Tech) in Computer Science and Engineering from the Indian Institute of Technology Jodhpur(IITJ). I am very enthusiastic about Machine learning, Deep Learning, and Artificial Intelligence.
The media shown in this article are not owned by Analytics Vidhya and is used at the Author’s discretion.