Help with Bayesian Modeling

The engine.
Post Reply
vipin8169
Posts: 4
Joined: Mon Nov 05, 2018 8:26 pm

Help with Bayesian Modeling

Post by vipin8169 »

I was just reading about dynamic Bayesian networks when I came across this Quora post. The answer by Marek J Druzdzel lead me to your website bayesfusion.com. Firstly, I'd like to thank you for making the software free for Academic purposes.
I am a phd student at the Arizona State University, and I am trying to integrate a dynamic Bayesian network (+HMM) in an educational video game that I made using Unity3D. However, I am not well versed in Bayesian and has just started reading about it a few months ago and is thus facing lot of issues while trying to implement it in my game.

The problem that I am trying to model is explained below:

When the level starts they come with a prior knowledge about the topic. For example, if a player is playing a game about balancing chemical equations, then they come with an existing prior knowledge about whether they know how to balance it or not (say P(L) is zero, that they know nothing about it). When they start playing the game, they balance an equation by picking up the molecules that are required to balance the equation, they may pick some distractors (Neon molecules or extra reactants, products during the process). Once they have picked up all the required reactant and product molecules in the desired quantity a quiz appears which asks them to balance the chemical equation. Now they can answer this as right or wrong( i.e. P(Q) is either 0 or 1, depending on whether they answered it correctly or incorrectly). Also, there is a hidden node called probability of knowledge(P(K)) which also has two states (0 and 1), and denotes the latent variable whether they have the required knowledge to balance a chemical equation or not. It may happen that they have the knowledge but answer the question wrongly which is called the probability of slip (P(S)), or they may guess correctly despite having P(K)=0. Now these are the states and nodes for just level 1, there are 5 more levels in the game (total of 6). The learn rate is the probability that a student will transition between the unlearned P(K)=0 and the learned state P(K)=1 after each learning opportunity (or question). The aim of my study is to learn the performance parameters P(S) and P(G), and the learn rate of a student.

Image

Later to add complexity I will include the nodes for distractor as well (which are present in varying quantity on each level), but for now I am just modeling the Bayesian network which is based on this article - http://users.wpi.edu/~zpardos/papers/UMAP_final.pdf

I was looking at the offerings page on the website and I was wondering if you could help me in solving the problem in any manner.

Following is a screenshot of the game showing level 1 when player attempts to pick up a distractor.
Image
Following is a screenshot of the game when quiz appears on level 1:
Image

This is how the network looks likes:
Image
marek [BayesFusion]
Site Admin
Posts: 430
Joined: Tue Dec 11, 2007 4:24 pm

Re: Help with Bayesian Modeling

Post by marek [BayesFusion] »

To start with, I recommend reading up on dynamic Bayesian networks (DBNs). There is a 2002 doctoral dissertation by Kevin Murphy (on the list of references in GeNIe manual) available electronically on the web. There is also an AI textbook by Russell & Norvig (also on the list of references in GeNIe manual), who devote a chapter to DBNs. It will be good for you to get into the spirit of modeling by means of DBNs. I like to think of DBNs as systems of difference equations (this is another possible source of inspiration for you to solve your problem -- you can find papers and books on this in any library). DBNs are cool but are not performing miracles -- you need to understand them at an intuitive level to make them work for you.

As far as your problem goes, it may be a good idea at this point to look at the literature in the field of intelligent tutoring systems (ITS) -- your description rings many bells from papers in that area. Some of the people in ITS used Bayesian networks and influence diagrams and their papers may be relevant to you. I would start with looking for names such as Cristina Conati, Kurt van Lehn, Chas Murray and more recently Yun Huang and then follow up on whoever continued or expanded their work. Who knows, perhaps you can solve your problem using static networks, with an added benefit of simplicity of your models.

This having written, I find your application quite cool.
vipin8169
Posts: 4
Joined: Mon Nov 05, 2018 8:26 pm

Re: Help with Bayesian Modeling

Post by vipin8169 »

Thank you Marek for your input and appreciation.
I went through the course CS188 by UC Berkeley and know a great deal about it now.

None of the paper that I have been through regarding the Bayesian network use it for real-time analysis. Most of them have used the logs generated by a game at a later point of time to feed to a DBN and learn the params from it using EM algorithm. However, in my case I want to infer the parameters at the run-time (and not collects the logs to be analysed later). But it seems like the DBN needs a lot of data to learn the params which won't be available for real-time analysis. Although I fear that the answer is No, but is it possible to achieve this in any way?
marek [BayesFusion]
Site Admin
Posts: 430
Joined: Tue Dec 11, 2007 4:24 pm

Re: Help with Bayesian Modeling

Post by marek [BayesFusion] »

I don't see an easy way off-hand -- Marek
vipin8169
Posts: 4
Joined: Mon Nov 05, 2018 8:26 pm

Re: Help with Bayesian Modeling

Post by vipin8169 »

Thank you Marek for your response.
vipin8169
Posts: 4
Joined: Mon Nov 05, 2018 8:26 pm

Re: Help with Bayesian Modeling

Post by vipin8169 »

Hello Marek
Could you please help with this - https://stackoverflow.com/questions/548 ... ported-dll
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: Help with Bayesian Modeling

Post by shooltz[BayesFusion] »

The answer from the StackOverflow thread is correct; Smile.NET is a mixed mode DLL which contains both native Intel code and Microsoft Intermediate language. This type of DLL is not directly supported by Unity.
Post Reply