Skip to content

Clearer documentation on what functions/hyper-parameters are actually doing #12

@vlall

Description

@vlall

I'm recently realizing I was mistaken on what the POOL_SIZE hyper-parameter was doing. Changing this hyper-parameter in the test script doesn't change the model search space, but rather the spacing and granularity between the output points using the hypercube object and sobol random number generation (https://en.wikipedia.org/wiki/Sobol_sequence). We initialize HyperCubePool.numpoints to the poolsize.

Perhaps a short explanation in the README or some links to external resources on how this is working would be very helpful.

class HyperCubePool(object):

    def __init__(self, dim, num_points):
        self.dim = dim
        self.num_points = num_points
        self._hypercube = sobol_seq.i4_sobol_generate(dim, num_points)

    def __getitem__(self, index):
        return self._hypercube[index]

    def __len__(self):
        return self.num_points

    def __repr__(self):
        return 'Pool (Sobol). Dim={}, num_points={}\n{}'.format(
            self.dim,
            self.num_points,
            self._hypercube.__repr__(),
        )

When generating a 1-D, n=10 array we see:
python random number generator
real_random

sobol random number generator
hypercube

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions