Re: size of variables in hyperspace?

[email protected] (Bill Yerazunis) Wed, 10 Jun 2009 14:53:17 -0400 (EDT)
Newsgroups gmane.mail.spam.crm114
Message-ID <20090610185317.9DFD93DE2B6@starbuck>
   From: Chris Babcock <[email protected]>

   > and 'sport' fill up first, with 'foreign', 'economy' and 'consumer'
   > not far behind. this is, of course, a rather stupid short term
   > solution, and i'll need some way to refine the learning without
   > filling up the .chs-files.

   This isn't as stupid as it may appear. You're emulating a natural
   strategy for information overload. Admittedly the barrier is an
   artificial one, but the strategy is acceptable... providing, of course,
   that it works acceptably well.

   The next step would be to set up sub-categories when categories fill.
   A script that could monitor its own storage, recognize when to stop
   training a category, re-analyze its corpus in that category and define
   relevant sub-categories would be very powerful. There's no "out of the
   box" way to do that with CRM, but it might be worthwhile to do manually
   until you can develop a sufficient handle on something like the Python
   Natural Language Toolkit (NLTK) or duplicate the relevant functions in
   CRM.

   Also, if a category is one that evolves then you might employ a
   'mentoring' strategy. When a feature file matures, use feedback from a
   classify based on that file to train a replacement. Once the
   replacement has been trained to an acceptable level, it can be used
   instead of the older file.

There is actually a name for something similar to this called "Boosting".

One implementation of it works sort-of like this:

1) Start learning (say, with SSTTT).  

2) At some point, STOP... freeze your learners, and start
   a new batch of learners, trained only on the _errors_ of the
   previous learners.   

3) Again, at some point, STOP... again, freeze the learners, and
   start to train a new batch of learners, trained only on the 
   errors of the previous two sets of learners.

... and so repeat.  The challenge then comes in how you combine
the results of these successive generations of learners.  I seem
to recall that successive doubling often worked, i.e. 

   pR_classifier_gen_1 + 2*pR_classifier_gen_2 + 4*classifier_gen_3...

and so on, doubling the weight at each generation was effective
(but that, I believe, was in a face-recognition task, and not
with CRM114.  But it's not that hard an experiment to try.)

Another method is to change the weights of individual examples.  
Unfortunately, none of the CRM114 classifiers right now support
other than integer weights (i.e. repeated training with the
same example doubles, triples, etc. the weight of that example).

     - Bill Yerazunis


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects