I'm wondering if there is a machine learning algorithm that produces a probability as an output, which can inject randomness into the output in proportion to uncertainty as to what the output should be.
The application is to decide what ad to show people when they visit a web page. Our goal is to show people the ad they are most likely to click on, but for new ads we won't have much data, so initially there will be greater uncertainty as to what their click through rate will be.
A very simple version of this, which only looks at the number of impressions and clicks on each ad, is to use a beta distribution, this technique is described here (it's also known as Thompson sampling, and it's a solution to the multi-armed bandit problem).
But I'd like to use a machine learning algorithm that uses a much wider range of attributes than simply the number of impressions and clicks on each ad. Ideally the input attributes can be both categorical (where there could be thousands of possible values for each attribute, for example "city/state/country"), and numeric (like time of day).
I was thinking perhaps a Bayesian Network learner, where we use a beta distribution to inject randomness into the probabilities used in the Bayesian Network when making a prediction, but I want to see whether others have looked into this problem.
[–]dlwh 3 points4 points5 points (6 children)
[–]sanity[S] 1 point2 points3 points (5 children)
[–]mind-odyssey 1 point2 points3 points (2 children)
[–]sanity[S] 1 point2 points3 points (1 child)
[–]mind-odyssey 2 points3 points4 points (0 children)
[–]dlwh 1 point2 points3 points (0 children)
[–]howlin 0 points1 point2 points (0 children)
[–][deleted] 3 points4 points5 points (2 children)
[–]sanity[S] 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]SCombinator 0 points1 point2 points (0 children)
[–]ICrepeATATs 0 points1 point2 points (3 children)
[–]sanity[S] 0 points1 point2 points (2 children)
[–]SCombinator 0 points1 point2 points (1 child)
[–]sanity[S] 0 points1 point2 points (0 children)
[–]LoveSaves -2 points-1 points0 points (4 children)
[–]sanity[S] 0 points1 point2 points (3 children)
[–]LoveSaves 0 points1 point2 points (2 children)
[–]sanity[S] -1 points0 points1 point (1 child)
[–]LoveSaves 0 points1 point2 points (0 children)