Glossário

Máquina de vetor de suporte (SVM)

Descubra 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 supervisionada poderoso e versátil utilizado para tarefas de classificação e regressão. Na sua essência, um SVM encontra um hiperplano ótimo ou um limite de decisão que melhor separa os pontos de dados em classes diferentes. O que torna o SVM particularmente eficaz é o seu objetivo de maximizar a margem - a distância entre o hiperplano de separação e os pontos de dados mais próximos de qualquer classe. Este princípio, detalhado no artigo fundamental de Cortes e Vapnik, ajuda a melhorar a capacidade de generalização do modelo, tornando-o menos suscetível de sobreajuste.

Como funcionam os Svms

O algoritmo funciona traçando cada item de dados como um ponto num espaço n-dimensional (em que n é o número de caraterísticas). A classificação é então efectuada encontrando o hiperplano que cria a melhor separação entre classes.

  • Hiperplano: Este é o limite de decisão. Num conjunto de dados com duas caraterísticas, é uma linha; com três, é um plano. Para mais caraterísticas, torna-se num hiperplano.
  • Vectores de suporte: São os pontos de dados que estão mais próximos do hiperplano. São críticos porque definem a margem, e removê-los alteraria a posição do hiperplano. Uma excelente visualização dos vectores de suporte pode ser encontrada nas notas de aula CS229 de Stanford.
  • Margem: A margem é a diferença entre os vectores de apoio e o hiperplano. O objetivo do SVM é encontrar o hiperplano que maximiza esta margem, criando a separação mais robusta possível.
  • O truque do kernel: Para dados que não são linearmente separáveis, as SVMs utilizam uma técnica designada por truque do kernel. Este método poderoso envolve a transformação dos dados num espaço de dimensão superior onde um separador linear pode ser encontrado sem calcular explicitamente as coordenadas dos dados nesse novo espaço. Os kernels mais populares, como a Função de Base Radial (RBF), podem lidar com relações não lineares muito complexas. Para mais informações, consulte o guia de núcleos SVM.

Aplicações no mundo real

As SVM são eficazes em muitos domínios, especialmente em problemas com dados de elevada dimensão.

  • Bioinformática: Em genómica e proteómica, as SVMs são utilizadas para classificar proteínas e analisar dados de expressão genética. Por exemplo, podem ajudar a identificar subtipos de cancro com base em dados de microarray, uma tarefa que envolve milhares de caraterísticas. Isto torna-as uma ferramenta vital na IA para os cuidados de saúde.
  • Classificação de imagens: Antes do predomínio das redes neuronais profundas, as SVM eram um modelo de elevado desempenho para a classificação de imagens. Foram utilizados com êxito em tarefas como o reconhecimento de dígitos manuscritos em conjuntos de dados como o MNIST e o reconhecimento de objectos no Caltech-101.
  • Classificação de textos: No Processamento de Linguagem Natural (PLN), as SVMs são eficazes em tarefas como a deteção de spam e a análise de sentimentos. Podem gerir eficazmente os espaços de caraterísticas de elevada dimensão criados pelos métodos de vectorização de texto.

Svm Vs. Outros Algoritmos

Em comparação com algoritmos mais simples como a Regressão Logística, os SVMs têm como objetivo 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). Enquanto os modelos modernos de aprendizagem profunda, como o Ultralytics YOLO, se destacam na extração automática de caraterísticas a partir de dados brutos (como os pixéis na visão computacional (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. Pode encontrar muitos desses conjuntos de dados no Repositório de Aprendizagem Automática da UCI.

As implementações populares incluem LibSVM e o módulo SVM no scikit-learn. Embora o SVM não seja normalmente o núcleo de estruturas CV modernas como PyTorch ou TensorFlow, ele pode ser integrado em fluxos de trabalho mais amplos. O treinamento e o gerenciamento desses modelos, juntamente com vários outros, podem ser simplificados usando plataformas como o Ultralytics HUB, que simplifica o ciclo de vida dos MLOps, desde a rotulagem de dados até o ajuste de hiperparâmetros e a implantação do modelo final.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Ligue-se, colabore e cresça com inovadores globais

Aderir agora
Ligação copiada para a área de transferência