Вооруженный бандитами: почему мы увеличиваем награду на 1, когда случайная вероятность меньше вероятности успеха, назначенной бандиту - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь понять проблему многорукого бандита, используя python.Я продолжаю сталкиваться с частями кода, которые возвращают значения 1 (т.е. вознаграждения), когда случайная вероятность меньше вероятности успеха назначенного бандита.пожалуйста, смотрите код ниже

def reward(prob):
    reward = 0;
    for i in range(10):
        if random.random() < prob:
            reward += 1
    return reward

Я получил это по следующей ссылке: http://outlace.com/rlpart1.html

Также я видел нечто подобное на другой странице GitHub.Исходя из первой ссылки, что такое интуиция за функцией вознаграждения (как она похожа на интуитивную роль одного действующего бандита) и, наконец, почему мы назначаем вознаграждение в 1, когда оно меньше вероятности.конечно, это должно быть наоборот, если я не ошибаюсь.Спасибо.

1 Ответ

0 голосов
/ 23 марта 2019

Эта функция вознаграждения не будет существовать, если у вас есть фактические данные о том, какая рука была выбрана, и метка успеха.

Насколько я понимаю, вы делаете это, потому что у вас нет фактических данных ответа на данные.Другими словами, вы показываете руки, вы не знаете, привели ли они к успеху (1) или нет (0).

Таким образом, вы просто предполагаете, что если вероятность равна 0,7, 70% вероятности вы получите 1. Как переменная Бернулли с вероятностью успеха 0,7.Этот random.random () предназначен для вас.Чем больше вероятность (вероятность успеха руки), тем больше вероятность того, что вы получите награду.

...