Ejemplo n.º 1
0
        elif i == 1:
            return 0
        elif i == 2:
            return 5
    elif 2 * T / 3 < t:
        if i == 0:
            return 1
        elif i == 1:
            return 0
        elif i == 2:
            return -1


# construct forecaster
eta = np.sqrt(2 * np.log(N) / T)
F = EWAForecaster(N, eta)


# we use the L2 loss
def loss(p, y):
    return np.sqrt((p - y)**2)


# run experiment
e_losses = np.zeros((T, N))
F_losses = np.zeros(T, )
for t in xrange(T):
    e_losses[t, :] = np.array([expert(i, t) for i in xrange(N)])
    F_losses[t] = F.predict(e_losses[t, :])
    F.observe(e_losses[t, :])