pca as an optimization problem

2 views (last 30 days)
yp78
yp78 on 14 Oct 2018
Answered: Prabakaran G on 16 Aug 2022
For some reasons, I would like to compute PCA (or, rather the eigenvectors and eigenvalues of a (de-meaned) sample covariance matrix ) using an oprimization function. I think I understood how to set up the objective functions and constraints, but struggling to actually implement it with Matlab. I am referring the first answer: What is the objective function of PCA? .
Could anyone help me to understand how to set up the problem with Matlab?
  3 Comments
Image Analyst
Image Analyst on 14 Oct 2018
Why not just use the built-in pca() function, if you have the Statistics and Machine Learning Toolbox? See attached demos.
yp78
yp78 on 15 Oct 2018
Edited: yp78 on 15 Oct 2018
Thank you for both your advice. I understand the related linear algebra, but I am looking at the optimization side as I need to seek some extension of PCA for some other applications, such as imposing a different type of constraint on the objective function etc. (it may no longer be a PCA then).
Or say, I just would like to know the setting up of an optimization problem with MATLAB, and PCA would be a good starting point for my particular needs.

Sign in to comment.

Answers (1)

Prabakaran G
Prabakaran G on 16 Aug 2022
As per my understanding, PCA can used to reduce the number of input predictors, which make the problem is simpler and generalize. Also, it reduce the complexity of the function to optimize.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!