Отклонение KL от образца не соответствует теоретическому значению - PullRequest
0 голосов
/ 27 ноября 2018

Я обнаружил, что теоретическое значение дивергенции KL между двумя нормальными распределениями определяется следующим образом:

Две теоретические дивергенции KL

Когда я пытаюсь получить значение в некотором образцеЯ получаю значение, которое около 17, а теоретическое значение составляет 200.

Какая причина для этого?

Мой код для теоретического:

x_num_points = 1000000 ; y_num_points = 1000000 ; num_bins = 100
nu1 = 0.0 ; sigma1 = 1.0 ; nu2 = 20.0 ; sigma2 = 1.0
np.random.seed(0)
x = np.random.normal(loc = nu1, scale = sigma1, size = x_num_points)
np.random.seed(1)
y = np.random.normal(loc = nu2, scale = sigma2, size = y_num_points)
theo_kl = np.log(sigma2/sigma1) + (sigma1**2 + (nu1 - nu2)**2)/(2*sigma2**2) - 1/2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...