Before I get into specific machine learning algorithms and ideas, I thought it would be best to look at machine learning from farther back. In this post I am going to wrap my head around the basic definition of machine learning along with some of the different learning styles that machine learning algorithms are categorized by. My hope is that this preliminary research will give me the basic understanding that I need to start looking into more specific ideas and solutions while also maybe focusing my interests for my project.
After my preliminary research I have found that the definition of machine learning varies wildly depending on the field and purpose for which it’s used. Like all algorithms, those used in machine learning take input data and aim to create an accurate output result. In general, what differentiates machine learning algorithms is their ability to ‘learn’ or decipher the model which connects the input data and result and even adjust this model over time to remain as accurate as possible.
Jason Brownlee has some wonderful descriptions of the different learning styles that algorithms use (link). I’ve done some other digging as well and tried to put some of the definitions into my own words as I understand them.
Supervised learning seems to be the most common implementation of machine learning. In this setup, an algorithm uses known data with known results to create a model which describes their relationship. This model is then tested and refined with new data by seeing how accurate the results are. The supervised part comes from this need to ‘train’ the algorithm with test data and refine it before implementation.
The idea here is that the algorithm will attempt to create a model to relate input data without having any predefined data sets to learn from or predefined responses/results. This type of algorithm in often used for clustering data and is also very good at finding hidden patterns within data. One of the main differences here is that there is no way for the algorithm to be told if a result is correct of accurate, drastically changing the workflow.
This is used when there are both known and unknown data samples.
So far, this is the type of machine learning that I am most interested in. Reinforcement learning is when the algorithm is not trained, but given a set of metrics which are used to measure the success of its decisions. This creates an inherent trial-and-error type system, where the algorithm must discover the actions and decisions which yield the best results. It should then favor these actions but must also continue to explore new options to see if there are better outcomes.
Looking forward to games:
In the coming weeks, I will look at how machine learning is and can be applied to games. After this initial research, I think that reinforcement learning will be the most interesting learning style to explore. It also seems as though it’s structure lends itself very well to the interactive nature of video games. Reinforcement learning’s ability to explore and adapt makes it a good choice for player-specific decision making. If the algorithm is making decisions which affect the game world, the player will be constantly interacting with that world and providing indirect feedback to the algorithm. This seems like a great environment to setup reinforcement-style metrics.
“Supervised Learning (Machine Learning) Workflow and Algorithms.” Supervised Learning (Machine Learning) Workflow and Algorithms. MathWorks, n.d. Web. 2 June 2014. <http://www.mathworks.com/help/stats/supervised-learning-machine-learning-workflow-and-algorithms.html>
“Unsupervised Learning.” Supervised Learning (Machine Learning) Workflow and Algorithms. MathWorks, n.d. Web. 2 June 2014. <http://www.mathworks.com/discovery/unsupervised-learning.html>.
Brownlee, Jason. “Practical Machine Learning Problems.” Machine Learning Mastery. N.p., 17 Nov. 2013. Web. 2 June 2014. <http://machinelearningmastery.com/what-is-machine-learning/>.
Brownlee, Jason. “Practical Machine Learning Problems.” Machine Learning Mastery. N.p., 23 Nov. 2013. Web. 2 June 2014. <http://machinelearningmastery.com/practical-machine-learning-problems/>.
Brownlee, Jason. “A Tour of Machine Learning Algorithms.” Machine Learning Mastery. N.p., 25 Nov. 2013. Web. 2 June 2014. <http://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/>.
Sutton, Richard, and Andrew Barto. “Reinforcement Learning.” Reinforcement Learning: An Introduction . Cambridge, Massachusetts: The MIT Press. Print.
Taiwo Oladipupo Ayodele (2010). Types of Machine Learning Algorithms, New Advances in Machine Learning, Yagang Zhang (Ed.), ISBN: 978-953-307-034-6, InTech, DOI: 10.5772/9385. Available from: http://www.intechopen.com/books/new-advances-in-machine-learning/types-of-machine-learning-algorithms