-
Notifications
You must be signed in to change notification settings - Fork 86
/
SimulationConfig.yaml
165 lines (159 loc) · 5.2 KB
/
SimulationConfig.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# Bandit Lib Config File
# Config file to set different parameters for the system
# To use append --config option to the python Simulation.py command
# i.e: python Simulation.py --config <config-file-name>.yaml
# None of the parameters are required, if not included system will
# default to a value
# Default values for the parameters are the current values for each parameter
# System level settings to be used in all algorithms
general:
testing_iterations: 100 # (int) Number of iterations to testing and refine model upon
training_iterations: 0 # (int) Number of iterations to train a model
context_dimension: 16 # (int) The number of features which the algorithm knows about each article
hidden_dimension: 0 # (int) The number of features hidden from the algorithms
pool_article_size: 10 # (int) Number of articles to select from total pool from which the algorithm can choose
# pool_article_size maybe means arm
batch_size: 1 # (int)
testing_method: 'online' # (string) online: update the model after each iterations
plot: True # (True/False) Should plots be created
collaborative: True # (True/False) connection between collaborative user and social_linear rewards
dataset: None # (string None/LastFM/Delicious/Yahoo) Choosing a dataset rather than simluation will override some of the other paramaters
# Different settings for user objects
user:
n: 10 # (int) Number of users for the algorithm to select arms for
groups: 5 # (int) define how the users are organized together
theta_func: featureUniform # (string)
load: no # (yes/no) Load the theta for each user from file specified by file_name
save: no # (yes/no Save the thetas for each user to be loaded for future simulations
collaborative: no # (yes/no) Is the user able to access information about other users, overridden by general collaborative setting
file_name: test.json # (string) File from which to load user thetas
# Different settings for article arms
article:
number: 1000 # (int) total number of articles from which to create the article pool
groups: 5 # (int)
load: no # (yes/no) Load attributes for each article from file specified by file_name
save: no # (yes/no) Save attributes for each article into a file for future simulations
file_name: test.json # (string) File from which to load article objects
# Reward to determine the accuracy of choices made by the algorithm
reward:
k: 1 # (int) number of articles to recommend for each user each iteration type: Linear # (string) Linear/SocialLinear/Fair: determines which reward function is used, overridden by general collaborative setting
type: linear # (string) Linear/SocialLinear/Fair: determines which reward function is used, overridden by general collaborative setting
# [Parameters for the different algorithms
alg:
# General Parameters, setting in this section will overwrite default values in all algorithms simulation
general:
alpha: 0.3
lambda_: 0.1
# Define what sort of additional parameter modifications will be tracked
parameters:
Theta: True
CoTheta: False
W: False
V: False
# Specific Parameters, setting in this section under an algorithm will overwrite default and
# general parameters for that algorithm
specific:
LinUCB:
alpha: 0.3
lambda_: 1
parameters:
Theta: True
CoTheta: False
W: False
V: False
NeuralLinear:
a0: 6
b0: 6
lambda_prior: 0.25
#LinPHE:
# a: 1
# lambda_: 0.1
# parameters:
# Theta: True
# CoTheta: False
# W: False
# V: False
#ThompsonSampling:
# lambda_: 0.1
# R: .0001
# delta: .1
# epsilon: .05
# parameters:
# Theta: True
# CoTheta: False
# W: False
# V: False
#CoLinUCB:
# alpha: 0.3
# lambda_: 0.1
# use_alpha_t: False # Use a theoretical alpha_t value
# parameters:
# Theta: False
# CoTheta: True
# W: False
# V: False
#GOBLin:
# alpha: 0.3
# lambda_: 0.1
# use_alpha_t: False
# parameters:
# Theta: False
# CoTheta: True
# W: False
# V: False
#HLinUCB:
# alpha: 0.3
# alpha2: 0.1
# lambda_: 0.1
# parameters:
# Theta: False
# CoTheta: True
# W: False
# V: True
#FairUCB:
# alpha: 0.3
# lambda_: 0.1
# parameters:
# Theta: True
# CoTheta: False
# W: False
# V: False
#UCBPMF:
# sigma : 0.5
# sigmaU : 1
# sigmaV : 1
# alpha : 0.1
# parameters:
# Theta: False
# CoTheta: False
# W: False
# V: False
#FactorUCB:
# alpha: 0.05
# alpha2: 0.025
# lambda_: 0.1
# parameters:
# Theta: False
# CoTheta: True
# W: False
# V: True
#CLUB:
# alpha: 0.1
# alpha2: 0.5
# lambda_: 0.1
# cluster_init : 'Erdos-Renyi'
# parameters:
# Theta: False
# CoTheta: False
# W: False
# V: False
#PTS:
# particle_num : 10
# sigma : 0.5
# sigmaU : 1
# sigmaV : 1
# parameters:
# Theta: False
# CoTheta: False
# W: False
# V: False