Skip to content
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

review and refactor AnomalyLikelihood code (both c++, python) #469

Open
5 tasks
breznak opened this issue May 13, 2019 · 2 comments
Open
5 tasks

review and refactor AnomalyLikelihood code (both c++, python) #469

breznak opened this issue May 13, 2019 · 2 comments
Labels
anomaly code code enhancement, optimization, cleanup..programmer stuff Python Binding python not py binding, but merge py code in repo

Comments

@breznak
Copy link
Member

breznak commented May 13, 2019

C++

  • needs proper tests ported
  • needs bindings for python
  • verify the code is actually correct

Python

  • improve the code by using library function (ie to compute mean, etc)
  • try to minimize the API

Related #124 , review of the code in #457

@breznak breznak added anomaly code code enhancement, optimization, cleanup..programmer stuff Python Binding python not py binding, but merge py code in repo labels May 13, 2019
@breznak
Copy link
Member Author

breznak commented May 31, 2019

See numenta/nupic-legacy#3870 for possible update to Likelihood

@breznak
Copy link
Member Author

breznak commented Sep 19, 2019

As discussed in #666 (that number indeed does bring problems! 👿 ) there may be problems in how Likelihood is implemented.

From hinsight, I see 2 generic problems:

  1. Likelihood may not handle similar,but not same, values well (needs verification):

anomaly scores: 1.0, 1.0, 1.0, 1.0 -> likelihood (anomalyProbability()) goes down, that is the purpose of AnLikelihood. Same for a sequence of low scores, etc.

I wonder if similarity is handeled by this model? 0.9, 0.99, 0.9, 0.99, 0.9, 0.991337 - 0.991337 is unique (yet same as 0.99), will its likelihood be correctly low?

  1. I'd like to compare the current likelihood with its "biological" implementation - implemented as a HTM system. {anScore} -> encode -> SP -> TM -> anomaly (~likelihood)

  2. and see if raw should be included? {raw, anScore}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
anomaly code code enhancement, optimization, cleanup..programmer stuff Python Binding python not py binding, but merge py code in repo
Projects
None yet
Development

No branches or pull requests

1 participant