Learn AI with Python · Aula

Teoria de SVM: margens e vetores de suporte

Classificador de margem máxima, margem rígida versus flexível (parâmetro C) e vetores de suporte.

Aula 1 de 413 etapas

Teoria de SVM: margens e vetores de suporte é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

O que é um SVM

Uma Máquina de Vetores de Suporte é um classificador que encontra a fronteira que melhor separa duas classes. Em vez de escolher qualquer linha separadora, ela busca aquela com o maior intervalo entre as classes.

O hiperplano separador

Em 2D, a fronteira é uma linha; em dimensões maiores, é um hiperplano. O SVM o define como w . x + b = 0, classificando os pontos de acordo com o lado em que eles se encontram.

A margem

A margem é a distância entre o hiperplano e os pontos mais próximos de cada classe. Os SVMs maximizam essa margem porque um intervalo maior geralmente generaliza melhor para dados novos.

Hiperplano de margem máxima

Entre todas as fronteiras válidas, o SVM escolhe o hiperplano de margem máxima: aquele que fica mais distante dos pontos mais próximos em ambos os lados. Essa é a ideia central que torna os SVMs robustos.

Vetores de suporte

Os vetores de suporte são os pontos de dados mais próximos da fronteira, aqueles que tocam as extremidades da margem. Somente eles determinam o hiperplano; remover os outros pontos não o altera.

from sklearn.svm import SVC

model = SVC(kernel="linear")
model.fit(X, y)
print("Support vectors:\n", model.support_vectors_)
print("Indices:", model.support_)

Por que os vetores de suporte são importantes

Como somente os vetores de suporte definem o modelo, os SVMs usam pouca memória no momento da previsão e se concentram nos exemplos mais difíceis e informativos próximos à fronteira, em vez dos exemplos fáceis e distantes.

Margem rígida

Um SVM de margem rígida exige separação perfeita: nenhum ponto pode ultrapassar a margem. Isso só funciona quando os dados são perfeitamente separáveis linearmente e é muito sensível a valores discrepantes.

O problema das margens rígidas

Dados reais contêm ruído e raramente são perfeitamente separáveis. Um único valor discrepante pode tornar uma margem rígida impossível ou forçar uma margem absurdamente estreita. Precisamos permitir alguns erros.

Margem flexível

Uma margem flexível permite que alguns pontos violem a margem ou sejam classificados incorretamente, trocando alguns erros por uma fronteira mais ampla e robusta. Isso é controlado pelo parâmetro C.

O parâmetro C

C define a penalidade por violações. Um C maior pune os erros com mais rigor, produzindo uma margem menor que se ajusta estreitamente aos dados de treinamento (com risco de sobreajuste). Um C menor permite mais folga e uma margem mais ampla (mais regularização).

from sklearn.svm import SVC

strict = SVC(C=100, kernel="linear")   # narrow margin, fits closely
relaxed = SVC(C=0.1, kernel="linear")  # wide margin, more tolerant

Ajustando C na prática

Escolha C usando validação cruzada. Um valor grande demais causa sobreajuste; um valor pequeno demais causa subajuste. O melhor valor equilibra a largura da margem e a precisão no treinamento para os seus dados.

from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC

gs = GridSearchCV(SVC(kernel="linear"), {"C": [0.01, 0.1, 1, 10, 100]}, cv=5)
gs.fit(X, y)
print("Best C:", gs.best_params_)

Verificação rápida

Teste seus conhecimentos sobre a teoria dos SVMs.

Recapitulação

Recapitulação: os SVMs encontram o hiperplano de margem máxima que separa as classes. Os vetores de suporte são os pontos mais próximos e, sozinhos, definem a fronteira. Uma margem rígida exige separação perfeita; uma margem flexível permite violações controladas por C (C maior = margem menor, menos regularização).

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
53
Aulas
225

Perguntas Frequentes

A aula “Teoria de SVM: margens e vetores de suporte” é grátis?

Sim — o texto completo de “Teoria de SVM: margens e vetores de suporte” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Teoria de SVM: margens e vetores de suporte”?

Classificador de margem máxima, margem rígida versus flexível (parâmetro C) e vetores de suporte. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Teoria de SVM: margens e vetores de suporte”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Teoria de SVM: margens e vetores de suporte
  2. Truque do kernel: RBF, polinomial e sigmoide
  3. SVMs para classificação com sklearn
  4. SVMs para regressão (SVR)
← Voltar para Learn AI with Python