Glossário

Máquina de vetor de suporte (SVM)

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.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A Máquina de Vectores de Suporte (SVM) é um poderoso algoritmo de aprendizagem automática supervisionada, utilizado principalmente para tarefas de classificação, mas também pode ser aplicado à regressão e à deteção de outliers. Essencialmente, um modelo SVM procura encontrar o limite ideal que separa as diferentes classes nos seus dados. Essa fronteira, conhecida como hiperplano, é escolhida para maximizar a margem, ou a distância entre o hiperplano e os pontos de dados mais próximos de cada classe. Esse foco na maximização da margem é o que torna os SVMs particularmente eficazes na generalização, o que significa que eles têm um bom desempenho em dados não vistos.

Como funciona a SVM

Na sua essência, o SVM tem como objetivo encontrar o melhor hiperplano para dividir um conjunto de dados em classes distintas. Imagina que tens dois grupos de pontos de dados representados num gráfico e queres desenhar uma linha para os separar. Um SVM não desenha uma linha qualquer; encontra a linha que está mais afastada dos pontos mais próximos de ambos os grupos. Esses pontos mais próximos são chamados de vetores de suporte e são cruciais para definir o hiperplano e, consequentemente, o limite de decisão.

As SVMs são versáteis e podem lidar com problemas de classificação lineares e não lineares. Para dados linearmente separáveis, uma simples linha reta (em 2D) ou um hiperplano (em dimensões superiores) é suficiente. No entanto, para conjuntos de dados mais complexos e não lineares, as SVMs utilizam uma técnica chamada truque do kernel. Isto permite-lhes mapear implicitamente os dados em espaços de dimensão superior, onde um hiperplano linear pode efetivamente separar as classes, sem efetuar a transformação computacionalmente dispendiosa. Os kernels comuns incluem kernels lineares, polinomiais e de função de base radial (RBF), cada um deles adequado a diferentes tipos de distribuição de dados.

Relevância e aplicações

As SVM são muito valorizadas na aprendizagem automática devido à sua robustez e eficácia em espaços de elevada dimensão. São particularmente úteis quando se lida com conjuntos de dados complexos em que existe uma clara margem de separação entre classes, mas os limites são intrincados. Embora os modelos mais recentes de aprendizagem profunda se tenham tornado predominantes em muitas áreas, as SVM continuam a ser relevantes e são frequentemente preferidas em cenários com:

  • Elevada dimensionalidade: As SVMs têm um bom desempenho mesmo quando o número de caraterísticas é muito maior do que o número de amostras. Isto é diferente de alguns outros algoritmos que podem ter dificuldades com dados esparsos e de elevada dimensão.
  • Margem de separação clara: Quando existe uma separação distinta entre classes, as SVMs podem encontrar limites efectivos, superando frequentemente outros classificadores.
  • Necessidade de interpretabilidade: Embora não sejam tão interpretáveis como as árvores de decisão, as SVM são mais transparentes do que as redes neuronais complexas. Os vectores de apoio fornecem informações sobre os pontos de dados mais críticos para a classificação.

As SVMs têm encontrado aplicações em diversos domínios, incluindo:

  • Classificação de imagens: Na visão computacional, as SVMs podem ser utilizadas para tarefas de classificação de imagens. Por exemplo, podem classificar imagens em categorias como gatos e cães, ou diferentes tipos de objectos detectados por modelosUltralytics YOLO .
  • Classificação de textos e documentos: As SVMs são eficazes no processamento de linguagem natural para tarefas como a análise de sentimentos, a deteção de spam e a categorização de artigos noticiosos. Consegue lidar com os espaços de caraterísticas de elevada dimensão que são comuns nos dados de texto.
  • Diagnóstico médico: Na área da saúde, as SVMs são utilizadas na análise de imagens médicas para classificar imagens médicas, como a identificação de células cancerosas em imagens de radiologia ou o diagnóstico de doenças com base em dados de pacientes.
  • Bioinformática: As SVMs são utilizadas para a classificação de sequências, previsão da estrutura de proteínas e análise da expressão genética na investigação bioinformática.

Vantagens e limitações

As SVMs oferecem várias vantagens:

  • Eficaz em dimensões elevadas: Como já foi referido, as SVMs são excelentes em espaços com muitas caraterísticas.
  • Memória eficiente: Utiliza um subconjunto de pontos de treino (vectores de apoio) na função de decisão, o que os torna eficientes em termos de memória.
  • Funções de kernel versáteis: O truque do kernel permite às SVMs modelar eficazmente limites de decisão não lineares.

No entanto, as SVMs também têm limitações:

  • Complexidade computacional: O treino pode ser computacionalmente intensivo, especialmente com grandes conjuntos de dados, embora técnicas como a Otimização Mínima Sequencial (SMO) ajudem a mitigar este facto.
  • Afinação de parâmetros: A escolha do kernel e dos hiperparâmetros, como o parâmetro de regularização (C) e os parâmetros do kernel, pode ter um impacto significativo no desempenho e requer uma afinação cuidadosa, muitas vezes através de técnicas como a afinação de hiperparâmetros.
  • Não é inerentemente probabilístico: os SVMs produzem um rótulo de classe, mas as estimativas de probabilidade requerem calibração adicional, ao contrário dos modelos probabilísticos como a regressão logística ou Naive Bayes.

Exemplos do mundo real

  1. Reconhecimento facial: As SVMs são utilizadas em sistemas de reconhecimento facial para classificar caraterísticas faciais e identificar indivíduos. Dado um conjunto de dados de imagens faciais, uma SVM pode ser treinada para distinguir entre diferentes rostos, formando a base de um sistema de reconhecimento facial utilizado em aplicações de segurança ou de identificação pessoal.

  2. Deteção de e-mails de spam: As SVMs são muito eficazes na filtragem de e-mails de spam. Ao treinar uma SVM em caraterísticas extraídas do conteúdo e dos metadados do correio eletrónico, como frequências de palavras, cabeçalhos de correio eletrónico e informações sobre o remetente, o modelo pode classificar com precisão os e-mails recebidos como spam ou não spam, melhorando a segurança do correio eletrónico e a experiência do utilizador.

Em conclusão, as máquinas de vectores de suporte são um algoritmo de aprendizagem automática robusto e versátil, adequado para a classificação e outras tarefas, em especial em contextos de elevada dimensão ou quando existe uma clara margem de separação entre classes. Embora possam não ser a mais recente tecnologia de aprendizagem profunda, a sua eficácia e a sua base teórica garantem a sua relevância contínua no domínio da inteligência artificial.

Lê tudo