Esempio n. 1
0
def compair_readout():
    esn = ESN(n_inputs = 8,
             n_outputs = 1,
             n_reservoir = n_reservoir,
             spectral_radius = spectral_radius, 
             sparsity = sparsity,
             noise = noise,
             input_shift = [0.51293657,0.51293657,0.51293657,0.51293657,0.03489584,0.03489584,0.03489584,0.03489584],
             input_scaling = [0.18636639,0.18636639,0.18636639,0.18636639, 0.11791364, 0.11791364, 0.11791364, 0.11791364],
             teacher_scaling = 1.45377531,
             teacher_shift = -0.7997228,
             out_activation = np.tanh,
             inverse_out_activation = np.arctanh,
             random_state = rng,
             silent = False)
             
    esn = ESN(n_inputs = 8,
          n_outputs = 1,
          n_reservoir = n_reservoir,
          spectral_radius = spectral_radius, 
          sparsity = sparsity,
          noise = noise,
          input_shift = [0,0,0,0,0,0,0,0],
          input_scaling = [0.01,0.01,0.01,0.01,0.01,0.01,3,3],
          teacher_scaling = 1.12,
          teacher_shift = -0.7,
          out_activation = np.tanh,
          inverse_out_activation = np.arctanh,
          random_state = rng,
          silent = False)
    esn.penal_tao =0.57201544
    esn.penal_c0 = 3.76108161

    esn.penal_tao = 0.1
    esn.penal_c0 = 3.7
    #pred_train = esn.fit(train_ctrl,train_output,inspect=True)
    internal_states,transient = esn.train_reservior(train_ctrl,train_output)
#    esn_Lasso = copy.deepcopy(esn)
#    esn_Ridge = copy.deepcopy(esn)
#    esn_ElasticNet = copy.deepcopy(esn)
    esn_SCAD = copy.deepcopy(esn)
    esn.dump_parameters()
#    print "####pin"
#    pred_train = esn.train_readout_with_pin(internal_states,train_output,transient)
#    test_error("pinv",esn,pred_train)
#    exit()
#
#    print "####ridge"
#    pred_train = esn_Ridge.train_readout_with_ridge(internal_states,train_output,transient)
#    test_error("pinv",esn_Ridge,pred_train)
#
#    print "####Lasso"
#    pred_train = esn_Lasso.train_readout_with_lasso(internal_states,train_output,transient)
#    test_error("pinv",esn_Lasso,pred_train)
#
#    print "####ElasticNet"
#    pred_train = esn_ElasticNet.train_readout_with_elasticnet(internal_states,train_output,transient)
#    test_error("pinv",esn_ElasticNet,pred_train)

    print "####SCAD"
    pred_train = esn_SCAD.train_readout_with_scad(internal_states,train_output,transient)
    test_error("pinv",esn_SCAD,pred_train)