# Support Vector Machines

(lightning talk)

(LPW '07) (john melesky)

# Presupposing:

• You have a bunch of something.
• You can transform relevant attributes of those things into numbers.
• You can connect those numbers into vectors (think coordinates in an attribute space).
• You want to categorise them base on those numbers.

# The problem: find a line that separates these two categories of thing # For humans, this is easy. For mathematicians, it's actually not too hard.

# For humans, this is easy. For mathematicians computers, it's actually not too hard.

# Problem, the first: # Problem, the first: # Problem, the second: # Problem, the second: # Problem, the second: # Solution, the first: • Create "border" vectors, parallel to eachother, touching the outermost edge of each category dataset.

# Solution, the first: • Create "border" vectors, parallel to eachother, touching the outermost edge of each category dataset.
• As you add new items, ensure these "borders" stay parallel.

# Solution, the first: • Create "border" vectors, parallel to eachother, touching the outermost edge of each category dataset.
• As you add new items, ensure these "borders" stay parallel.
• Create your categorizing vector equidistant from your two "borders".

# Solution, the first: • Create "border" vectors, parallel to eachother, touching the outermost edge of each category dataset.
• As you add new items, ensure these "borders" stay parallel.
• Create your categorizing vector equidistant from your two "borders".
• These "borders" are called "support vectors".

# A joke:

Q: How many mathematicians does it take to change a lightbulb?

# A joke:

Q: How many mathematicians does it take to change a lightbulb?

A: One, who hands it to 127 Londoners, thus reducing it to an earlier joke.

# A question:

Q: How do mathematicians categorize non-linearly-separable data?

# A question:

Q: How do mathematicians categorize non-linearly-separable data?

A: Munge the data until it's linearly separable, thus reducing it to an earlier slide.

# A question:

Q: How do mathematicians categorize non-linearly-separable data?

A: Munge the data until it's linearly separable, thus reducing it to an earlier slide.

Seriously. The munging is done using what are known as "kernel methods".

# Kernel Methods

• Functions that munge data
• Very faintly magical (because i have no idea how they were derived)
• Require some skill to choose the right one for the problem

# In Perl:

Algorithm::SVM - bindings to libsvm

(Also wrapped by AI::Categorizer)