def online_em(self, new_labels, w = 0.1, num_it = 3, no_train = False):
if len(new_labels) == 0: return
n = self.lc.n
l = len(new_labels)
self.lc.add_labels(new_labels, l * [None])
self.N = self.lc.n
self.qz = np.hstack((self.qz, np.zeros(l)))
self.maj_lab = np.hstack((self.maj_lab, np.zeros(l)))
self.init_prob(id_range = (n, self.lc.n))
if no_train: return
self.m_step(id_range = (n, self.lc.n), w = w)
for it in range(num_it):
self.e_step(id_range = (n, self.lc.n), w = w)
self.m_step(id_range = (n, self.lc.n), w = w)
评论列表
文章目录