Я пытаюсь обернуться вокруг выборки в Байесовских сетях (пока простая неоптимизированная предварительная выборка).Из того, что я понимаю, идея состоит в том, чтобы произвести ограниченное количество образцов и посмотреть, как они распространяются по сети.Я не понимаю, почему генератор случайных чисел необходим для этого процесса.
Предположим, у вас есть узел случайной величины с условным распределением вероятности (CPD) следующим образом:
| Color | P(Color) |
|------------------|
| Red | 0.1 |
| Green | 0.2 |
| Blue | 0.7 |
ТогдаВведение, которое я мог найти, говорит, что для каждого образца, который вы хотите взять, вы должны вызвать функцию random () , дающую, например, что-то в [0.0, 1.0) , и затем проверить, в который подинтервал Красный: [0,0, 0,1) , Зеленый: [0,1, 0,3) или Синий: [0,3, 1,0) падает.
Мой вопрос: зачем вообще вызывать генератор случайных чисел?В конце концов, у вас есть ваши вероятности прямо перед вами.Если вы решите заранее, что вы хотите создать количество n семплов, не могли бы вы просто иметь 0.1 * n семплов Red, 0.2 * n сэмплов зеленого цвета, а 0,7 * n сэмплов голубого цвета?Для дочернего узла с его CPD вы могли бы затем разделить все красные, зеленые и синие выборки в соответствии с их соответствующими условными вероятностями, снова без использования генератора случайных чисел.
Это все равно будет приблизительное значение, поскольку вы все еще не рассуждаете о полном совместном распределении вероятностей.И в пределе это все равно должно приближаться к корректным условным вероятностям для n -> бесконечность , не так ли?