From 7fdfc57ad07981b1a22a7f091ca6c4a64123a7d0 Mon Sep 17 00:00:00 2001
From: SebastianBruijns <>
Date: Fri, 23 Sep 2022 20:19:13 +0200
Subject: [PATCH] real fix

---
 pybasicbayes/distributions/multinomial.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pybasicbayes/distributions/multinomial.py b/pybasicbayes/distributions/multinomial.py
index f779c84..e13624f 100644
--- a/pybasicbayes/distributions/multinomial.py
+++ b/pybasicbayes/distributions/multinomial.py
@@ -111,13 +111,13 @@ class Categorical(GibbsSampling, MeanField, MeanFieldSVI, MaxLikelihood, MAP):
             self.weights = np.random.dirichlet(self.alphav_0 + counts)
         except ZeroDivisionError as e:
             # print("ZeroDivisionError {}".format(e))
-            self.weights = np.random.dirichlet(self.alphav_0 + 0.03 + counts)
+            self.weights = np.random.dirichlet(self.alphav_0 + 0.01 + counts)
         except ValueError as e:
             # print("ValueError {}".format(e))
-            self.weights = np.random.dirichlet(self.alphav_0 + 0.03 + counts)
+            self.weights = np.random.dirichlet(self.alphav_0 + 0.01 + counts)
         if np.isnan(self.weights).any():
-            self.weights = np.random.dirichlet(self.alphav_0 + 0.03 + counts)
-        np.clip(self.weights, np.spacing(1.), np.inf, out=self.weights)
+            self.weights = np.random.dirichlet(self.alphav_0 + 0.01 + counts)
+        np.clip(self.weights, np.spacing(1.), 1-np.spacing(1.), out=self.weights)
         # NOTE: next line is so we can use Gibbs sampling to initialize mean field
         self._alpha_mf = self.weights * self.alphav_0.sum()
         assert (self._alpha_mf >= 0.).all()
-- 
GitLab