You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在tf-agents中获取所有动作对应的概率向量

多臂老虎机智能体全动作概率获取方案

LinearUCBAgent 处理逻辑

LinearUCB 属于确定性策略,原生逻辑只返回UCB得分最高的单个动作,要获取全动作概率可以按以下步骤处理:

  • 遍历所有候选动作,逐个计算对应UCB得分:
    公式为 UCB(a) = θ^T · x_a + α * sqrt(x_a^T · A_a^{-1} · x_a)
    其中θ是模型学习到的线性权重,α是预设的探索系数,x_a是动作a的特征向量,A_a是动作a的协方差矩阵
  • 对所有动作的UCB得分做softmax归一化得到选择概率:
    公式为 P(a) = exp(UCB(a)/τ) / sum(exp(UCB(k)/τ) for k in 所有动作)
    τ为温度系数,值越大概率分布越平缓,越小越接近原生贪心策略的选择偏好
  • 排序场景下可以直接跳过概率计算,用原始UCB得分作为排序依据,排序结果和按概率排序完全一致。

LinearThompsonSamplingAgent 处理逻辑

LinearTS 属于随机策略,获取全动作概率有两种常用方案:

  • 蒙特卡洛采样法(精度高):
    对当前后验分布 θ ~ N(μ, Σ) 进行至少1000次采样,每次采样后计算所有动作的期望回报,统计每个动作成为当前最优动作的次数占比,即为该动作的选择概率
  • 闭式近似法(速度快):
    两两计算动作间的胜出概率,通过Plackett-Luce模型聚合得到所有动作的选择概率,适合对延迟要求高的在线排序场景,精度略低于采样法
  • 排序场景下也可以直接用每个动作的后验期望回报作为排序依据,和概率排序的TopK结果差异极小。

如果你使用的是RLlib、MABWiser这类第三方库的内置智能体,仅需要修改predict方法的输出逻辑,不用调整核心参数更新逻辑:把原逻辑中返回最大得分对应动作的部分,改为返回所有动作的得分/概率数组即可。

内容的提问来源于stack exchange,提问作者Kushal Jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 11:27:05