MCPcopy Create free account
hub / github.com/lazyprogrammer/machine_learning_examples / evolution_strategy

Function evolution_strategy

rl3/es_simple.py:6–33  ·  view source on GitHub ↗
(
    f,
    population_size,
    sigma,
    lr,
    initial_params,
    num_iters)

Source from the content-addressed store, hash-verified

4
5
6def evolution_strategy(
7 f,
8 population_size,
9 sigma,
10 lr,
11 initial_params,
12 num_iters):
13
14 # assume initial params is a 1-D array
15 num_params = len(initial_params)
16 reward_per_iteration = np.zeros(num_iters)
17
18 params = initial_params
19 for t in range(num_iters):
20 N = np.random.randn(population_size, num_params)
21 R = np.zeros(population_size) # stores the reward
22
23 # loop through each "offspring"
24 for j in range(population_size):
25 params_try = params + sigma*N[j]
26 R[j] = f(params_try)
27
28 m = R.mean()
29 A = (R - m) / R.std()
30 reward_per_iteration[t] = m
31 params = params + lr/(population_size*sigma) * np.dot(N.T, A)
32
33 return params, reward_per_iteration
34
35
36def reward_function(params):

Callers 1

es_simple.pyFile · 0.70

Calls 1

fFunction · 0.50

Tested by

no test coverage detected