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 outliers. Desenvolvidos na década de 1990, os SVMs, detalhados na Wikipédia, 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 suporte) 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 é encontrar o hiperplano ideal para dividir um conjunto de dados. Para 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 dos dados de treino 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. Este enfoque 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 dos métodos baseados em árvores, como as Árvores de Decisão ou as Florestas Aleatórias, as SVMs constroem um único hiperplano ótimo (possivelmente num espaço de elevada dimensão). Embora 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 por computador (CV)), as SVM requerem frequentemente uma engenharia cuidadosa das caraterísticas, mas podem ter um desempenho excecional em conjuntos de dados mais pequenos ou em tipos específicos de dados estruturados em que as caraterísticas estão bem definidas. As implementações mais populares incluem a LibSVM e o módulo SVM do scikit-learn. O treino e a gestão destes modelos, juntamente com vários outros, podem ser optimizados utilizando plataformas como o Ultralytics HUB, que simplifica o ciclo de vida dos MLOps.