Descobre o poder das Máquinas de Vectores de Suporte (SVMs) para classificação, regressão e deteção de valores atípicos, com aplicações e conhecimentos do mundo real.
A Máquina de Vectores de Suporte (SVM) é um algoritmo de Aprendizagem Automática (ML) supervisionado popular e poderoso, utilizado principalmente para tarefas de classificação, embora também seja eficaz para regressão (Regressão de Vectores de Suporte - SVR) e deteção de outlier. Desenvolvidos na década de 1990, os SVMs funcionam encontrando um limite ótimo, denominado hiperplano, que melhor separa os pontos de dados pertencentes a diferentes classes num espaço de elevada dimensão. A ideia principal é maximizar a margem - a distância entre o hiperplano e os pontos de dados mais próximos (vectores de apoio) de cada classe - o que conduz frequentemente a um bom desempenho de generalização em dados não vistos.
O princípio fundamental do SVM consiste em encontrar o hiperplano ideal para dividir um conjunto de dados. Para os dados que podem ser separados por uma linha reta ou um plano (dados linearmente separáveis), o SVM identifica o hiperplano que cria o maior intervalo possível entre as classes. Os pontos de dados mais próximos deste hiperplano, que são críticos na definição da sua posição e orientação, são conhecidos como vectores de apoio. Esta concentração nos pontos mais difíceis perto do limite torna as SVMs eficientes em termos de memória, uma vez que apenas estes vectores de apoio são necessários para definir o modelo após o treino.
Para conjuntos de dados em que as classes não podem ser separadas por uma fronteira linear (dados não linearmente separáveis), as SVMs utilizam uma técnica designada por truque do kernel. Este método inteligente permite às SVMs mapear os dados originais para um espaço de dimensão superior, onde uma separação linear pode ser possível, sem calcular explicitamente as coordenadas neste novo espaço. As funções de kernel comuns incluem:
A escolha do kernel e dos seus parâmetros é crucial e requer frequentemente uma afinação cuidadosa dos hiperparâmetros.
As SVMs continuam a ser relevantes apesar da ascensão da Aprendizagem Profunda (AP), particularmente em cenários com dados de elevada dimensão (muitas caraterísticas) mas com amostras de treino limitadas. São conhecidas pelas suas garantias teóricas e robustez, especialmente quando existe uma clara margem de separação. Historicamente, os SVMs combinados com extractores de caraterísticas como o Histograma de Gradientes Orientados (HOG) eram os mais avançados para tarefas como a deteção de objectos, tal como referido na evolução da deteção de objectos.
As aplicações mais comuns incluem:
Vantagens:
Limitações:
Em comparação com algoritmos mais simples, como a Regressão Logística, os SVMs visam maximizar a margem em vez de apenas encontrar um limite de separação, o que pode levar a uma melhor generalização. Ao contrário das Árvores de Decisão ou das Florestas Aleatórias, as SVMs constroem um único hiperplano ótimo. Enquanto os modelos modernos de aprendizagem profunda, como o Ultralytics YOLO são excelentes na extração automática de caraterísticas a partir de dados brutos (como pixéis na visão computacional), as SVMs requerem frequentemente uma engenharia cuidadosa das caraterísticas, mas podem ter um bom desempenho em conjuntos de dados mais pequenos ou em tipos específicos de dados estruturados. Implementações populares incluem LibSVM e o módulo SVM no scikit-learn. O treino e a gestão destes modelos podem ser simplificados utilizando plataformas como o Ultralytics HUB.