【问题标题】:Vowpal Wabbit Contextual Bandit correct usageVowpal Wabbit Contextual Bandit 正确用法
【发布时间】:2022-09-30 02:27:29
【问题描述】:

我目前正在使用 Vowpal Wabbit 包来模拟上下文强盗。关于图书馆的使用,我有几个问题:

  1. 我有多个操作相交的上下文/类别。例如,假设我有 A 队、B 队和 C 队的球衣。这些球衣有 S、M 和 L 码。根据过去的需求,我想推荐一种球衣尺寸来生产。

    上下文 - 团队 A、团队 B、团队 C 动作 - S、M 和 L

    每个上下文都有相同的操作集可供选择。我希望 Vowpal Wabbit 了解每个上下文都是不同的,并创建单独的动作空间分布。 Vowpal Wabbit 对所有上下文中的操作使用相同的分布/pmf。

    因此,如果团队 A 是上下文 - 几次运行后分布为 [0.1, 0.8, 0.1]。 B 队也有相同的分布 [0.1, 0.8, 0.1],尽管大众没有将此视为输入,理想情况下我希望它从 [0.33,0.33,0.33] 开始

    有没有办法可以利用大众来区分上下文并给它们单独的分布?

    我正在使用以下设置模拟带有 Vowpal Wabbit 的 Contextual Bandit - \"--cb_explore_adf --save_resume --quiet --epsilon 0.1\"

    1. 我还想知道是否有一种方法可以访问/查看基础学习策略?不同的分布或学习的策略存储在哪里?

    谢谢

  • 请提供足够的代码,以便其他人可以更好地理解或重现该问题。

标签: python reinforcement-learning vowpalwabbit bandit


【解决方案1】:

为了让 VW 了解每个上下文是不同的,您需要添加“-q CA”来做上下文特征和动作特征之间的特征交互。由于你已经和 A 队一起训练了模型,所以在 B 队训练时,模型的权重已经更新,不再是统一随机的了。也许您可以尝试添加--ignore_linear C 和--ignore_linear A?也很好奇为什么你希望 B 组的动作分布是均匀随机的?

要访问/查看学习的策略,您可以尝试“--readable_model READABLE_MODEL_PATH”。要保存不同的分布,您可以执行“-p PREDICTION_FILE_PATH”,以保存学习的策略“-f MODEL_PATH”。有关学习策略的更多选项:https://vowpalwabbit.org/docs/vowpal_wabbit/python/latest/command_line_args.html#output-model-options

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-09
    • 2018-01-20
    • 2015-08-11
    • 2013-04-07
    • 2015-01-06
    • 2013-12-15
    • 2021-10-09
    • 2014-08-29
    相关资源
    最近更新 更多