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中所有元素被选取的概率是相等的。
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])