Example #1
0
     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:
             dimension = int(args.dimension)
         algorithms['FactorLinUCBAlgorithm'] = FactorLinUCBAlgorithm(context_dimension = context_dimension, latent_dimension = dimension, alpha = 0.2, alpha2 = 0.1, lambda_ = lambda_, n = clusterNum, itemNum=itemNum, W = W, init='random', window_size = 3)    
     elif args.alg == 'CFUCB':
         run_CFUCB = True
         if not args.dimension:
             dimension = 5
Example #2
0
						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

	algorithms = {}
	
	# algorithms['CFContextual'] = EgreedyContextualStruct(Tu= 200, m=10, lambd=0.1, alpha=0, userNum=n_users, itemNum=n_articles, k=context_dimension+latent_dimension,  feature_dim = context_dimension, init='zero')	
	# algorithms['EgreedyNonContextual'] = EgreedyStruct(Tu= 200, m=10, lambd=0.1, alpha=100, userNum=n_users, itemNum=n_articles, k=context_dimension+latent_dimension, init='random')
	# algorithms['CF'] = EgreedyStruct(Tu= 200, m=10, lambd=0.1, alpha=0, userNum=n_users, itemNum=n_articles, k=context_dimension+latent_dimension, init='random')

	algorithms['LinUCB'] = N_LinUCBAlgorithm(dimension = context_dimension, alpha = alpha, lambda_ = lambda_, n = n_users)
	# algorithms['LinEgreedy'] = N_LinEgreedyAlgorithm(dimension = context_dimension, alpha = alpha, lambda_ = lambda_, n = n_users)	
	#algorithms['LinUCBRandom'] = N_LinUCBAlgorithm(dimension = context_dimension, alpha = alpha, lambda_ = lambda_, n = n_users, init="random")
	
	#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'] = AsyCoLinUCBAlgorithm(dimension=dimension, alpha = alpha, lambda_ = lambda_, n = n_users, W = simExperiment.getW())
	algorithms['EgreedySGDLrConstant'] = EgreedyContextualStruct(epsilon_init=200, userNum=n_users, itemNum=n_articles, k=context_dimension+latent_dimension, feature_dim = context_dimension, lambda_ = lambda_, init='zero', learning_rate='constant')
	# algorithms['EgreedySGDLrDecay'] = EgreedyContextualStruct(epsilon_init=200, userNum=n_users, itemNum=n_articles, k=context_dimension+latent_dimension,  feature_dim = context_dimension, lambda_ = lambda_, init='zero', learning_rate='decay')
	
	#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 = 0.1)
Example #3
0
        signature=AM.signature,
        sparseLevel=sparseLevel,
        poolArticleSize=poolSize,
        NoiseScale=NoiseScale,
        epsilon=epsilon,
        Gepsilon=Gepsilon)

    selectUser_Algorithms = {}

    selectUser_Algorithms['LinUCB_SelectUser'] = LinUCB_SelectUserAlgorithm(
        dimension=dimension, alpha=alpha, lambda_=lambda_, n=n_users)
    selectUser_Algorithms[
        'AsyncCoLin_SelectUser'] = CoLinUCB_SelectUserAlgorithm(
            dimension=dimension,
            alpha=alpha,
            lambda_=lambda_,
            n=n_users,
            W=simExperiment_SelectUser.getW())
    selectUser_Algorithms['GOBLin_SelectUser'] = GOBLin_SelectUserAlgorithm(
        dimension=dimension,
        alpha=alpha,
        lambda_=lambda_,
        n=n_users,
        W=simExperiment_SelectUser.getGW())

    selectUser_Algorithms['LinUCB_RandomUser'] = N_LinUCBAlgorithm(
        dimension=dimension, alpha=alpha, lambda_=lambda_, n=n_users)
    #selectUser_Algorithms['AsyncCoLin_RandomUser'] = AsyCoLinUCBAlgorithm(dimension=dimension, alpha = alpha, lambda_ = lambda_, n = n_users, W = simExperiment_SelectUser.getW0())
    #selectUser_Algorithms['GOBLin_RandomUser'] = GOBLinAlgorithm( dimension= dimension, alpha = G_alpha, lambda_ = G_lambda_, n = n_users, W = simExperiment_SelectUser.getGW() )

    simExperiment_SelectUser.runAlgorithms(selectUser_Algorithms)