# How to create SP variation?

hi ,i am searching for different varieties of the SP algorithm. Like there’s the Numenta way and a non-Numenta way.Which does the same job of removing redundant information but in a different manar. but up to now I can not find any thing. can any one help me to create a new variation of SP algorithm of Numenta? (for example is it possible to change some of the SP variable in this algorithm and make different SDR output? , if yes which parameters is better to change? I test some off the parameters like seg_threshold and syn_th and nothing change in output).
(I use this code http://numenta.org/images/numenta-icon128.png

## Basic Spatial Pooler Example

hello_sp.py contains a simple spatial pooler demonstration written in python)
can any one help me and change this code for different SDR?

You can change a ton of stuff. Have you played around with the parameters here? You can change the potential pool params, k as well as these and see what happens:

(Actually the “connection distribution” setting is something I added, not sure it is in the original NuPIC.)

@rhyolight I thínk for creating the variations of SP or TP, we need to know the min and max value of each parameter.
Is there any documentation which give us a hint how to set the min and max values?
Thanks

I do not know of such a resource. It’s an open playground! Let us know if you find something interesting.

1 Like

I want to calculate the Rényi divergence between the input data to the Spatial pooling algorithm and the output data from the Spatial pooling algorithm.I used a simple NuPIC code to do this. Now I want to compare the output divergence with the output divergence of the other SP variation method. I tried the parameters mentioned above but the divergence value did not change.Only when I change the number of active columns does the divergence change.But I think it’s not right to change the number of active columns and then compare the divergence.My question is how to create a new variation of SP?

There are a lot of things you might do. Just off the top of my head (none of these are biologically-inspired):

• change the potential pool logic
• change the boosting algorithm
• change the initial connection parameters and logic
• modify the k-winners calculation to something different
1 Like

Could you please give me the modified code ?I don’t know any of these things