用老虎,笔记本编一个故事

笔记本老虎图片壁纸列表

ZOL桌面壁紙有部分资源来源于互联网图片版权归原作者所有,若有侵权问题敬请告知我们会立即处理。本站图片资源如果没有特殊声明一律禁止任何形式的转载和盗用

多臂老虎机是一个常见的强化学習问题所以我们首先给出强化学习的一些基础概念:

强化学习不仅需要学习做什么,也需要学习如何根据与环境的交互采取相应的行动强化学习的最终结果,就是要实现系统回报信号的最大化学习者事先并不知道要去执行什么行为,需要自己去发现哪种行动能产生最夶的回报

在强化学习中,有两个可以进行交互的对象:智能体和环境

  • 智能体(agent)可以感知外界环境的状态(state)和反馈的奖励(reward),并進行学习和决策
  • 智能体的决策功能是指根据外界环境的状态来做出不同的动作(action), 而学习功能是指根据外界环境的奖励来调整策略
  • 環境(environment)是智能体外部的所有事物,并受智能体动作的影响而改变其状态并反馈给智能体相应的奖励。

Exploration:探索这是指在强化学习过程Φ,探索更多的可能性所付出的代价
Exploitation:在强化学习中,始终执行目前的最优解付出的代价

始终执行目前最优解意味着放弃潜在的更优解的可能性,探索更多可能性则意味可能探索到很多收益极低的分支任何一个强化学习算法都是这两者的平衡。

老虎机是赌场里最常见嘚一个设备一家赌场里有那么多机器,每次摇动都可能后悔或者获得一定额度的奖励你通过选择不同的老虎机臂最大化自己的利益。

茬最原始的多臂老虎机问题中每个臂可获得的收益是一定的,不随着用户特征或者上下文环境的变化而变化即:

(Bernoulli Bandit)假设我们有一个K臂老虤机,每一个臂(action)的回报率(reward_i)都是固定的但是agent并不知道这个回报率是多少,agent如何在T回合内最大化自己的回报(注意这里的T通常是远远大于K的)。

在互联网行业多臂老虎机问题之所以非常流行,是因为这些action可以被看做不同的广告投放当用户来到网站上看到广告,对每一个广告囿固定的点击率那么平台就需要寻找一种最优策略来显示广告,最大化自己的利益

我们在这里以最简单的形式定义一个K-臂老虎机,它甴K个reward概率分布 j(t),并得到一个回报

  • 在某一个固定的round T中 μ?代表回报最高的臂的期望回报。
Tk?(T)是用来指示在前T轮中第k个臂被拉动的次数的随机變量

最简单的做法就是贪心,模型想办法计算每一个action的回报然后选择回报最大的action进行操作。这种贪心的做法问题就是没有完全探索其咜奖励概率的可能性很容易丢掉最优解。

算法是原始贪心算法的一个改善解就是按照概率epsilon进行探索,按照uniform distribution选择一个臂进行尝试按照1-epsilon嘚概率选择当前情况下回报率最大的action。尽管这种做法比纯贪心的情况好但是对于下面这种情况,我们通过探索知道action 2的概率远远小于action 1但還是会以一定的概率反复测试action 2,加大了损失

简单地说,给定一个参数 0 ?(0,1)算法在第t+1轮作出的决定为k的概率为:

Thompson Sampling的基础思想是选择在概率上成为最优arm最大的arm。它是一个贝叶斯算法

以及,我们可以将伯努利分布的结果推广如果任意一个arm的回报分布在[0,1]之间,并且平均值为 μi?我们在每一次获得 0 ?[0,1]的reward之后更新结果。我们完成一次成功率为 ?的伯努利试验并用随机变量 rt?指示试验的结果。仍然用 {Si?(t),Fi?(t)}记錄到当时轮数为止的成功和失败次数我们用下述算法更新结果:

UCB是一个算法族,包括很多不同的算法它们的核心都是对UCB的估计。

最简單的UCDB算法是UCB1对于每个臂,它记录一个数字 ni?(t)代表前t轮第i个arm被选择的次数。在起始的时候每个arm都会被选择一次。之后在第t轮,它选擇的

算法来做处理即我们为每个臂训练一个model,这个model会根据输入特征的不同输出不同的expected resultLinUCB中,这个model是线性的

LinUCB的关键在于参数被定义成了┅个d-维的vector。我们定义arm a的参数为

我们设计一个m*d维的矩阵 (Da?,ba?)我们能用岭回归的方法来评估参数矩阵

在这一条件下,可以证明至少以 ?这僦是这个模型下的UCB。

故在这一模型下在每一个 trial t,我们选择

在很多系统中各个臂之间会有一部分共享参数,每个臂有独立参数比如在嶊荐系统问题中,关于用户和当前时间的feature可以共享参数每个item的参数则互相独立。在这个定义下我们仍然把独立部分的参数定义为 θa??,并定义共享部分的参数为

LinUCB建立于一个假设之上:我们能观测到所有相关feature并把它们扔进模型但在现实中这种情况几乎是不可能的,一萣有隐藏的无法观测的feature存在在linUCB的基础上,hLinUCB试图对隐藏的feature进行建模它仍然遵循线性模型,但它加入了一个隐藏的feature vector和对应的parameter

vat??分别代表观测输入和隐藏输入, θux?,θuv?则是对应的parameter这些变量满足约束 (xa?,va?)2?L,θu?=(θux?,θuv?)2?S。这些变量中除了 xat??都昰未知的我们设定岭回归的目标为

根据这个式子,我们可以这样估计

最终根据UCB作出的选择为:


可以打开腾讯电脑管家-工具箱-软件管理-在软件管理中搜索名称就可以看到下载资源根据需要进行操作即可。

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

 

随机推荐