2017-10-17 1 views
0

Tensorflow에서 변형 된 다 변수 분포의 로그 pdf를 평가하려고합니다. 샘플을 정확하게 샘플링하지만, 하나의 샘플에 대해 두 개의 개별 로그 확률을 생성합니다. 예 샘플은 하나의 로그 확률 대신Tensorflow에서 변형 된 다 변수 표준의 PDF를 평가 하시겠습니까?

[[ 2.64074564, -4.21384382]] 

의 로그 확률값을 반환

[[ 1.05516054e-03, 1.50635891e+01]] 

것이다.

이 내용을 명확하게하기 위해, 나는 재현 가능한 예제를 첨부했습니다. (호기심 누구나)

from tensorflow.contrib.distributions.python.ops import bijectors as bijector 

ds = tf.contrib.distributions 

mean = tf.constant([-5., 15.]) 
chol = tf.constant([[0.77909118, 0.], 
       [-0.02230092, 0.8150183]]) 

mvn_sftpls = ds.TransformedDistribution(distribution=ds.MultivariateNormalTriL(
loc=mean, scale_tril=chol), bijector=bijector.Softplus()) 

sample = mvn_sftpls.sample(1) 
output = mvn_sftpls.log_prob(sample) 

with tf.Session() as sess: 
    print(sess.run(output)) 

답변

0

답변 다변량 표준 치수의 적절한 수의 상기 softplus bijector에서 event_ndims 설정 하였다. 내 경우 :

bijector=bijector.Softplus(event_ndims = 1)