Uma (SVM) é um algoritmo de aprendizado de máquina supervisionado que pode ser empregado para propósitos de classificação e regressão. SVMs são mais comumente usados em problemas de classificação e, como tal, é nisso que vamos nos concentrar neste post. Os SVMs baseiam-se na ideia de encontrar um hiperplano que melhor divida um conjunto de dados em duas classes, como mostra a imagem abaixo.

- Os Vectores Suporte são os pontos de dados mais próximos do hiperplano, os pontos de um conjunto de dados que, se removidos, alterariam a posição do hiperplano divisor. Por causa disso, eles podem ser considerados os elementos críticos de um conjunto de dados.
O que é um hiperplano?
- Como um exemplo simples, para uma tarefa de classificação com apenas dois recursos (como a imagem acima), você pode pensar em um hiperplano como uma linha que separa e classifica linearmente um conjunto de dados.
Intuitivamente, quanto mais longe do hiperplano nossos pontos de dados estiverem, mais confiantes estaremos de que foram classificados corretamente. Portanto, queremos que nossos pontos de dados estejam o mais longe possível do hiperplano, enquanto ainda estivermos do lado correto dele.
Então, quando novos dados de teste são adicionados, qualquer lado do hiperplano que ele for decidirá a classe que atribuímos a ele.
Como encontramos o hiperplano certo?Ou, em outras palavras, como separar melhor as duas classes nos dados?
- A distância entre o hiperplano e o ponto de dados mais próximo de qualquer conjunto é conhecida como margem. O objetivo é escolher um hiperplano com a maior margem possível entre o hiperplano e qualquer ponto dentro do conjunto de treinamento, dando uma chance maior de novos dados serem classificados corretamente.

Mas o que acontece quando não há hiperplano claro?
- É aqui que pode ficar complicado. Os dados raramente são tão limpos quanto o nosso exemplo simples acima. Um conjunto de dados muitas vezes parece mais com as bolas confusas abaixo, que representam um conjunto de dados linearmente não separável.
Para classificar um conjunto de dados como o acima, é necessário se afastar de uma visualização em 2D dos dados para uma visualização em 3D. Explicar isso é mais fácil com outro exemplo simplificado. Imagine que nossos dois conjuntos de bolas coloridas acima estão sentados em um lençol e este lençol é levantado de repente, lançando as bolas no ar. Enquanto as bolas estão no ar, você usa a folha para separá-las. Este "levantamento" das bolas representa o mapeamento dos dados em uma dimensão maior. Isso é conhecido como kernelling. Você pode ler mais sobre Kerneling
Porque agora estamos em três dimensões, nosso hiperplano não pode mais ser uma linha. Agora deve ser um plano, como mostrado no exemplo acima. A ideia é que os dados continuem sendo mapeados em dimensões cada vez maiores até que um hiperplano possa ser formado para segregá-lo.
Comentários
Postar um comentário