For the third programming assignment, you are going to compare the performance of one exact inference algorithm to one approximate inference algorithm within the context of working with Bayesian networks. For this assignment, you will test your algorithms on five different Bayesian networks of varying sizes and will consider different amounts of evidence. These networks are available on Bayesian Network Repository, which can be found at http://www.bnlearn.com/bnrepository/. Specifications of the networks can also be found using the BIF format. Some information about the format can be found here: http://sites. poli.usp.br/pmr/ltd/Software/Javabayes/Home/index.html.
The five networks you will work with are described here. Note that, while I am providing the BIFformatted files for these networks in D2L/Brightspace, other formats exist on the BN Repository site, any of which you may use.
- Alarm Network (medium)
- Number of nodes: 37, Number of edges: 46, Number of parameters: 509
- Average degree: 2.49, Maximum number of parents: 4, Average Markov blanket size: 3.51
- Child Network (small to medium)
- Number of nodes: 20, Number of edges: 25, Number of parameters: 230
- Average degree: 1.25, Maximum number of parents: 2, Average Markov blanket size: 3
- Hailfinder Network (large)
- Number of nodes: 56, Number of edges: 66, Number of parameters: 2,656
- Average degree: 2.36, Maximum number of parents: 4, Average Markov blanket size: 3.54
- Insurance Network (medium)
- Number of nodes: 27, Number of edges: 52, Number of parameters: 984
- Average degree: 3.85, Maximum number of parents: 3, Average Markov blanket size: 5.19
- Win95pts Network (large)
- Number of nodes: 76, Number of edges: 112, Number of parameters: 574
- Average degree: 2.95, Maximum number of parents: 7, Average Markov blanket size: 5.92
For this project, the following steps are required:
- Write a design document that outlines the architecture of your software (include a fully explained UML class diagram), design decisions made in implementing your algorithms, and the experimental design for testing the results.
- Process the five networks to be compatible with your Bayesian network implementation. You should use a common format/data structure for your implementation rather than hard-coding the structure in your program.
- Implement variable elimination, capable of working with any ordering for node elimination.
- Implement Gibbs sampling.
- Test your algorithms on the following scenarios, providing the marginal distributions for the indicated variables. For each network, report the marginal distributions under the conditions where no evidence has been applied as well as under the stated evidence conditions.
- Alarm Network
- Report [HYPOVOLEMIA, LVFAILURE, ERRLOWOUTPUT] (b) Little Evidence: HRBP=HIGH; CO=LOW; BP=HIGH.
(c) Moderate Evidence: HRBP=HIGH; CO=LOW; BP=HIGH; HRSAT=LOW; HREKG=LOW; HISTORY=TRUE.
- Child Network
- Report [Disease]
- Little Evidence: LowerBodyO2=<5; RUQO2=>=12; CO2Report=>=7.5; XrayReport=Asy/Patchy.
- Moderate Evidence: LowerBodyO2=<5; RUQO2=>=12; CO2Report=>=7.5; XrayReport=Asy/Patchy; GruntingReport=Yes; LVHReport=Yes; Age=11-30 Days.
- Hailfinder Network
- Report [SatContMoist, LLIW]
- Little Evidence: RSFcst=XNIL; N32StarFcst=XNIL; MountainFcst=XNIL; AreaMoDryAir=VeryWet.
- Moderate Evidence: RSFcst=XNIL; N32StarFcst=XNIL; MountainFcst=XNIL; AreaMoDryAir=VeryWet; CombVerMo=Down; AreaMeso_ALS=Down; CurPropConv=Strong.
- Insurance Network
- Report [MedCost, ILiCost, PropCost]
- Little Evidence: Age=Adolescent; GoodStudent=False; SeniorTrain=False; DrivQuality=Poor.
- Moderate Evidence: Age=Adolescent; GoodStudent=False; SeniorTrain=False; DrivQuality=Poor; MakeModel=Luxury; CarValue=FiftyThousand; DrivHistory=Zero.
- Win95pts Network
- Report [Problem1, Problem2, Problem3, Problem4, Problem5, Problem6] (b) Evidence: Problem1=No_Output.
- Evidence: Problem2=Too_Long.
- Evidence: Problem3=No.(e) Evidence: Problem4=No. (f) Evidence: Problem5=No.
(g) Evidence: Problem6=Yes.
- Write a paper that incorporates the following elements, summarizing the results of your experiments. You should also output the summary statistics on classification accuracy.
- Title and author name
- A brief, one paragraph abstract summarizing the results of the experiments
- Problem statement, including hypothesis, projecting how you expect each algorithm to perform
- Brief description of algorithms implemented
- Brief description of your experimental approach
- Presentation of the results of your experiments
- A discussion of the behavior of your algorithms, combined with any conclusions you can draw
- Summary
- References (you should have at least one reference related to each of the algorithms implemented,a reference to the data sources, and any other references you consider to be relevant)
- Create a video that is no longer than 5 minutes long demonstrating the functioning of your code. This video should focus on behavior and not on walking through the code. You need to show input, data structure, and output. How you do this is entirely up to you, but be sure it will convince the grader that your program works.
Reviews
There are no reviews yet.