Re: second attempt at dstttr training

Ger Hobbelt <[email protected]>
Newsgroups gmane.mail.spam.crm114
Message-ID <[email protected]>
On Thu, Mar 5, 2009 at 2:27 PM, Thomas Michael Hagen
<[email protected]> wrote:
> i've been struggling with what you bring up as your big point as well,
> but this is how i understood the description of dstttr in the book (by
> bill).

See my pseudocode for the way to do [DS]STTTR. (The max rounds limit
is an extra, BTW. You will find the same sort of thing in mailtrainer,
for those who are interested in this sort of stuff (implementation vs
theory).)


> i have a different version of my classify, where the user is asked for
> input on every classification, but i was hoping that this one could
> run for a while before i got to that point, and somehow improve the
> accuracy.
>
> however, as you point out, it is a utopic illusion to think that the
> classifier is able to improve itself - at least by improving its own
> confidence in its weaker conclusions!
>
> i guess my next version will have to ask for user help whenever it is unsure.

Exactly!

That way, you will see (or I should say 'should') a fast decrease in
number of documents asked about.

When you test this sort of thing, it is VERY HANDY to have (or create)
a test set (a.k.a. corpus) which includes meta data, i.e. what
category each article should end up in. Can be as simple as an extra
file which has a list of articles as files and for each article the
category it ought to end up as.
That way, you can alter that pseudocode procedure a tiny bit (instead
of asking the human, you already pass the 'sollwert' to da_works() at
start as an extra parameter, so ask_human...() becomes a nil operation
and the test run can continue without any human intervention. That
means: start test run, drink coffee, peruse resulting report. No
attendance required anymore.




> i'll need to look more closely at your code before i can begin to
> incorporate; just one quick question: i'm assuming ist-wert means
> current value, and soll-wert means future value. is this about right?

Not exactly.

'sollwert' is German (and used in other parts of Europe too when it
comes to control engineering) for 'the value it SHOULD be' (literally:
MUST be. 'soll' is much stronger than 'muss') while 'istwert' means
'the value which it actually IS'. As such, 'sollwert' is the goal and
'istwert' is the actual state of affairs.

The basic control engineering 'control loop' takes a 'sollwert' and a
process-to-be-controlled (in our case: the article-to-category
classification) which takes an input (article) and produces an output
('istwert' / category).
This 'istwert' is sent through a 'feedback loop' and compared with the
desired 'sollwert'. This comparison results in an adjustment of the
process-to-be-controlled in order to make it come closer to the
desired goal ('sollwert'). Here, the adjustment process is the
classifier training operation.
It starts to get interesting when you consider the 'external
influences' which have an [adverse/uncontrolled] effect on the
process-to-be-controlled (error introduction ~ noise factors). Two
sections there: input noise and process noise. Input noise, in
software terms here, means data munching / preprocessing: it can help
to 'munch', i.e. preprocess the data before feeding it to the process
(in an attempt to reduce input noise levels). This can be anything
from data reduction to data augmentation.
'Process noise' is several components. One are bugs and/or design
flaws in your crm script or other parts of the software which you can
treat as white boxes. One other is inaccuracy / incapability of the
classifier used.[*]


For a picture:
  http://en.wikipedia.org/wiki/Control_theory
though I generally use something that looks more like this:
  http://en.wikibooks.org/w/index.php?title=File:System_5_Positions.png
which is nice & clean (at the cost of not showing all the various
process blocks)

As such, it also defines process scope.[**]



[*], [**] I've found that the hard part for some is mapping processes
onto this model as soon as you get outside the usual chem plant or
electronic rig, depending on where you first met control engineering.
Amazingly, control engineering doesn't get taught in CS at all. (At
least not over here and given my international experiences, not abroad
either. Instead, you'll have to make do with the derivatives in the
form of buzz, such as Agile, XP, etc. etc. and for the older boys,
waterfall. Which, incidentally, has a nice feedback loop, which
apparently nobody ever bothered with, once the exams were passed.
Humans are very much like pigs: there's only going forward. But I
digress.)



I'll bother you with the [*] and [**] related third (& fourth)
question later. Its answer(s) will have impact on your design and your
process/code flow, but best make this bit work like D/S-STTTR first
and get some results you like, and, with a little luck, you've already
found the answers for the questions to come, as well.





> ps: i've had complaints that my mails contain html-encoding. i think i
> have fixed that now. please let me know if i haven't.

Didn't notice it here; gmail is tolerant and the special, local
machine I also read mail on does the proper munching of such, so nil
gibberish, now or then.


-- 
Met vriendelijke groeten / Best regards,

Ger Hobbelt

--------------------------------------------------
web:    http://www.hobbelt.com/
        http://www.hebbut.net/
mail:   [email protected]
mobile: +31-6-11 120 978
--------------------------------------------------

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.