Products
GG网络技术分享 2025-10-28 02:52 1
差不离全部Off-Policy方法都用关键性抽样,这是一种给出来自另一个分布下的预期值的通用手艺。在应用程序中,Off-Policy方法也有各种其他用途。在本节中,我们将展示怎么不用不切实际的探索开头的虚假设来设计一个On-Policy蒙特卡罗控制方法。
关键性抽样是另一种Off-Policy算法。它与Q-Learning算法一样,学最优策略,但用的是返回和估摸着的概率分布函数,而不是动态规划。在关键性抽样中,我们从一组行为和状态序列中分离出老策略和新鲜策略。然后我们用新鲜策略下的返回来更新鲜Q值函数,从而使新鲜策略一点点收敛到最优策略。

Off-Policy方法在自动驾驶、 游戏AI、推荐系统、机器人技能学等领域有广泛应用。Off-Policy方法能利用从其他策略中得到的经验进行学, 也就是说它在进行策略更新鲜时能借鉴其他策略的经验。
def importance_sampling:
behavior_policy = create_random_policy
target_policy = create_random_policy
Q = defaultdict)
C = defaultdict)
for i_episode in range:
episode = generate_episode
G = 0
W = 1
for t in range):
state, action, reward = episode
G = discount_factor * G + reward
C += W
Q += *
if action != np.argmax):
break
W = W * )
return Q
Off-Policy方法的优良处是能避免政策收敛到错误的最优策略, 一边还能在集外的情况下训练和评估,基本上原因是它用两个不同的策略进行评估。只是Off-Policy方法的不优良的地方是需要一巨大堆的样本来解决问题,并且在有些情况下兴许会出现问题。
Off-Policy方法在长远尾场景下的应用效果显著,以后有望在更许多领域得到应用。欢迎用实际体验验证观点。
Demand feedback