Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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}

# for free to join this conversation on GitHub. Already have an account? # 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