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 underfitGama 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
- Teoria de SVM: margens e vetores de suporte
- Truque do kernel: RBF, polinomial e sigmoide
- SVMs para classificação com sklearn
- SVMs para regressão (SVR)