noise = lambda : np.random.normal(scale = NoiseScale), matrixNoise = lambda : np.random.normal(scale = matrixNoise), batchSize = batchSize, type_ = "UniformTheta", signature = AM.signature, sparseLevel = sparseLevel, poolArticleSize = poolSize, NoiseScale = NoiseScale, epsilon = epsilon, Gepsilon =Gepsilon) print "Starting for ", simExperiment.simulation_signature for i in range(10): algorithms = {} #algorithms['LinUCB'] = N_LinUCBAlgorithm(dimension = dimension, alpha = alpha, lambda_ = lambda_, n = n_users) #algorithms['GOBLin'] = GOBLinAlgorithm( dimension= dimension, alpha = G_alpha, lambda_ = G_lambda_, n = n_users, W = simExperiment.getGW() ) #algorithms['syncCoLinUCB'] = syncCoLinUCBAlgorithm(dimension=dimension, alpha = alpha, lambda_ = lambda_, n = n_users, W = simExperiment.getW()) #algorithms['AsyncCoLinUCB_100'] = AsyCoLinUCBAlgorithm(dimension=dimension, alpha = alpha, lambda_ = lambda_, n = n_users, W = simExperiment.getW()) #algorithms['UniformLinUCB'] = Uniform_LinUCBAlgorithm(dimension = dimension, alpha = alpha, lambda_ = lambda_) #algorithms['WCoLinUCB'] = WAlgorithm(dimension = dimension, alpha = alpha, lambda_ = lambda_, eta_ = eta_, n = n_users) #algorithms['WknowTheta'] = WknowThetaAlgorithm(dimension = dimension, alpha = alpha, lambda_ = lambda_, eta_ = eta_, n = n_users, theta = simExperiment.getTheta()) #algorithms['W_W0'] = W_W0_Algorithm(dimension = dimension, alpha = alpha, lambda_ = lambda_, eta_ = eta_, n = n_users, W0 = simExperiment.getW0()) #algorithms['eGreedy'] = eGreedyAlgorithm(epsilon = eGreedy) #algorithms['UCB1'] = UCB1Algorithm() userReorderAlgorithms = {} userReorderAlgorithms['CoLinReorder_var_noise0.1_100/10'] = AsyCoLinUCBAlgorithm(dimension=dimension, alpha = alpha, lambda_ = lambda_, n = n_users, W = simExperiment.getW()) #userReorderAlgorithms['LinUCBReorder'] = N_LinUCBAlgorithm(dimension=dimension, alpha = alpha, lambda_ = lambda_, n = n_users) simExperiment.runAlgorithms(algorithms)
fileNameWriteCluster = os.path.join(Kmeansdata_address, '10kmeans_model160.dat.'+str(clusterNum)+ '.max_observation') userFeatureVectors = getClusters(fileNameWriteCluster) userNum = clusterNum if DiagType == 'Orgin': W = initializeW(userFeatureVectors, SparsityLevel) elif DiagType == 'Opt': W = initializeW_opt(userFeatureVectors, SparsityLevel) # Generate user relation matrix GW = initializeGW(W , epsilon) articles_random = randomStruct() algorithms = {} runCoLinUCB = runGOBLin = runLinUCB = run_M_LinUCB = run_Uniform_LinUCB= run_CFUCB = run_CFEgreedy = run_SGDEgreedy = run_PTS = run_TCF = False if args.alg: if args.alg == 'CoLinUCB' or args.alg == 'CoLin': runCoLinUCB = True algorithms['CoLin'] = AsyCoLinUCBAlgorithm(dimension=context_dimension, alpha = alpha, lambda_ = lambda_, n = userNum, W = W) elif args.alg == 'GOBLin': runGOBLin = True algorithms['GOBLin'] = GOBLinAlgorithm(dimension=context_dimension, alpha = alpha, lambda_ = lambda_, n = userNum, W = GW) elif args.alg == 'LinUCB': runLinUCB = True algorithms['LinUCB'] = N_LinUCBAlgorithm(dimension = context_dimension, alpha = alpha, lambda_ = lambda_, n = clusterNum) elif args.alg =='M_LinUCB': run_M_LinUCB = True elif args.alg == 'Uniform_LinUCB': run_Uniform_LinUCB = True elif args.alg == 'factorLinUCB': run_factorLinUCB = True if not args.dimension: dimension = 5 else:
# algorithms['CFEgreedy'] = CFEgreedyAlgorithm(context_dimension = context_dimension, latent_dimension = latent_dimension, alpha = alpha, lambda_ = lambda_, n = n_users, itemNum=n_articles, init='random') # algorithms['UCBPMF0.1'] = UCBPMFAlgorithm(dimension = 10, n = n_users, itemNum=n_articles, sigma = np.sqrt(.5), sigmaU = 1, sigmaV = 1, alpha = 0.1) algorithms['CFUCB'] = CFUCBAlgorithm(context_dimension=context_dimension, latent_dimension=5, alpha=0.1, alpha2=0.1, lambda_=lambda_, n=n_users, itemNum=n_articles, init='zero', window_size=-1) algorithms['AsyncCoLinUCB'] = AsyCoLinUCBAlgorithm( dimension=context_dimension, alpha=alpha, lambda_=lambda_, n=n_users, W=simExperiment.getW()) algorithms['FactorLinUCBAlgorithm'] = FactorLinUCBAlgorithm( context_dimension=context_dimension, latent_dimension=5, alpha=0.1, alpha2=0.1, lambda_=lambda_, n=n_users, itemNum=n_articles, W=simExperiment.getW(), init='zero', window_size=-1)