Supervised Learning - Falmouth-Games-Academy/comp250-wiki GitHub Wiki
Learning to discern,
The data from the darkness,
Eyes in the forest
[1] "Supervised learning is the algorithmic process of approximating the underlying function between labelled data and their corresponding attributes or features".
This process has many uses within applications as listed by Georgios N. Yannakakis and Julian Togelius [1]:
- Financial services
- Medical diagnosis
- Fraud detection
- Web page categorization
- Image and speech recognition
- User modelling
As said by Georgios N. Yannakakis [1] "The ultimate goal of supervised learning is not to merely learn from the input-output pairs but to derive a function that approximates (better, imitates) their relationship." Which means that the function should still be useful when used with completely new data examples as it expands beyond simple spot the difference algorithm into a machine that can recognize any item and its attributes almost instantly. In contrast, Unsupervised Learning, searches for groups or clusters within the unidentified input data to find its structure instead of looking at the features of the output to identify a set of data.
An example of a classification problem being [3]" Cases such as the digit recognition example, in which the aim is to assign each input vector to one of a finite number of discrete categories, are called classification problems." However, [3] "If the desired output consists of one or more continuous variables, then the task is called regression. An example of a regression problem would be the prediction of the yield in a chemical manufacturing process in which the inputs consist of the concentrations of reactants, the temperature, and the pressure."
Machine learns to recognize a set of data examples by the amount of data that is currently available which contains features(inputs) on one side and the label(outputs) given for the data on the other. Here is how it would work step-by-step:
- Determine the type of training example.
- Gather a training set.
- Determine the input feature representation of the learned function. Typically, the input object is transformed into a feature vector, which contains a number of features that are descriptive of the object.
- Determine the structure of the learned function and corresponding learning algorithm.
- Complete the design. Run the learning algorithm on the gathered training set.
- Evaluate the accuracy of the learned function.
Once this method is complete if any other similar labelled data appears then the machine will be able to tell which one it could be just by using the attributes that were collected earlier.
An alternative method exists which is based on calculating the [2] "density of the data". As said by [2] Zoubin Ghahramani "No distinction is made between input and output variables; the joint density is estimated and this estimate is then used to form an input/output map." This approach can be used in both supervised learning and unsupervised learning. However, the only difference is that [2] "portion of the data vector is denoted as "input" and another portion as "target". This method ignores the input/outputs completely which can cause problems when there are missing values or incomplete data. Furthermore, [2] "having an estimate of the joint density allows for the representation of any relation between the variables." Which means that having an approximate result of the joint density allows us to see if the variables relate to each other based on the data gathered.
Here is a picture which represents the differences between Supervised Learning and Unsupervised Learning:
[1] G. Yannakakis and J. Togelius, Artificial intelligence and games. Cham: Springer International Publishing, 2018.
[2] Ghahramani, Zoubin, and Michael I. Jordan. "Supervised learning from incomplete data via an EM approach." Advances in neural information processing systems. 1994.
[3] Bishop, Christopher M. "Pattern recognition and machine learning", 2006.
