- Although most aspects of the algorithms have been implemented and tested in
software, none of the test results are currently included.
-There is no description of how the algorithms can be applied to practical problems.
Missing is a description of how you would convert data from a sensor or database
into a distributed representation suitable for the algorithms.
So until someone has tried it on something, we don't know how it will perform :s
That was my main question. How does this compare (either experimentally or theoretically) to already well established approaches.
No references in their paper.
The smells like Wolfram's "New Kind of Science" type work. And they are welcome to prove me wrong, I like AI topics. But it is isolated from other peer work, when AI field is not new. So kind of suspicious.
I've studied Numenta's CLA's, previously HTM's, as well as established ML approaches fairly in-depth over the past couple of years. Hawkins definitely takes a new approach to neural networks and focuses more on modeling the brain's biology rather than building on known artificial neural network concepts. HTM's did incorporate bayesian nets, but have been abandoned, probably with the departure of Dileep George, who now runs http://vicarious.com/.
Finally, Hawkins' book, On Intelligence, has at least inspired researchers like Stanford's Andrew Ng at a philosophical level which he talks about IIRC in his online ML course. https://class.coursera.org/ml/class
"Systematic experiments on three line-drawing datasets have been carried out to better understand HTM peculiarities and to extensively compare it against other well-know pattern recognition approaches. Our results prove the effectiveness of the new algorithms introduced and that HTM, even if still in its infancy, compares favorably with other existing technologies."
Generally, the most relevant academic community would be the NIPS community and I have not noticed any Numenta papers at NIPS, but please point me towards any I have missed if you are aware of any. I expect a lot of people have an opinion along these lines: http://developers.slashdot.org/comments.pl?sid=225476&cid=18...
Don't get me wrong, I would love to see numenta produce something of value for the ML community, but it doesn't look good so far.
I'm a neuroscientist and I'm also not clear on exactly what the anticipated use case for this is. The connection to principles in neuroscience is somewhat loose, it appears to be more grounded in machine learning.
Not better in the general case; most machine-learning algorithms do worse than the naive solution ("throw a Bayes net at it") in most applications, but then have a niche where they excel.
If I recall, Numenta's model is said to excel in the case where the data it's being trained on is similar to the kind the human brain tends to process: sensory data with temporally-local "features" (letters on a page, instruments in a song), where the features form a hierarchy (shapes->letters->words->sentences, frequencies->notes->chords->riffs->melodies, etc.)
> most machine-learning algorithms do worse than the naive solution ("throw a Bayes net at it") in most applications
This is an extremely misleading statement. There is nothing naive about probabilistic graphical models. It's a massive topic with a huge number of different model variations, training methods, and techniques to avoid overfitting or do feature selection.
More many probably you probably only want a linear classifier, and a discriminative one at that. But if your data is not linearly separable, or has structure, then you'll want something else again.
Hmm, I suppose I did phrase that in a way that would mislead someone who didn't already know what I meant by it. :)
I didn't mean that Bayes nets are themselves naive--they're extremely good models for many use-cases. In fact, they're eventually ideal models for all use-cases, given enough training, since all ML models are ways to approximate Bayes' law, while Bayes nets just solve for Bayes' law directly. However, for being so generic, they have no embedded structure that allows them to efficiently learn/represent/compress data in any particular domain.
When I have a Big Data problem, and I have a BNN library close to hand, I just throw it at a random subsampling and see what happens. This is what I mean by "naive": since it's a generic solution, you can try applying it to a problem before even studying the structure of the problem domain, and you might just detect a signal soon enough that you don't need to go any further.
The rest of the machine-learning toolbox, then, is basically a set of models that you replace your BNN with when you have a model that hews closely to the structure of your data (in est, a set of screwdrivers for different kinds of screws.) The approximate model will get quicker training and clearer signals for that data, but not for just any data.
 Another way to say it: a Bayes-net implementation is to gzip as other ML models are to JPEG, MP3, etc. Bayes-nets can learn anything, but they can only learn it as well as the data can be used to model the data.
 People do use linear regression as the same kind of general-purpose tool, as you say--and linear classifier libraries are much easier to write, so you'll find them as "batteries included" in more math packages--but if you don't know whether the data is linearly separable, linear models aren't gonna give you even the slightest hint. A BNN is an extremely-inefficient, but completely-general probe.
Yeah, "throw a Bayes net at it" doesn't make much sense given the current state of machine learning tech AFAIK. Throw a linear regression or a regularized linear regression, sure. Throw k-nearest-neighbors or naive Bayes EM clustering, maybe. "Throw a Bayes net", not so much.
Your description of Numenta is very exciting for me as it appears to fit my niche.
For example, can Numenta look at two similar pages from pdf, and be able to deduce and discover the location of title, paragraph, heading, subheading, etc? Those pdf files are different in layout but a human can immediately determine the hierarchy by categorizing entities on that temporally local feature.