zoukankan      html  css  js  c++  java
  • Policy-based 强化学习中的几种采样方法

    1.tf.random.categorical()

    tf.random.categorical(tf.math.log([[0.5,0.5]]), 5)
    Out[26]: <tf.Tensor: id=2523670, shape=(1, 5), dtype=int64, numpy=array([[0, 0, 1, 0, 1]], dtype=int64)>

    前一个参数是概率取log,后一个是采样次数,返回的是选中的动作位置,比如这里0对应输入概率矩阵[[0.5, 0.5]]中的第一个,1对应第二个

    2.np.random.choice(a, size=None, replace=True, p=None)

     
    表示从a中随机选取size个数
    replace =True表示放回,vice versa
    p表示每个元素被抽取的概率,如果没有指定,a中所有元素被选取的概率是相等的。
     
    由以上,a和p中的元素是存在一一对应的关系的,a填入单独数字n时,默认取值范围为[0, n)的整数
    np.random.choice([1,2,3,4,5], 3, p=[0.1, 0, 0.3, 0.6, 0])
    Out[30]: array([4, 1, 4])
  • 相关阅读:
    BBS
    BBS
    BBS
    BBS
    6.1
    Django
    Django
    tomcat——启动项目报错:java.lang.IllegalStateException
    Java——java.lang.NullPointerException
    Java——反射三种方式的效率对比
  • 原文地址:https://www.cnblogs.com/ZAmateur/p/12355645.html
Copyright © 2011-2022 走看看