Esempio n. 1
0
def pso_esn_parameters_for_lasso(x):
    ic_s =x[0]
    ic_e =x[1]
    is_s = x[2]
    is_e = x[3]
    teacher_scaling = x[4]
    teacher_shift = x[5]
    alpha =x[6]

     
    esn = ESN(n_inputs = 2,
             n_outputs = 1,
             n_reservoir = n_reservoir,
             spectral_radius = spectral_radius, 
             sparsity = sparsity,
             noise = noise,
             input_shift = [is_s,is_e],#[0,0]
             input_scaling =[ic_s,ic_e],# [0.01, 3]
             teacher_scaling = teacher_scaling,#1.12,
             teacher_shift = teacher_shift,#-0.7,
             out_activation = np.tanh,
             inverse_out_activation = np.arctanh,
             random_state = rng,
             silent = False)
    esn.alpha = alpha
    internal_states,transient = esn.train_reservior(train_ctrl,train_output)
    pred_train = esn.train_readout_with_lasso(internal_states,train_output,transient)
    pred_test = esn.predict(test_ctrl)
    test_error_rate= np.sqrt(np.mean((pred_test - test_output)**2))
    #get function name as title
    title = inspect.stack()[0][3]
    print "#### {} ## train_error:{},test_error:{}".format(title,esn.train_error_rate,test_error_rate)
    return test_error_rate