ALGORITMO K2

O algoritmo K2 aprende uma rede bayseana a partir de um método heurístico chamado de aprendizagem por pontuação que utiliza a comparação entre probabilidades.

Onde é calculada a probabilidade de um certo pai dado uma variável : P(V,Cj) se a  maior probabilidade for a de P(V) quer dizer que a variável não possui pai.

A descrição do algoritmo K2 vem a seguir: 

      for i = 1 to número de variáveis

              old = g(Vi,Ø);

              continua = true

              while ( continua and numeroPais <= numeroMaximoPais)

                      for ji = 1 to numeroCandidatoPais

                                g(Vi,Cj)

                               max = maximo(g(Vi,Cj));

                      End for

                       new = max;                                       

                       if( new > max)

                              old = new;

                              Vi.adicionaPai(Cj);                      

                      else

                        continua = false

                     End if

            End while

   End for

A função g é uma métrica para calcular a probabilidade de um certo pai dado uma variável.

A função max determina a maior probabilidade

A função adicionaPai adiciona um pai a uma variável