Thank you very much Matt, informative as always ;)
One more questions:
> 2) Swarming is optimized only for prediction. It may not be the best
> method to find model params for anomalies. We have identified a set of
> model params that are decent for most one-dimensional scalar input
> anomaly detection, and we generally reuse those in all our anomaly
models.
1. Isn't anomaly just prediction where NuPIC missed. Why is such
difference between anomaly and prediction during swarming?
2. Is it possible to somehow display and being able to read something
useful from the internal state of model object?
3. Regarding inferenceType: is there any type which is combination of
TemporalMultiStep and TemporalAnomaly or is there any reason why NuPIC
cannot output multiple steps and also anomalies at the same time?
Thank you very much.
On 02/11/2016 05:22 PM, Matthew Taylor wrote:
To answer your questions:
1a) Yes, you can disable learning on the model object by calling
model.disableLearning() [1]. It will no longer update its internal state
after you have called this function. So you could do this before the
examples gets to the missing Tuesdays, and it will not learn the
"missing Tuesdays" pattern. You can re-enable learning with the
enableLearning() method [2].
1b) You can save the model to disk by calling the model.save(<path>)
function [3] and resurrect a model you've already saved by calling
ModelFactory.loadFromCheckpoint(<path>) [4].
2) Swarming is optimized only for prediction. It may not be the best
method to find model params for anomalies. We have identified a set of
model params that are decent for most one-dimensional scalar input
anomaly detection, and we generally reuse those in all our anomaly models.
3) I don't quite understand the question, but I think when someone says
"creating a model" they are generally referring to the process of
identifying the best model params for a particular data stream. It
probably does not refer to the model learning the patterns.
4) This search might help you find more info about "inferenceType" [5].
There is a wiki page [6] but it needs to be filled in. Anyone want to
help? As for your question about temporal data, you should read this
thread on our mailing list from last month [7]. Cortical.io's core
technology does not deal with temporal data, true. But they are dealing
mostly in the interesting properties of SDRs, which are a part of HTM
theory, but not the whole. We are working with CIO to identify ways to
improve natural language processing by consuming the temporal element of
language as well. For example, you could consider this entire email --
indeed this entire mailing list -- a temporal data stream of text. This
ability to process temporal language is not currently one of their
capabilities, but it is a future goal of ours (not to speak for them,
but we've talked openly about it).
[1]
http://numenta.org/docs/nupic/classnupic_1_1frameworks_1_1opf_1_1model_1_1_model.html#ae3efe32f87f56e9fd3edfb499b87263f
[2]
http://numenta.org/docs/nupic/classnupic_1_1frameworks_1_1opf_1_1model_1_1_model.html#af9756982485e3d520db6b1c99f4d1e39
[3]
http://numenta.org/docs/nupic/classnupic_1_1frameworks_1_1opf_1_1model_1_1_model.html#aba0970ece8740693d3b82e656500a9c0
[4]
http://numenta.org/docs/nupic/classnupic_1_1frameworks_1_1opf_1_1modelfactory_1_1_model_factory.html#a73b1a13824e1990bd42deb288a594583
[5] http://numenta.org/search/?q=inferenceType
[6] https://github.com/numenta/nupic/wiki/Inference-Types
[7]
http://lists.numenta.org/pipermail/nupic_lists.numenta.org/2016-January/012607.html
Hope that helps,
---------
Matt Taylor
OS Community Flag-Bearer
Numenta
On Thu, Feb 11, 2016 at 7:12 AM, Wakan Tanka <[email protected]
<mailto:[email protected]>> wrote:
One more question:
Is it possible to somehow save the model "trained" from 1st dataset
to use it later?
On Wed, Feb 10, 2016 at 11:52 PM, Wakan Tanka <[email protected]
<mailto:[email protected]>> wrote:
Hello NuPIC,
In hotgym anomaly tutorial Matt changed inferenceType from
TemporalMultiStep to TemporalAnomaly to being able detect
anomalies. When he then run script to removed all Tuesdays NuPIC
adapted to those changes, as it sees more and more of those
data, started to consider it as a normal and stop reporting it
as an anomaly.
1. I do not want NuPIC to adapt to those changes. Is possible to
disable learning in this phase? I want is to create model using
1st dataset, then pass 2nd dataset to this model but further
learning will be disabled. So far I know how to: create
model_params by running swarm over 1st dataset and pushing this
dataset into NuPIC to compute anomaly score. But what I do not
know is how to "save" those learned patterns from 1st dataset
and detect anomalies using this "trained" version in 2nd
dataset. Is this even possible for NuPIC?
2. The one difference between hot gym prediction and hot gym
anomaly was changing inferenceType from TemporalMultiStep to
TemporalAnomaly in existing model params. So I guess that
inferenceType does not affects swarm process because it can be
easily turned into something else in existing model if needed?
Are all available options under inferenceType using the same
algorithm principles under the hood?
3. Based on above: when somebody is talking about creating model
he is basically referring not just tuning (e.g. by hand or
swarm) parameters inside model_params.py but also in this
"training" phase?
4. Where can I find further info regarding inferenceType, the
only info that I’ve found is this list [1]? Matt in his hot gym
prediction tutorial said that the data are temporal so he has
chosen TemporalMultiStep. But how can I know if my data are
temporal and not e.g. nontemporal? As a nontemporal data can be
considered e.g. those that guys from cortical.io
<http://cortical.io> are dealing with? I mean SDRs for
particular words where time does not plays crucial role? Is the
role of time completely omitted in cortical.io
<http://cortical.io> examples?
[1] Inference Types -
https://github.com/numenta/nupic/wiki/Inference-Types
--
Thank you
Best Regards
Wakan
--
Best Regards
Name: Wakan Tanka a.k.a. Wakatana a.k.a. MackoP00h
Location: Europe
Note: I'm non native English speaker so please bare with me ;)
Contact:
[email protected] <mailto:[email protected]>
http://stackoverflow.com/users/1616488/wakan-tanka
https://github.com/wakatana
https://twitter.com/MackoP00h