Machine Learning Algorithm Initialization in Java

Machine Learning Algorithm Initialization in Java

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 ?

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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.

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.

Leave a Comment

Please sign in to add a comment. Not a member? Join today