A New Beginning – Kevin

Why machine learning? It all started back in August when I was getting Westtown Resort ready for this school year.

As I briefly mentioned in my previous blog posts, Resort utilizes a MySQL data table that resembles this one:

Date A/B Type
2017-09-05 A
2017-09-06 A
2017-09-07 A
2017-09-08 A
2017-09-11 B
2017-09-12 B
 ⋯  ⋯

The table was named “rotations” because it contains every single school days in the school year as well as their corresponding A/B rotation type. When adding events to a user’s calendar, Resort is essentially iterating through the entries in “rotations” to ensure that the correct events are being entered. The problem with the data table is that is that it must be updated every year to reflect schedule changes. To make matters worse, the process of updating the table needed to be done manually, making it the most excruciating task I have ever done for the Westtown Resort project. After this very unpleasant experience of entering the rotation data for all of the 150 school days in this year, I started to think: what if I can build some kind of program that automatically updates the rotation table?

As I was searching for possible solutions on Google, I noticed that as I typed in my search queries, Google is supplying me with auto complete suggestions that make sense not only syntactically but also contextually. In other words, Google generates its auto complete suggestion based on my search intention. Let’s say that I have been searching for “iOS 11” related topics on Google for the past week. The next time I type in “i”, Google is more likely to suggest “iOS” or “iPhone” than “IKEA” or “Instagram” because it already knows that I have been working on topics related to “iOS 11.” It all boils down one discipline in the field of computer science — machine learning.

Et voilà! Given my pervious knowledge with mathematical modeling, I knew that machine learning is exactly what I have been looking for to automate Resort. With the use of machine learning, Resort will able to “read through” Westtown’s schoolwide calendar and intelligently identify the A and B week dates by interpreting the specific events on a date. Specifically, the beginning of a week can be easily recognized through the event’s name (usually “A Week” or “B Week”). The ending of a week, however, is a little bit more complicated. Through machine learning, a model can be trained to identify possible indicator events such as “Weekend Team #3”, “US Joint Collection” or “Service Network”. As shown in the following illustration, Resort can then use the trained model to infer A/B week rotation type for a specific school day.

2C0F663B-6392-4703-98A7-46836D1F7068

With this in mind, I returned to the independent seminar to purse my interest in the field of machine learning and artificial intelligence. My ultimate goal is not to be able to create a machine learning model of my own but to learn about machine learning and use a trained model to solve an existing problem in the world, using frameworks such as Apple’s CoreML.

In next week’s blog post, I will define what machine learning is, present its applications, and introduce a simple machine learning model. Thanks for reading and see you next week!

Works Cited

DiLuigi, Mike. Artificial Intelligence. 31 Mar. 2017. Dribbble, dribbble.com/shots/3403867-Artificial-Intelligence. Accessed 17 Sept. 2017.

One thought on “A New Beginning – Kevin

  1. alecbarbs

    This is awesome! It’s so wonderful that your work goes straight to the upper school and that many people use it every day! I hope the advancements you continue to work on will be better than before! Good luck!

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s