0Pricing
Learn AI with Python · Aula

Truque do kernel: RBF, polinomial e sigmoide

Por que os kernels funcionam, parâmetro gamma do kernel RBF e escolha de kernels para diferentes formatos de dados.

Truque do kernel: RBF, polinomial e sigmoide é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 2 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.

Quando as linhas não são suficientes

Um SVM linear só desenha fronteiras retas. Muitos conjuntos de dados não são separáveis linearmente: um círculo de uma classe cercado por outra não pode ser separado por uma linha. O truque do núcleo resolve esse problema.

Mapeando para dimensões maiores

Se os dados não forem separáveis no espaço original, projetá-los em um espaço de maior dimensão pode torná-los separáveis. Uma curva em 2D pode se tornar um plano em 3D.

O truque do núcleo

O truque do núcleo calcula a similaridade K(x, z) entre pontos como se eles tivessem sido mapeados para dimensões altas, sem nunca realizar o mapeamento dispendioso. Isso torna os SVMs não lineares eficientes.

O que é uma função de núcleo

Um núcleo K(x, z) é uma função que retorna o produto escalar de x e z em algum espaço de recursos de alta dimensão. Núcleos diferentes implicam mapeamentos de recursos e formatos de fronteira diferentes.

O núcleo RBF

O núcleo RBF (gaussiano) é o padrão mais popular: K(x, z) = exp(-gamma * ||x - z||^2). Ele mede uma similaridade que diminui com a distância, permitindo fronteiras curvas e flexíveis.

from sklearn.svm import SVC

model = SVC(kernel="rbf", gamma="scale", C=1.0)
model.fit(X, y)

O parâmetro gama

gamma controla a largura do RBF. Uma gama grande significa que cada ponto tem uma influência estreita, produzindo uma fronteira sinuosa que pode causar sobreajuste. Uma gama pequena significa uma influência ampla e uma fronteira mais suave.

from sklearn.svm import SVC

wiggly = SVC(kernel="rbf", gamma=10)    # tight, can overfit
smooth = SVC(kernel="rbf", gamma=0.01)  # broad, may underfit

Gama e C em conjunto

Os SVMs com RBF dependem tanto de gamma (flexibilidade da fronteira) quanto de C (tolerância a erros). Eles interagem; por isso, geralmente são ajustados em conjunto com uma busca em grade.

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

param = {"C": [0.1, 1, 10], "gamma": [0.01, 0.1, 1]}
gs = GridSearchCV(SVC(kernel="rbf"), param, cv=5)
gs.fit(X, y)

O núcleo polinomial

O núcleo polinomial K(x, z) = (gamma * x . z + r)^degree modela interações até um grau escolhido. Use-o quando esperar interações entre recursos de uma ordem conhecida.

from sklearn.svm import SVC

model = SVC(kernel="poly", degree=3, coef0=1, gamma="scale")
model.fit(X, y)

O núcleo sigmoide

O núcleo sigmoide K(x, z) = tanh(gamma * x . z + r) se comporta como uma função de ativação de uma rede neural. É menos comum e nem sempre é um núcleo válido, portanto raramente é a primeira escolha.

from sklearn.svm import SVC

model = SVC(kernel="sigmoid", gamma="scale", coef0=0)

Escolhendo um núcleo

Orientações:

  • Linear para dados de alta dimensão ou de texto
  • RBF como um excelente padrão geral para dados não lineares
  • Polinomial quando forem importantes interações de um grau conhecido
  • Sigmoide raramente, em casos específicos

Sempre padronize os recursos

Núcleos como o RBF dependem de distâncias, portanto a escala dos recursos é extremamente importante. Sempre padronize os recursos antes de usar um SVM com núcleo; caso contrário, recursos em grande escala dominarão a similaridade.

from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC

pipe = make_pipeline(StandardScaler(), SVC(kernel="rbf"))
pipe.fit(X, y)

Verificação rápida

Teste seus conhecimentos sobre núcleos.

Recapitulação

Recapitulação: o truque do núcleo calcula K(x, z) como um produto escalar de alta dimensão, sem o custo do mapeamento, permitindo fronteiras não lineares. O RBF usa exp(-gamma * ||x-z||^2), em que uma gama grande causa sobreajuste. O polinomial captura interações de grau d. Sempre padronize os recursos antes de usar SVMs com núcleo.

Perguntas Frequentes

A aula “Truque do kernel: RBF, polinomial e sigmoide” é grátis?

Sim — o texto completo de “Truque do kernel: RBF, polinomial e sigmoide” é 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 “Truque do kernel: RBF, polinomial e sigmoide”?

Por que os kernels funcionam, parâmetro gamma do kernel RBF e escolha de kernels para diferentes formatos de dados. 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 2 de 4.

Quanto tempo leva a aula “Truque do kernel: RBF, polinomial e sigmoide”?

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