-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SDRClasifier for Prediction? #646
Comments
Hi Thanh-Binh,
The
Numenta's SDR Classifier output real values. I removed that feature because it's implementation was questionable. I kept the system of bucket which tracks the rough value, but to find an exact real value given an input SDR is impossible. Numenta's classifier did it by taking an exponential moving average of the recently given inputs. This adds detail to the output, but those details are not calculated from the SDR but rather from the input statistics. I think that those extra details are misleading. If a user wants more detail then they need to add more buckets. HTH |
@ctrl-z-9000-times thanks for your answer.
|
@ctr-z-9000-times |
@Thanh-Binh have you seen
esp the |
@breznak no, i Found this issue from my c++ frameworks. I analyze the likelihood and the weight update too. I have no idea for improving |
Hi all, finally I found a reason for false classification is a limited computing precision by using data type Real for PDF and weight matrix. If you change from Real to Real64, then you can solve this problem |
Thanks @Thanh-Binh 👍 |
@Thanh-Binh do you have a test-case, so we can replicate the bug, please? |
@breznak No, I do not have any test case here. It was also my short observation and report, ... and found quickly a solution for it... |
@Thanh-Binh could you please share this code, or at least describe the details (encoders precision etc) to replicate? I'd like to resolve this issue (using Real64 is your found fix), but I need a test to replicate and validate the problem. |
@breznak I will share it asap |
@breznak I am trying to port my test codes into htm.core, but see some problems because no bucket information is available in the new encoders of htm.core. |
Does
|
@ctrl-z-9000-times |
@Thanh-Binh please help review #675 , I'm running into some Predictor issue in c++ |
Hi David @ctrl-z-9000-times
I am looking at your Predictor now.
If I understood you well, this function will be used for prediction any data, based on SDR-pattern.
I really do not understand what does "recordNum" mean exactly for infer and learn?
if I have 1D data like a vector v = {1.1, 5, 3, 9 ...}.
Is it a data index, or frame index? e.g. SDR for v[0] = 1.1, recordNum = 0?
Secondly:
If I use it for predict a 1D data, I think bucket index is not enough for this purpose, because Inference provides only the bucket index, not the real value.
To bring the full performance of Predictor like decode(), by learning we have to input a map of bucket and real value like
Do you think that we should do it in Predictor-class or user have to map them individually?
Thanks
EDIT:
The problem seems to be in insuffucient precision of Real, and Real64 should be used for PDF in SDRClassifier/Predictor. No test to replicate, though. #646 (comment)
The text was updated successfully, but these errors were encountered: