How to classify more than one variables when learning structure

The front end.
Post Reply
wxk8000
Posts: 20
Joined: Fri Jan 19, 2018 11:58 am

How to classify more than one variables when learning structure

Post by wxk8000 »

Hi
I am learning the GeNIe to establish the bayesian network. Now I want to classify more than one variables in one network, but in GeNIe, only one class variable can be selected during the structure learning.
For example, "Learn New Network"-----"Tree Augumented Naive Bayes"-------"Class Variable", Then only one variable can be selected in the drop-down list.
How to classify more than one variables when learning structure?
Last edited by wxk8000 on Sat Jan 20, 2018 10:15 pm, edited 1 time in total.
wxk8000
Posts: 20
Joined: Fri Jan 19, 2018 11:58 am

Re: How to classify multiple variables when learning structure

Post by wxk8000 »

For example, there are 7 variables: A, B, C, D, E, F, G.
A, B, C, D, E are related to F
A, C, E are related to G
How to classify F and G in one bayesian network.
marek [BayesFusion]
Site Admin
Posts: 430
Joined: Tue Dec 11, 2007 4:24 pm

Re: How to classify more than one variables when learning structure

Post by marek [BayesFusion] »

This is quite easy. Just keep in mind that Naive Bayes, TAN and ABN are very special structures that have just one class node and all feature nodes are children of the class node. If you want a structure that involves multiple class nodes, please use one of the general purpose learning algorithms (such as Bayesian search, PC, ESG or GTT). If you insist on a structure similar to a TAN/ABN, please enforce it through background knowledge -- put links that you want to be there and run the algorithm to add additional links.
I hope this helps!

Marek
wxk8000
Posts: 20
Joined: Fri Jan 19, 2018 11:58 am

Re: How to classify more than one variables when learning structure

Post by wxk8000 »

marek wrote: If you insist on a structure similar to a TAN/ABN, please enforce it through background knowledge -- put links that you want to be there and run the algorithm to add additional links.
Thank you for your advice, you mean I can establish an imcomplete structure, then run the TAN algorithm to add additional links. like the figure below
33.png
33.png (69.15 KiB) Viewed 6099 times
But in GeNIe, I do not know whether it will do. Up to now, I just know GeNIe can learn a new network, but can not add additional links based on an imcomplete structure. How to realise that like the above figure.
Last edited by wxk8000 on Mon Jan 22, 2018 8:10 pm, edited 1 time in total.
wxk8000
Posts: 20
Joined: Fri Jan 19, 2018 11:58 am

Re: How to classify more than one variables when learning structure

Post by wxk8000 »

I have an idea, I do not know whether it is right
For example ,
there are 7 variables: A, B, C, D, E, F, G.
A, B, C, D, E are related to F
A, C, E are related to G
I respectively establish two networks.
In first network, I select A, B, C, D, E and take F as the class variable, then learn the net structure.
In second network, I select A, C, E and take G as the class variable, then learn the net structure.
After that, I add the links of the second network and class node G to the first structure (Should the CPT of the second network be also copied to the first structure? or we should do the parameter learning again?).
I do not know whether it is right.
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: How to classify more than one variables when learning structure

Post by shooltz[BayesFusion] »

If you know that there are no relationships between A,B,..,E, you can simply create the network structure, then use parameter learning to obtain the CPTs. There will be no new arcs after learning is complete.

If you want additional arcs (like A->C) to be present (if there's data supporting this), you should use Bayesian Search learning algorithm and create the network structure in the background knowledge editor. You'll get the network with the arcs you've drawn manually as background knowledge and also possible some other arcs. The CPTs will be learned too.
wxk8000
Posts: 20
Joined: Fri Jan 19, 2018 11:58 am

Re: How to classify more than one variables when learning structure

Post by wxk8000 »

marek wrote: If you insist on a structure similar to a TAN/ABN, please enforce it through background knowledge -- put links that you want to be there and run the algorithm to add additional links.
shooltz wrote:you should use Bayesian Search learning algorithm and create the network structure in the background knowledge editor.
I just try your advice, In GeNIe, TAN learning algorithm can not add the background knowledge editor, like the picture below.
11.png
11.png (37.71 KiB) Viewed 6091 times
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: How to classify more than one variables when learning structure

Post by shooltz[BayesFusion] »

As I indicated in my previous post, you should use Bayesian Search algorithm with background knowledge.
Post Reply