evan_tech

12:37 pm, 7 Mar 04

svm, church => my math-fu is weak

From a discussion with... someone (was it jeffr's friend who fights spam at hotmail?), I learned that something called an "SVM" was the new hot thing in classification, so I wrote it down on a tiny card in my bag: just "SVM". I kept glancing at it occasionally and thinking I ought to look in to it.

But then Jeff Lin (that's it: from now on, all Jeffs get last names here) started talking to me about them too and he pointed me at a bunch of resources. And now I see , my favorite local computational linguist, linking to an SVM library, too! I printed out a few papers last week and I've been reading through them slowly. I get the idea, and I get some of the math, but the in-depth paper started going into stuff like Lagrange multipliers and I forget how those work. One of the articles I read said that writing an SVM library yourself is a bad idea because of potential numeric precision pitfalls and recommended using an existing library, but what's the fun in that? I will grab some of my math textbooks next time I'm at my mother's and try again.

English class had me read The Diamond Age again, and the bits about Turing make me wish I'd taken more CS classes on theory. But again, I have the book, so I can just read it. And with computer history/theory on my mind:

An Unsolvable Problem of Elementary Number Theory, or something like that, by Alonzo Church(!). It's neat to read a paper filled with lambdas that was written back in the 30s: their syntax is a little weird (a tip, if you try to read it: S with subscripts and superscripts means substitution) and it's cute how he defines things in paragraphs of text using words like "inductively" where today we'd just use EBNF or (that form you always see in papers about type systems that I don't know the name of). My eyes started glazing at their definition of recursive functions, but the paper overall is about some application of Gödel numbering to programs. (Which is especially neat 'cause he mentions, in footnotes, insights gained from conversations with Gödel himself.)

I feel like a lacking computer-scientist-linguist with such holes in my knowledge: theory, history, statistics, algorithms. So much to learn! I've spent the past five years here and it's still not nearly enough.

•  I am not at all interested in writing my own SVM libraries. But it's a pretty cool algorithm, with lots of room for making dumb mistakes in implementation -- which probably also means there's lots of room for improvements in efficiency and performance too.Luckily [for me], the SVM Light kit is pretty straightforward -- I'm actually driving it with Perl and finding it quite straightforward. The code for it is probably available too if you'd rather tinker with somebody else's algorithm. reply to this
•  Aw, where's your sense of adventure? :)Just kidding. If I were to try to use it in a serious project, I'd use a library, but in terms of really understanding how something works there's nothing quite like implementing it. reply to this
•  Always remember that someone else's α-fu > your α-fu. That is, you're always going to be catching up to somebody at what they do. If you let that bother you, you spend all your time trying to learn all the interesting stuff.Or, at least, that's my least-liked aspect of my personality, which has symptoms much like the ones you gave above. reply to this
•  like duh evan - svm is the latest thing. everybody is talking about it. where have you been? hiding under a rock? is the new must-know. it's like the new diagonal striped, french-cuffed metro shirt. man, keep up!(dripping sarcasm, if somehow you missed it :) reply to this