Ejemplo n.º 1
0
 def load_data(self):
     """
     Loads data from disk and stores it in memory.
     data[0], data[1]: (batch_size, num_steps, time_stamps)
     """
     data = DataGenerator(self.config.data_type)
     self.train_data = np.array(data.generate_data(self.config.batch_size, self.config.num_steps, data_set='train'))
     self.valid_data = np.array(data.generate_data(self.config.batch_size, self.config.num_steps, data_set='valid'))
     self.test_data = np.array(data.generate_data(self.config.batch_size, self.config.num_steps, data_set='test'))
Ejemplo n.º 2
0
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import multivariate_normal as mnorm
from scipy.special import logsumexp
from utils import PlotGmm, DataGenerator

## Generate Data
n = 1000
dg = DataGenerator(n)
x, z = dg.generate_data()

## Plot GMM
plot_gmm = PlotGmm()
plot_gmm.plot_data(x, z, dg.mu, dg.cov, dg.pi)

## Initial Parameters
khat = 2
pi_hat = np.random.uniform(size=khat)
pi_hat /= pi_hat.sum()
mu_hat = np.random.normal(size=(khat, 2))
cov_hat = np.zeros((khat, 2, 2))
for s in cov_hat:
    np.fill_diagonal(s, np.random.uniform(size=(2, )))

# Collapse one component
# pi_hat[-1] = 0.01
# pi_hat /= pi_hat.sum()
# mu_hat[-1] = x[0]
# cov_hat[-1] = np.eye(2) * 1e-20
# ax.plot(*mu_hat[-1], ms=20, marker='o', mfc="None", lw=3)