Skip to content

Make algorithms work with batched updates#28

Open
eytan wants to merge 2 commits intomasterfrom
eytan/batch_friendly
Open

Make algorithms work with batched updates#28
eytan wants to merge 2 commits intomasterfrom
eytan/batch_friendly

Conversation

@eytan
Copy link
Owner

@eytan eytan commented Feb 22, 2015

Many of the algorithms get stuck on arms, either because they expect
the learner’s counts to be updated from zero, or because it always
selects the first arm with the maximum value (which is just the first
arm, when we initialize an MLELearner object to initially take on some
fixed mean for all arms). This fixes these issues, and makes sure
every arm is played at least once (in cases where this is the expected
behavior), and randomly selects among best arms if there are multiple
best arms. With this change, all algorithms should in expectation
sample from all arms with equal probability during the first batch.

Many of the algorithms get stuck on arms, either because they expect
the learner’s counts to be updated from zero, or because it always
selects the first arm with the maximum value (which is just the first
arm, when we initialize an MLELearner object to initially take on some
fixed mean for all arms).  This fixes these issues, and makes sure
every arm is played at least once (in cases where this is the expected
behavior), and randomly selects among best arms if there are multiple
best arms.  With this change, all algorithms should in expectation
sample from all arms with equal probability during the first batch.
Also make plots a little easier to read.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should use require this information to be provided by the learner. MLELearner did provide this information and so would StreamStats objects.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue is that nobs only gets updated when the learner gets updated, which only happens at the end of the batch.

@johnmyleswhite
Copy link
Collaborator

Made some comments in-line. Let me know if you want help implementing the strategy I proposed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants