Exemple #1
0
            if not args.particle_num:
                particle_num = 10
            else:
                particle_num = int(args.particle_num)
            if not args.dimension:
                dimension = 5
            else:
                dimension = int(args.dimension)
            algorithms['PTS'] = PTSAlgorithm(particle_num = particle_num, dimension = dimension, n = clusterNum, itemNum=itemNum, sigma = np.sqrt(.5), sigmaU = 1, sigmaV = 1)
        elif args.alg == 'UCBPMF':
            run_UCBPMF = True
            if not args.dimension:
                dimension = 5
            else:
                dimension = int(args.dimension)
            algorithms['UCBPMF'] = UCBPMFAlgorithm(dimension = dimension, n = clusterNum, itemNum=itemNum, sigma = np.sqrt(.5), sigmaU = 1, sigmaV = 1, alpha = 0.1) 
        elif args.alg == 'Hybrid_LinUCB':
            algorithms['HybridLinUCB'] = Hybrid_LinUCBAlgorithm(dimension = context_dimension, alpha = alpha, lambda_ = lambda_, userFeatureList=userFeatureVectors)

        elif args.alg == 'ALL':
            runCoLinUCB = runGOBLin = runLinUCB = run_M_LinUCB = run_Uniform_LinUCB=True
    else:
        args.alg = 'Random'


    for alg_name, alg in algorithms.items():
        alg.learn_stats = articleAccess()

    train_days = 1
    #Train
    if (not args.pretrain or args.pretrain == True):
Exemple #2
0
 # algorithms['CFUCB10'] = CFUCBAlgorithm(context_dimension = context_dimension, latent_dimension = 10, alpha = alpha, alpha2 = alpha, lambda_ = lambda_, n = n_users, itemNum=n_articles, init='random')
 # algorithms['CFEgreedy10'] = CFEgreedyAlgorithm(context_dimension = context_dimension, latent_dimension = 10, alpha = alpha, lambda_ = lambda_, n = n_users, itemNum=n_articles, init='random', epsilon_init=200)
 # algorithms['CFUCB2'] = CFUCBAlgorithm(context_dimension = context_dimension, latent_dimension = 2, alpha = alpha, alpha2 = alpha, lambda_ = lambda_, n = n_users, itemNum=n_articles, init='random')
 # algorithms['CFEgreedy2'] = CFEgreedyAlgorithm(context_dimension = context_dimension, latent_dimension = 2, alpha = alpha, lambda_ = lambda_, n = n_users, itemNum=n_articles, init='random', epsilon_init=200)
 if algName == 'HybridLinUCB':
     algorithms['HybridLinUCB'] = Hybrid_LinUCBAlgorithm(
         dimension=context_dimension,
         alpha=alpha,
         lambda_=lambda_,
         userFeatureList=simExperiment.generateUserFeature(
             simExperiment.getW()))
 if args.alg == 'UCBPMF':
     algorithms['UCBPMF'] = UCBPMFAlgorithm(dimension=10,
                                            n=n_users,
                                            itemNum=n_articles,
                                            sigma=np.sqrt(.5),
                                            sigmaU=1,
                                            sigmaV=1,
                                            alpha=0.1)
 if algName == 'All':
     algorithms['LinUCB'] = N_LinUCBAlgorithm(dimension=context_dimension,
                                              alpha=alpha,
                                              lambda_=lambda_,
                                              n=n_users)
     algorithms['CFUCB'] = CFUCBAlgorithm(
         context_dimension=context_dimension,
         latent_dimension=5,
         alpha=0.1,
         alpha2=0.1,
         lambda_=lambda_,
         n=n_users,