Intel® oneAPI Data Analytics Library
Learn from community members on how to build compute-intensive applications that run efficiently on Intel® architecture.

Machine Learning Algorithm Initialization in Java

Vibhatha_A_
Beginner
472 Views

I have been working with MLR and PCA and Naive Bayes classification. I want to know how to initialize the algorithms by adding the number of iterations, step size, number of principal components, etc. I am not sure how to initialize these variables.

Or is there any other specific way to initialize these parameters ?

0 Kudos
2 Replies
Ruslan_I_Intel
Employee
472 Views

Hi, present version of PCA algorithm doesn't contain functionality allows just to set number of principal components and apply transformation to the data. Instead PCA returns eigenvalues and eigenvectors of covariance matrix obtained from the data (have a look at the example). You can use them in order to reduce dimensionality of your data, i.e. apply PCA transformation on your side by picking required number of eigenvectors. We are planning to support PCA transformation in one of the future releases.

Internally DAAL relies on direct algorithms to solve a system of linear equations, an eigenvalues problem or finding inverse/pseudoinverse of a matrix (by calling LAPACK), so we can't provide parameters like number of iterations for PCA or linear regression, because we just don't have them in implementation and can't adjust in LAPACK.

Currently DAAL allows to use SGD + LR (or another optimization method), but there is no single algorithm which encapsulates all the logic, please find the example here.

0 Kudos
Vibhatha_A_
Beginner
472 Views

Okay, I totally understand the nature of the framework.

Could you explain more about the MLR optimization method ? I mean the mathematics, which optimization method is used, how you control the convergence of the algorithm, etc. It would be a great help to understand how the algorithm works. I am trying to understand how it works.

0 Kudos
Reply