Yuri, Turik,

Considering the concept the ML is built around, it should be straightforward to 
adopt the genetic algorithms to it. 

To be more specific, Genes and Chromosomes which are the central building 
blocks of GA turn out to be basic ML Models. All the standard genetic 
operations/algorithms such as mutation, crossover and fitness calculation 
correspond to ML Trainer. 

If my understanding is correct, then we should add GA as a package to ML lib 
and implement all the basic Model and Trainer interfaces.  
 
Sounds reasonable?

—
Denis

> On Nov 7, 2017, at 6:07 AM, Yury Babak <y.ch...@gmail.com> wrote:
> 
> 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/

Reply via email to