Week 3

Week 3 is over; it’s so crazy that I am 1/4 of the way through this summer already! Things sped up more this week. Rob and I still haven’t gotten into the actual research yet, but we should start next week. This week has been a big learning experience, as you will read in this blog. For the most part, I was able to overcome the obstacles I encountered along the way.


Goals

  1.  Outline Introduction, Draft Methods and Related Work
    • All of this got done, but it will take many iterations to make these sections presentable. Revising will be easier once we get a clearer research goal.
  2. Code a Bayesian Network
    • The foundation for the program Dr. Natarjan wants us to create is in place. We still need functions for performing the math to calculate exact inference. Also, we would like to have a GUI so that the network can be visualized.

Weekend

Saturday was a shopathon. We started bright and early going to the farmer’s market. We then walked down to Vintage Vogue, which is a branch of Goodwill that sells really fashionable clothing. I drove everyone back to the dorms to put stuff up, then packed the van full of people to go to Target for cooking supplies and Kroger’s for food. We barely fit all of the groceries in the back of the van. By the time all of the shopping was done, it was 3 and I was exhausted.

On Sunday, I took Disiah and Thomas to City Church for All Nations. The sermon was about how we need to use the knowledge we gain in scripture to build up others with love, not puff up ourselves with pride. The overall experience was good; the service was high-energy and people were very friendly.

Image result for city church for all nations bloomington in

I spent Sunday afternoon reading. I outlined Chapter 16 of Artificial Intelligence: A Modern Approach, building on the two previous chapters I read on Friday. The author is political, which is funny. He also says some pretty deep things.

Week3_textbook.JPG

Monday

Today was mostly reading. I outlined Chapters 17 and 18 of Artificial Intelligence: A Modern Approach. These chapters were more technical than the previous few I’ve read, which made the reading slower.  Nothing really exciting happened. Max decorated her workspace, which just made mine feel boring. By the end of the week, I want to have something hanging up to look at.

Week3_workspace1.JPG

 

Tuesday

The morning was spent reading Chapter 19.6 of Artificial Intelligence: A Modern Approach. This section was titled “Bayesian Methods for Learning Belief Networks”, which is what we will be dealing with this summer.  It’s the last part of the book that I plan to read. The outline of the book I have is pretty thorough. I feel that if I had it with me, I could teach someone else about the very basics of machine learning.

Nandini, Rob, and I met with Dr. Natarajan in the early afternoon. He told us we need to be meeting with Nandini every day for at least 10 minutes from here on out. That will allow us to ask questions and get direction for our project.

Before we start working with the actual data, Dr. Natarajan wants to make sure we actually understand Bayesian Networks. Over the next week, he wants us to create a program that can read data from a file, construct a network, display the model, and perform inference. Rob and I were both excited that we could start coding and perhaps cut back a bit on the reading.

After the joint meeting, Nandini met with us separately and told us to start programming the basics, such as a node class with conditional probability tables. Rob and I spent the rest of the day planning out the program and coding up a BayesNode class in Java.

Wednesday

GitHub ruined my morning. More aptly, I ruined my morning though my inability to properly use GitHub.

The basics of the Java program we were creating were on my computer and I wanted to share them with Rob. He said that there was an easy way to link Eclipse and GitHub without all of the command-line stuff that I wasn’t comfortable with. Long story short, we spent 3 hours trying to get and use the software to link these two programs and at the end of it, I had somehow deleted all of my CSCI 151 files as well as Eclipse. It’s not the end of the world, the files are still online so I can re-download them. I just got pretty frustrated that things kept getting worse, to the point where stackoverflow was no longer helpful.

At peak frustration, Nandini made an appearance. She said that working with machine learning techniques was easier in Python anyway, so we should just use that. Rob had never used Python before, but I was able to give him a quick rundown while refreshing myself on the subject.

Week3_working.JPG

What I mainly worked on today was a file-reader that could take in a very simple .txt file and create nodes with the information. Tomorrow, I want to make a simple interface to make sure everything is being processed correctly and extend the CPT size so that a node can keep track of conditional probabilities from two parents.

A good portion of my afternoon was spent at the Wednesday Workshop, where several faculty members talked about how to write a good paper. The focus was particularly on the introduction, methods, and related work sections; these sections are our deliverables this week.

Thursday

I spent this morning finishing up the basic node/cpt code for what will become our BayesNet program. You can view what we have so far on GitHub. I know that what I have right now isn’t super efficient and will be scrapped when we start with parameter learning from data files, but at least it’s something.

One setback I had today was in installing NumPy, a Python module for working with multidimensional arrays. After following guides online for an hour, I asked Nandini for help. She told me to uninstall and reinstall Python, then use the terminal to import the module. I tried that, but it’s still not working. I’ll continue to work on it tonight.

Nandini also talked to us briefly about exact inference. Basically, with small networks that have established conditional probability tables, it is possible to exactly calculate the probability of a certain event occurring given the knowledge of other events in the network that have occurred. Exact inference is intractable in larger systems, but the theory behind it is important to understand.

Rob spent the afternoon outlining our paper’s introduction while I worked on drafting the methods and related works section. The related work section was difficult because most of the materials Rob and I read focused on constructing Bayesian Networks rather than using them to model longitudinal changes. As we progress in our research and read more, we will iterate and improve the related work section.

Friday

Not much got done today, but it was a lot of fun. I feel like that will be a pretty consistent theme for Fridays since there are so many meetings and everyone has to wrap up deliverables for the week. The main thing I got done in the morning was decorating my work space with machine learning cheat sheets. It looks a lot sadder than Max’s cubicle, but at least it’s something.

Week3_workspace2.jpg

There where two full ProHealth meetings today. The first was a PowerPoint rundown of everyone’s progress for the week. The second was ProHealth Tea Part II. During the tea, we had the opportunity to ask graduate students questions about their experiences applying for and attending graduate school. I feel like I got a lot out of that session and I hope that we have more like it this summer.

Rob and I also met with Nandini for nearly an hour today. She showed us the variable elimination part of exact inference. Having her talk through it made so much more sense than just reading a series of equations in a textbook. She also worked though an example of multiplying conditional probability tables together and performing variable elimination with them. It’s very doable math if all of the data is accessible.

Week3_Nandini.jpg

Over the weekend, Rob and I are supposed to adapt our code to perform exact inference within our network. I think the math part of it will be pretty easy, but keeping track of everything in the matrix might be a challenge. If I can get numpy to work, it would help a lot.

This evening, most of the ProHealth REU and SROCK students gathered for a baking party in the other girls’ apartment. I didn’t partake in the cooking, but I was a devoted taste-tester. It was a lot of fun because I hadn’t seen several of the students since Week 1. I can’t wait to eat even more of the desserts tomorrow at Dr. Siek’s cookout!

Week3_baking.jpg


Unknown Animal of the Week: Geometric Tortoise

This small South African tortoise’s shell not only protects it from physical attacks, it also helps the creature blend in with it’s environment so that it avoids attacks in the first place.

Conservation Status: Critically Endangered. There are only about 2,000 – 3,000 of these tortoises left. Preserving their natural habitat is especially important because they quickly die in captivity.