Turik, Basically we have two main concepts the model and the trainer. Each machine learning method generates some model which could predict some result based on learning dataset. This model is just a function and model training is minimization of loss function, difference between model predictions and actual values.
The model trainer is a mechanism for minimization of loss function. Usually for this purpose uses gradient descent or its variations like SGD. And here we could use genetic algorithm for minimization of loss function. Usining genetic algorithm we could find optimal values for neuron weights in neural network, cluster centers, regression coefficients, etc. For both contepts we have API: org.apache.ignite.ml.Model and org.apache.ignite.ml.Trainer. So if we want to use genetic algoritm for model trainig we should implement specific trainer for each ML algorithms like lin regression, kmean, decision tree and others. For example let`s take a look on lin regression. Currently we have OLS (Ordinary Least Squares) multiple linear regression. For this regression we will have OLSRegressionModel and at least two possible trainers: analytical trainer (a solution of matrix equation, analytical solution) and gradient descent (numerical solution). And also we could implement GA trainer which will use GA Grid. NB: this API is currently under development and right now lin regression doesn't use model and trainer API, we will refactor this algorithm in nearest future. Regards, Yury -- Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/