zoukankan      html  css  js  c++  java
  • 强化学习学习笔记(三)-蒙特卡洛(MC)的无模型预测和控制

    学习目标

    1.了解预测与控制之间的区别
    2.知道如何使用MC方法预测状态值和状态-动作值
    3.了解基于同策略的首次访问MC控制算法
    4.了解异政策的MC控制算法
    5.了解加权重要性抽样
    6.了解MC算法比动态规划方法的优势

    总结

    1.动态规划方法假定完全了解环境(MDP)。 在实践中,我们通常对世界的运作方式并不完全了解。
    2.蒙特卡洛(MC)方法可以直接从与环境互动中收集的经验中学习。 经验集是一系列(状态,动作,奖励,下一状态)元组。
    3.MC方法基于情节工作。 我们对经验集进行抽样,并在每一集结束时对我们的估计值进行更新。 MC方法具有较高的方差(由于情节内有许多随机决策),但无偏见。
    4.MC策略评估:给定策略,我们想估计状态值函数V(s)。 对经验集进行抽样,并估计V(s)是从该状态开始获得的所有体验的平均值。 相同的技术适用于动作值函数Q(s,a)。 给定足够的样本,这被证明可以收敛。
    5.MC控制:想法与动态规划相同。 使用MC策略评估来评估当前策略,然后贪婪地改进策略。 问题:如果我们不了解整个环境,如何确保我们探索所有状态?
    6.解决勘探问题的方法:使用epsilon-greedy策略而非完全贪婪策略。 做出决定时,概率为ε。 这将学习最佳ε贪婪策略。
    7.异策略学习:在遵循探索性(ε贪婪)策略的同时,我们如何了解实际的最佳(贪婪)策略? 我们可以使用重要性抽样,它通过我们想要了解的策略根据回报发生的可能性来衡量回报。

    简介

    在本章中,我们将考虑我们的第一种学习方法,用于估计价值函数和发现最优策略。 与上一章不同,这里我们不假定您对环境有完整的了解。蒙特卡洛方法仅需要经验,即从与环境的实际或模拟交互中获得的状态,动作和奖励的样本序列。为了确保有明确定义的收益可用,这里我们仅针对情节任务定义蒙特卡洛方法。 也就是说,我们假设经验被分为几集,并且无论选择什么动作,所有集最终都会终止。 仅在情节完成时,价值估计和策略才会更改。

    Monte Carlo Prediction

    在计算值函数时,蒙特卡洛方法是利用经验平均代替随机变量的期望。此处,我们要理解两个词,何为平均?何为经验?
    首先看何为经验:
    当要评估智能体的当前策略时,我们可以利用策略产生很多次实验,每次实验都是从任意的初始状态开始直到终止状态,比如一次实验(an episode)为:({S_1},{A_1},{R_2}, cdots ,{S_T})计算一次实验中状态s处的折扣回报返回值为:
    ({G_t}left( s ight) = {R_{t + 1}} + gamma {R_{t + 2}} + cdots {gamma ^{T - 1}}{R_T})
    所谓经验,是指利用该策略做很多次试验,产生很多幕数据。这里一幕是一次试验的意思。
    再来看什么是平均:
    这个概念很简单,平均就是求均值。不过,利用蒙特卡罗方法求状态处的值函数时,又可以分为第一次访问蒙特卡罗方法和每次访问蒙特卡罗方法。
    第一次访问蒙特卡罗方法是指,在计算状态s处值函数时,只利用每次试验中第一次访问到状态s时的返回值。每次访问蒙特卡罗方法是指,在计算状态s处的值函数时,利用所有访问到状态s时的回报返回值

  • 相关阅读:
    iOS BUG整理-记录我近期视频开发遇到的问题
    iOS 翻译-UIWebView的基本简介-官方文档翻译
    iOS 翻译-Xcode使用-文档翻译
    4.redis设计与实现--跳跃表
    3.redis设计与实现--字典
    2.redis设计与实现--链表
    1.redis设计与实现--简单动态字符串
    12.编码问题讨论
    11.nginx upload module + python django 后台 实现视频上传与切片
    10.nginx+ffmpeg上搭建HLS切片
  • 原文地址:https://www.cnblogs.com/feifanrensheng/p/13447252.html
Copyright © 2011-2022 走看看