domingo, 13 de dezembro de 2015

Continuando o post sobre os Top 10 classificadores


3. Support vector machines


O que ele faz?  A máquina de vetores de suporte (SVM) aprende um hiperplano para classificar dados em duas classes. Em alto nível, SVM funciona similarmente ao C4.5, exceto pelo fato que a SVM não usa arvores de decisão em tudo.

Hiperplano: É uma função como a equação da reta, y= mx +b. De fato, para uma tarefa de classificação simples com 2 características, o hiperplano pode ser uma linha.

SVM pode projetar os dados para dimensões superiores. Uma vez projetado para dimensões superiores.

SVM descobre qual o melhor hiperplano para separar os dados em duas classes.

Exemplo: Tem um conjunto de bolas vermelhas e bolas azuis em uma mesa. Se as bolas não estão misturadas é possível separá-las com uma vareta sem movê-las.
Quando uma nova bola é adicionada na mesa, sabendo de qual lado da vareta a bola esta, é possível predizer a cor da nova bola.

O que as bolas, a mesa e a vareta representam? As bolas representam os pontos (que são os dados), a cor azul representa uma classe e a cor vermelha outra classe. A vareta representa o  hiperplano mais simples, que é uma linha.
O mais interessante:  O SVM descobre a função para o hiperplano.

E se as coisas ficam mais complicadas? Elas frequentemente ficam mais complicadas. Por exemplo, se as bolas estão misturadas juntas, uma vareta reta não vai funcionar.

Alternativa:  Jogue as bolas da mesa no ar. Enquanto as bolas estão no ar use uma folha de papel para separá-las no ar.  Jogar as bolas no ar é equivalente a mapear os dados em outras dimensões. Neste caso nós vamos de 2 dimensões(bolas na superfície da mesa) para 3 dimensões (bolas no ar).

Como o SVM faz isso?  Usando um kernel nós temos um caminho para operar em altas dimensões.  A folha de papel é um hiperplano, mas agora é uma função para um plano ao invés de ser uma linha. Quando estamos em 3 dimensões, o hiperplano precisa ser um plano e não uma linha.

Este vídeo ajuda a entender um pouco:


Como as bolas em uma mesa ou no ar são na vida real dos dados? Uma bola na mesa tem uma localização que pode ser especificada pelas coordenadas. Por exemplo, uma bola pode ter  20 cm de borda esquerda e 50 de borda inferior. Ou em coordenadas (x,y) que seria (20,50). x e y são as 2 dimensões da bola.

Por exemplo:  Se existe um conjunto de pacientes, cada paciente pode ser descrito por várias medidas, como pulse, colesterol, pressão sanguinea, etc. Cada uma destas medidas e uma dimensão.
O SVM mapeia estas medidas em dimensões maiores e encontra o hiperplano para separar as classes.
Margens são frequentemente associadas com SVM?  O que são elas? A margem é a distancia entre o hiperplano e 2 pontos mais próximos de cada classe. No exemplo da bola e da mesa, a distancia entre a vareta e a bola azul e a bola vermelha que estão mais próximas é a margem.
SVM tenta maximizar a margem, então o hiperplano é tão longe da bola azul quanto da bola vermelha. Assim a probabilidade de erro na classificação diminui.

Porque o SVM tem esse nome?  Usando as bolas e a mesa do exemplo, o hiperplano é equidistante de uma bola vermelha e de uma bola azul. Estas bolas ou pontos são chamados vetores de suporte, porque eles são o suporte do hiperplano.

É supervisionado ou não-supervisionado? Este  é um aprendizado supervisionado, dado que um conjunto de dados é usado para ensinar o SVM sobre as classes. Apenas assim o SVM é capaz de classificar novos dados.
Porque usar SVM?  SVM e C4.5 são os dois algoritmos de classificação para se tentar primeiro. Nenhum classificador será o melhor em todos os casos, graças ao teorema Não existe Almoço grátis. Alem disso, a seleção do kernel e a interpretabilidade são algumas fraquezas do SVM.



















Nenhum comentário:

Postar um comentário