numenta / nupic.core-legacy

Implementation of core NuPIC algorithms in C++ (under construction)
http://numenta.org
GNU Affero General Public License v3.0
272 stars 277 forks source link

Inconsistent default SpatialPooler parameters #1104

Open oxtopus opened 8 years ago

oxtopus commented 8 years ago

The default parameters for the c++ SpatialPooler (https://github.com/numenta/nupic.core/blob/master/src/nupic/algorithms/SpatialPooler.hpp#L232-L249) differ from the swig interface (https://github.com/numenta/nupic.core/blob/master/src/nupic/bindings/algorithms.i#L1020-L1037) file that provides bindings for python. Furthermore, both differ from the pure-python implementation in nupic (https://github.com/numenta/nupic/blob/master/src/nupic/research/spatial_pooler.py#L111-L129).

i.e. if you instantiate SP, you get different default parameters depending on which implementation you use.

Particularly, globalInhibition, seed, synPermActiveDec differ between implementations, and some names differ, e.g. minPctOverlapDutyCycle vs minPctOverlapDutyCycles.

Which is correct?

rhyolight commented 8 years ago

@oxtopus I trust you will close this issue when you are satisfied with an answer and open up any new actions that should be taken in response to the answer as new issues.

oxtopus commented 8 years ago

@rhyolight https://www.youtube.com/watch?v=h4VXRSzeuXY&feature=youtu.be&t=5m13s

rhyolight commented 8 years ago

@oxtopus What is that, your theme song? 👏

oxtopus commented 8 years ago

Signal-boosting to @numenta/nupic-committers in case anyone has any opinions. If not, I'll roll some dice and make them consistent in a followup PR.

oxtopus commented 8 years ago

@rhyolight here's the mixtape version: https://www.youtube.com/watch?v=4YKlDpX3swI