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]> 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]> 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
>> 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
>> 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]
> http://stackoverflow.com/users/1616488/wakan-tanka
> https://github.com/wakatana
> https://twitter.com/MackoP00h
>

Reply via email to