SVM – Entendendo sua matemática – Parte 1 – A Margem
Este é o primeiro post de uma série de 3 posts falando sobre a matemática por trás do SVM. O SVM é uma técnica de grande utilidade para várias áreas da computação, por exemplo: reconhecimento de padrões, mineração de dados, entre outras…
O SVM é uma técnica de classificação baseada em aprendizado de máquina na qual é utilizado o aprendizado supervisionado. Isso quer dizer que para seu treinamento deve se possuir uma base na qual as instâncias de cada classe estejam previamente classificadas. Este primeiro post falaremos sobre a margem de separação das classes.
Introdução ao SVM
Este é o primeiro artigo de uma série de artigos que eu estarei escrevendo sobre a matemática por trás do SVM. Há muito sobre o que falar e um bom entendimento matemático é necessário. De qualquer modo eu tentarei manter um ritmo lento e não dar explicações profundas, assim tudo ficará bem claro até para iniciantes.
Qual é o objetivo de um SVM(Support Vector Machine)?
O objetivo de um SVM é encontrar o hiperplano de separação ideal o qual maximiza a margem da base de treinamento.
A primeira coisa que notamos nesta definição, é que o SVM precisa de uma base de treinamento. O que quer dizer que é um algoritmo de aprendizado supervisionado.
Também é importante saber que o SVM é um algoritmo de classificação. Isso quer dizer que iremos usá-lo para predizer se algo pertence a uma classe particular.
Por exemplo, nos podemos ter a base de treinamento abaixo:
Nós temos na imagem a altura e o peso de algumas pessoas, e também há como distinguir entre homem e mulher.
Com essa base de dados, um SVM irá nos permitir responder a seguinte questão:
Dado um ponto(altura e peso) em particular, a pessoa é homem ou mulher?
Por exemplo: Se alguém medir 175 cm e pesar 80 kg, é um homem ou uma mulher?
O que é um hiperplano de separação?
Olhando o desenho nós podemos ver que é possível separar os dados. Por exemplo, nós podemos traçar uma linha e todos os pontos que represantam homens ficarão abaixo da linha, e todos os pontos que representam mulheres ficaram acima da linha.
Tal linha é chamada hiperplano de separação e é retratada abaixo.
Se é somente uma linha porque a chamamos de hiperplano?
Apesar de usarmos um exemplo muito simples com os pontos em duas dimensões o SVM pode trabalhar com qualquer número de dimensões.
Um hiperplano é a generalização de um plano.
– com uma dimensão, um hiplerplano é chamado de ponto
– com duas dimensões, é uma linha
– com três dimensões, é um plano
– com mais dimensões você pode chamar de hiperplano
O que é um hiperplano de separação ideal?
O fato é que você pode encontrar um hiperplano de separação, mas não quer dizer que é o melhor! No exemplo abaixo há vários hiperplanos de separação. Cada um deles são válidos e separam nosso conjunto de dados em homens de um lado e mulheres de outro lado.
Imagina que nós selecionamos o hiperplano verde a vamos utilizá-los para classifica dados da vida real.
Desta vez ele cometeu alguns erros classificando três mulheres de maneira errada. Intuitivamente, nós podemos ver que se nós escolhermos um hiperplano o qual é próximo aos ponto de uma dada classe, então isso pode não generalizar bem.
Então nós tentaremos selecionar um hiperplano que é tão longe quanto possível dos pontos de cada categoria:
Este parecer melhor. Quando o usamos para dados da vide real, podemos ver que o hiperplano continua fazendo a classificação perfeita.
Por isso que o objetivo do SVM é encontrar o hiperplano de separação ideal:
– por que ele classifica os dados de maneira correta
– e por que ele é o qual generaliza melhor com dados não usados no treinamento
O que é a margem e como isto ajuda a escola do hiperplano ideal?
Dado um hiperplano em particular, nós podemos computar a distância entre o hiperplano é o ponto mais próximo. Uma vez que temos este valor, se nós o dobrarmos teremos o que pe chamado de margem.
Basicamente a margem é uma “terra de ninguém”. Nunca haverá um ponto dentro da margem. (Obs: isto pode causar problemas quando há ruídos nos dados, e por isso que classificador de “margem suave” será apresentado depois)
De outro hiperplano, considere esta margem:
Como você pode ver, a margem B é menor que a margem A.
Nós podemos fazer as seguintes observações:
– se um hiperplano é muito próximo de um ponto, a sua margem será pequena.
– quanto mais um hiperplano for proveniente de um dado, maior será sua margem.
Está é a razão que o objetivo do SVM: encontrar um hiperplano de separação ideal o qual maximiza a margem da base de treinamento.
Isto conclui o post de introdução da matemática por trás do SVM. Não houve tantas fórmulas mas, no próximo post colocaremos alguns números e tentaremos entender a visão matemática disso usando geometria e vetores.
Referencia:
[…] primeira parte deste tutorial da matemática por tras do svm nós vimos o objetivo do SVM. Seu objetivo é encontrar um hiperplano que maximize a […]
[…] SVM – Entendendo Sua Matemática – Parte 1 – A Margem […]
[…] Tutorial SVM – Parte 1 […]