numenta / nupic-legacy

Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex.
http://numenta.org/
GNU Affero General Public License v3.0
6.34k stars 1.56k forks source link

Test specific parameter combinations for swarming #3163

Open subutai opened 8 years ago

subutai commented 8 years ago

A subtask of #2829, this is to test out the following parameter changes and test on benchmark data:

Try fixing activationThreshold at 20, and just swarm over minThreshold, from 12 to 20. No need to swarm over synPermConnected – just leave it as 0.2

synPermActiveInc can be a bit smaller, closer to the values we use for anomaly detection. Range for synPermInactiveDec can be smaller – around the values we use for anomaly detection.

andrewmalta13 commented 8 years ago

v1 changes:

activationThreshold (12,16) -> 20 maxBoost 2.0 -> 1.0 minParticlesPerSwarm 5 -> 7 minThreshold (9,12) -> (12,20) synPermConnected .1 -> .2 tm_cpp

v2 changes:

maxBoost 2.0 -> 1.0 minParticlesPerSwarm 5 -> 7 tm_cpp

v3 changes:

activationThreshold (12,16) -> 20 maxBoost: 2.0 -> 1.0 minParticlesPerSwarm 5 -> 7 minThreshold (9,12) -> (12,20) synPermActiveInc -> .05 -> .005 synPermConnected .1 -> .2 synPermInactiveDec (0.0003, 0.1) -> (0.0001, 0.001) tm_cpp

v4 changes:

activationThreshold (12,16) -> 18 maxBoost: 2.0 -> 1.0 minParticlesPerSwarm 5 -> 7 minThreshold (9,12) -> (9,18) newSynapseCount 20 -> 26 synPermActiveInc .05 -> .005 synPermConnected .1 -> .2 synPermInactiveDec (0.0003, 0.1) -> (0.0001, 0.001) tm_cpp

HotGym:

Baseline MAPE mb = 2.0: 17.442361046
time: 13:41

Baseline MAPE mb = 1.0: 17.7352905489
time: 10:16

v1 changes: 21.113999667
time: 22:13

v2 changes: 17.9043206436
time: 20:28

v3 changes: 23.8673864247
time: 19:59

v4 changes: 23.8749492594
time: 17:54

nyc_taxi:

Baseline MAPE mb = 2.0: 7.81729502201
time: 7:17

Baseline MAPE mb = 1.0: 8.10436391191
time: 8:39

v1 changes: 6.92492492705
time: 10:11

v2 changes: 8.41467236399
time: 7:34

v3 changes:  6.9371322451
time: 13:33

v4 changes: 8.44436584613
time: 9:53

exchange-2_cpc_results:

Baseline MAPE mb = 2.0: 13.7649896324
time: 6:22

Baseline MAPE mb = 1.0:  13.8411920161
time: 2:54

v1 changes: 13.1829743466
time: 2:46

v2 changes: 13.3993514441
time: 1:59

v3 changes: 13.5435327097
time: 4:00

v4 changes: 13.5620287513
time: 3:21

exchange-2_cpm_results:

Baseline MAPE mb = 2.0: 19.189177188
time: 4:02

Baseline MAPE mb = 1.0: 18.9094912822
time: 5:05

v1 changes: 19.5011971925
time: 6:33

v2 changes: 19.649099266
time: 5:02

v3 changes:  18.9756932583
time: 9:26

v4 changes: 19.6095994009
time: 7:04

exchange-3_cpc_results:

Baseline MAPE mb = 2.0: 20.1668477469
time: 2:34

Baseline MAPE mb = 1.0: 21.9947823755
time: 2:13

v1 changes: 19.2573692687
time: 3:57

v2 changes: 19.7445470354
time: 3:01

v3 changes: 21.7648217896
time: 1:37

v4 changes: 22.6776629077
time: 1:32

exchange-3_cpm_results:

Baseline MAPE mb = 2.0: 16.2200676375
time: 4:16

Baseline MAPE mb = 1.0: 16.808536442
time: 3:48

v1 changes: 16.4189741567
time: 5:04

v2 changes: 16.3057415186
time: 4:41

v3 changes: 16.013388136
time: 5:55

v4 changes: 16.5866881942
time: 5:18

exchange-4_cpc_results:

Baseline MAPE mb = 2.0: 30.5886140893
time: 3:42

Baseline MAPE mb = 1.0: 29.4682390791
time: 5:10

v1 changes: 31.0003204622
time: 4:25

v2 changes: 31.2677430792
time: 3:05

v3 changes:  31.5237060414
time: 7:37

v4 changes: 32.4335981461
time: 3:50

exchange-4_cpm_results:

Baseline MAPE mb = 2.0: 27.9606215484
time: 6:06

Baseline MAPE mb = 1.0: 28.6985512219
time: 3:29

v1 changes: 27.5335443497
time: 5:50

v2 changes: 27.7089987149
time: 3:45

v3 changes: 32.3798538952
time: 6:25

v4 changes: 29.0075901622
time: 5:41
andrewmalta13 commented 8 years ago

The changes in v4, interestingly enough perform worse than v1 changes on every data set here.

The differences between them are: v4 vs v1: activationThreshold = 18 vs 20 minThreshold = (9,18) vs (12,20) newSynapseCount = 26 vs 20 synPermActiveInc = .005 vs .05 synPermInactiveDec = (0.0001, 0.001) vs (.0003, .1)