Machine learning: Difference between revisions
Mr. MacKenty (talk | contribs) |
|||
(10 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks.[1] It is seen as a part of artificial intelligence. Machine learning algorithms build a model based on sample data, known as training data, in order to make predictions or decisions without being explicitly programmed to do so. Machine learning algorithms are used in a wide variety of applications, such as in medicine, email filtering, speech recognition, and computer vision, where it is difficult or unfeasible to develop conventional algorithms to perform the needed tasks.<ref>https://en.wikipedia.org/wiki/Machine_learning</ref> | Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks.[1] It is seen as a part of artificial intelligence. Machine learning algorithms build a model based on sample data, known as training data, in order to make predictions or decisions without being explicitly programmed to do so. Machine learning algorithms are used in a wide variety of applications, such as in medicine, email filtering, speech recognition, and computer vision, where it is difficult or unfeasible to develop conventional algorithms to perform the needed tasks.<ref>https://en.wikipedia.org/wiki/Machine_learning</ref> | ||
<html> | |||
<iframe width="560" height="315" src="https://www.youtube.com/embed/5q87K1WaoFI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe> | |||
</html> | |||
<html> | |||
<iframe width="560" height="315" src="https://www.youtube.com/embed/aircAruvnKk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe> | |||
</html> | |||
<html> | |||
<iframe width="560" height="315" src="https://www.youtube.com/embed/ukzFI9rgwfU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe> | |||
</html> | |||
<html> | |||
<iframe width="560" height="315" src="https://www.youtube.com/embed/nKW8Ndu7Mjw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe> | |||
</html> | |||
== The recommender problem == | == The recommender problem == | ||
Line 15: | Line 34: | ||
* Context | * Context | ||
== | == A way to approach this problem == | ||
One way to estimate a utility function that predicts how a user will like an item is to use a machine learning model that takes as input the past behavior of the user, the relation of the user to other users, the similarity of the item to other items, and the context in which the item is being presented. The output of the model would be a prediction of how much the user will like the item. | One way to estimate a utility function that predicts how a user will like an item is to use a machine learning model that takes as input the past behavior of the user, the relation of the user to other users, the similarity of the item to other items, and the context in which the item is being presented. The output of the model would be a prediction of how much the user will like the item. | ||
Line 47: | Line 66: | ||
# [[Cost function]] | # [[Cost function]] | ||
# [[F-measure]] | # [[F-measure]] | ||
# [[Precision]] | |||
# [[Recall]] | |||
# [[Right to anonymity]] | |||
# [[Right to privacy]] | |||
# [[Matrix factorization]] | |||
# [[Hyperparameter]] | # [[Hyperparameter]] | ||
# [[K-nearest neighbour (k-NN) algorithm]] | # [[K-nearest neighbour (k-NN) algorithm]] | ||
# [[ | # [[Backpropagation]] | ||
# [[Mean absolute error (MAE)]] | # [[Mean absolute error (MAE)]] | ||
# [[Overfitting]] | # [[Overfitting]] | ||
# [[Popularity bias]] | # [[Popularity bias]] | ||
# [[Reinforcement learning]] | # [[Reinforcement learning]] | ||
# [[Root-mean-square error (RMSE)]] | # [[Root-mean-square error (RMSE)]] | ||
# [[Stochastic gradient descent]] | # [[Stochastic gradient descent]] | ||
# [[Training data]] | # [[Training data]] | ||
not listed in case study but perhaps useful: | |||
# [[Binary classification model]] | |||
== Examples == | == Examples == |
Latest revision as of 07:29, 19 May 2023
Introduction[edit]
Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks.[1] It is seen as a part of artificial intelligence. Machine learning algorithms build a model based on sample data, known as training data, in order to make predictions or decisions without being explicitly programmed to do so. Machine learning algorithms are used in a wide variety of applications, such as in medicine, email filtering, speech recognition, and computer vision, where it is difficult or unfeasible to develop conventional algorithms to perform the needed tasks.[2]
The recommender problem[edit]
Estimate a utility function that automatically predicts how a user will like an item[3]
Based on:
- Past behavior
- Relation to other users
- Item similarity
- Context
A way to approach this problem[edit]
One way to estimate a utility function that predicts how a user will like an item is to use a machine learning model that takes as input the past behavior of the user, the relation of the user to other users, the similarity of the item to other items, and the context in which the item is being presented. The output of the model would be a prediction of how much the user will like the item.
To build such a model, you would need to gather data on users' past behavior, including ratings or preferences for different items. You would also need data on the relationships between users, such as whether they are friends or share similar interests. The item similarity data could be based on the features of the items or on their co-occurrence with other items in past user behavior. The context in which the item is presented could include information such as the time of day, the user's location, and the user's current activity or task.
Using this data, you could train a machine learning model, such as a decision tree, random forest, or neural network, to predict the user's preference for an item based on these factors. The model could then be used to estimate the utility of an item for a particular user by making a prediction of how much the user will like the item based on the input features.
Approaches to recommendation[edit]
- Collaborative filtering: recommend on past behavior
- User based: recommend what other users like who are like me
- Item based: find similar items to those I have previously liked
- Content-based: Recommended based on item features
- Personalized learning to rank: treat recommendations as a tranking problem
- Demographic: recommend based on user features
- Social-recommendations: trust-based
- Hybrid: any combination of the above
Terminology[edit]
- Behavioural data
- Cloud delivery models:
- Cloud deployment models
- Collaborative filtering
- Content-based filtering
- Cost function
- F-measure
- Precision
- Recall
- Right to anonymity
- Right to privacy
- Matrix factorization
- Hyperparameter
- K-nearest neighbour (k-NN) algorithm
- Backpropagation
- Mean absolute error (MAE)
- Overfitting
- Popularity bias
- Reinforcement learning
- Root-mean-square error (RMSE)
- Stochastic gradient descent
- Training data
not listed in case study but perhaps useful:
Examples[edit]
An excellent, and I truly mean excellent example is MarI/O, a machine learning program that learns how to play mario, and mario kart.
- Super Mario World: https://www.youtube.com/watch?v=qv6UVOQ0F44
- Mario Kart: https://www.youtube.com/watch?v=S9Y_I9vY8Qw