INNER CODE UNIT · Python
data_preparation
drawbridge/keras-mmoe · synthetic_demo.py:34
def data_preparation():
# Synthetic data parameters
num_dimension = 100
num_row = 12000
c = 0.3
rho = 0.8
m = 5
# Initialize vectors u1, u2, w1, and w2 according to the paper
mu1 = np.random.normal(size=num_dimension)
mu1 = (mu1 - np.mean(mu1)) / (np.std(mu1) * np.sqrt(num_dimension))
mu2 = np.random.normal(size=num_dimension)
mu2 -= mu2.dot(mu1) * mu1
mu2 /= np.linalg.norm(mu2)
w1 = c * mu1
w2 = c * (rho * mu1 + np.sqrt(1. - rho ** 2) * mu2)
# Feature and label generation