0
我有3个状态(即状态是一个向量,在这个例子中向量长度是2),我有概率分布(例如10%状态1,60%状态2,30 %状态3)。我想推导出一个新的状态,即概率*状态的总和。当然,我也需要考虑批次。从Tensorflow中的概率分布计算平均状态
1>计算概率分布,我有一批4个和3个可能性,分布定义如下。
dist = tf.constant([[0.1, 0.6, 0.3], [0.2, 0.4, 0.4], [0.3, 0.5, 0.2], [0.3, 0.6, 0.1]])
2> 3种可能的状态(和4个批次)。这是形状[4,3,2]或[批次,3种可能的状态,状态值]的张量
val = tf.constant([[[10.0, 5.0],[10, 5],[10,5]],[[8, 2],[8, 2],[8, 2]],[[7, 3],[9, 1],[6, 4]],[[1, 2],[3, 4],[5, 6]]])
我想获得[4,2]或[批次,状态值的张量]。在这种情况下,该值应该是
[
[10*0.1 + 10*0.6 + 10*0.3, 5*0.1 + 5*0.6 + 5*0.3],
[8*0.2 + 8*0.4 + 8*0.4, 2*0.2 + 2*0.4 + 2*0.4],
[7*0.3 + 9*0.5 + 6*0.2, 3*0.3 + 1*0.5 + 4*0.2],
[1*0.3 + 3*0.6 + 5*0.1, 2*0.3 + 4*0.6 + 6*0.1]
]
或
[
[10, 5],
[8, 2],
[7.8, 2.2],
[2.6, 3.6]
]
我怎么能这样做呢?谢谢!