¿Ejemplo / caso de uso simple para un BNT gaussian_CPD?

Estoy intentando implementar un clasificador Naive Bayes usando BNT y MATLAB. Hasta ahora he estado pegando con simpletabular_CPD Variables y probabilidades de "estimación" para las variables. Mi prototipo de red consiste hasta ahora en lo siguiente:

DAG = false(5);
DAG(1, 2:5) = true;
bnet = mk_bnet(DAG, [2 3 4 3 3]);
bnet.CPD{1} = tabular_CPD(bnet, 1, [.5  .5]);
bnet.CPD{2} = tabular_CPD(bnet, 2, [.1  .345   .45 .355   .45 .3]);
bnet.CPD{3} = tabular_CPD(bnet, 3, [.2  .02    .59 .2     .2  .39    .01 .39]);
bnet.CPD{4} = tabular_CPD(bnet, 4, [.4  .33333 .5  .33333 .1  .33333]);
bnet.CPD{5} = tabular_CPD(bnet, 5, [.5  .33333 .4  .33333 .1  .33333]);
engine = jtree_inf_engine(bnet);

Aquí la variable 1 es mi variable de salida deseada, configurada para asignar inicialmente una probabilidad de .5 a cualquiera de las clases de salida.

Las variables 2-5 definen los CPD para las características que mido:

2 es un tamaño de grupo, que va de 1 a una docena o más3 es una relación que será un valor real> = 14 y 5 son valores de desviación estándar (real) (dispersión X e Y)

Para clasificar un grupo candidato, se dividen todas las mediciones de características en 3-4 paréntesis de rango, de este modo:

...
    evidence = cell(1, 5);
    evidence{2} = sum(M > [0 2 6]);
    evidence{3} = sum(O > [0 1.57 2 3]);
    evidence{4} = sum(S(1) > [-Inf 1 2]);
    evidence{5} = sum(S(2) > [-Inf 0.4 0.8]);
    eng = enter_evidence(engine, evidence);
    marginals = marginal_nodes(eng, 1);
    e = marginals.T(1);
...

Esto realmente funciona bastante bien, considerando que solo estoy adivinando los intervalos de rango y los valores de probabilidad. Pero creo que lo que yo.debería estar usando aquí es ungaussian_CPD. yopensar que unagaussian_CPD Puede aprender tanto los corchetes como las probabilidades óptimos (como matrices y ponderaciones de media y covarianza).

Mi problema es que no estoy encontrandosencillo ejemplos de cómo el BNTgaussian_CPD Se usa la clase. ¿Cómo, por ejemplo, me gustaría inicializar ungaussian_CPD a aproximadamente el mismo comportamiento que uno de mistabular_CPD variables anteriores?

Respuestas a la pregunta(2)

Su respuesta a la pregunta