Confused About CLA Classifier Formula

Hey all, I’m reading through HTM.Java’s BitHistory code (trying to understand the details of how CLA Classifiers work) and I’m somewhat confused by the formula on line 115 (the Python version contains the same formula, on line 123):

// duty cycle for current iteration is (1-alpha)*dc{-n}*(1-alpha)**(n)+alpha

Why include that first (1-alpha)? Couldn’t you just as well simplify it to this?:

dc{-n}*(1-alpha)**(n+1)+alpha

But more importantly, isn’t that formula incorrect? I’m looking at this word document (viewable in LibreOffice :stuck_out_tongue_winking_eye:) from this old mailing list thread and it presents this formula (towards the end of the document):

dc{-n}*(1-alpha)**(n)+alpha

Very similar, just without that first (1-alpha).
That particular formula doesn’t actually appear as code anywhere in the BitHistory class, but a different one does (copied from the comment on line 121 (java version)):

dc'{-n} = dc{-n} + alpha/(1-alpha)**n

I’m no math wiz, so correct me if I’m wrong, but I think this formula can be obtained by manipulating the formula presented in the word doc from the mailing list, but not from the one in the comment on line 115, right?
Can anybody help clarify this for me?

I don’t think that is a Numenta document. I can’t vouch for its validity.

Also, have you seen this yet?

@subutai had attached it in reply to that mailing list thread. Here is the specific email. For convenience sake, I’ll quote what he said:

I found some old documentation in our archives. Scott is planning to update
the wiki with this information. I have also attached it here for reference
(but warning, it may be a bit outdated!)

Unfortunately the wiki page leaves a bit to be desired right now.

I did watch that talk. It was very helpful for sure! But Subutai only very briefly touches on the rolling average duty cycle formula towards the end of the video, and he says he doesn’t recall specifically what it is :confused:

Note that we are in the process of replacing the CLAClassifier with the new, slightly different SDRClassifier that @ycui designed. It should perform slightly better on average than the CLAClassifier.