SlideShare una empresa de Scribd logo
1 de 27
Descomplicando Inteligência
Computacional com Support Vector
Machines (SVM)
MSc. José Ahirton Batista Lopes Filho
São Paulo, 23 de março de 2018
About Me
O que é SVM?
É um algoritmo de aprendizado de máquina supervisionado
que é utilizado, principalmente, para problemas de
classificação ou regressão;
Com a existência de duas ou mais classes rotuladas de
dados, ele age como um classificador discriminativo,
formalmente definido por um hiperplano ideal que separa
todas as classes;
Novos exemplos que são então mapeados para o mesmo
espaço podem ser categorizados com base em qual lado
da lacuna eles se encontram.
O que são Support Vectors?
Os vetores de suporte são os pontos de dados mais
próximos do hiperplano; os pontos de um conjunto de dados
que, se removidos, alterariam a posição do hiperplano
divisor;
Por causa disso, eles podem ser considerados os
elementos críticos de um conjunto de dados, são eles que
nos ajudam a construir nosso SVM.
O que são Hiperplanos?
A geometria nos diz que um hiperplano é um subespaço de
uma dimensão menor que seu espaço de ambiente;
Por exemplo, um hiperplano de um espaço n-dimensional
é um subconjunto plano com dimensão n-1;
Simplificando, é como se um hiperplano separasse o
espaço em dois meios espaços (classificador binário).
Classificação Linear vs. Não
Linear
Às vezes nossos dados são linearmente separáveis. Isso
significa que, para N classes com recursos M, podemos
aprender um mapeamento que é uma combinação linear
(tal como w = mx + b). Ou até mesmo um hiperplano
multidimensional (y = x + z + b + q);
Não importa quantas dimensões/recursos tenham um
conjunto de classes, podemos representar o mapeamento
usando uma função linear;
Mas às vezes não é. Como se houvesse um mapeamento
quadrático. Felizmente para nós, os SVMs podem executar
eficientemente uma classificação não-linear usando o que é
chamado de truque do kernel.
Classificação Linear vs. Não
Linear
SVM comparado a outras técnicas
em ML
Via de regra, SVMs são ótimos para conjuntos de dados
relativamente pequenos com menos valores
discrepantes;
Outros algoritmos ( tais como florestas aleatórias, redes
neurais profundas, etc.) exigem mais dados, mas quase
sempre apresentam modelos muito robustos;
A decisão de qual classificador usar depende do seu
conjunto de dados e da complexidade geral do problema;
"A otimização prematura é a raiz de todo o mal (ou pelo
menos a maior parte dela) na programação." - Donald Knuth
(discurso do prêmio de Turing 1974)
Classificadores
Lineares
fx
α
yest
valores +1
valores -1
f(x,w,b) = sign(w. x - b)
Como pode se
classificar esses
dados?
Classificadores
Lineares
fx
α
yest
valores +1
valores -1
f(x,w,b) = sign(w. x - b)
Como pode se
classificar esses
dados?
Classificadores
Lineares
fx
α
yest
valores +1
valores -1
f(x,w,b) = sign(w. x - b)
Como pode se
classificar esses
dados?
Classificadores
Lineares
fx
α
yest
valores +1
valores -1
f(x,w,b) = sign(w. x - b)
Como pode se
classificar esses
dados?
Classificadores
Lineares
fx
α
yest
valores +1
valores -1
f(x,w,b) = sign(w. x - b)
Como pode se
classificar esses
dados?
Margem do
Classificador
fx
α
yest
valores +1
valores -1
f(x,w,b) = sign(w. x - b)
Definindo a
margem de um
classificador linear
como a largura que
o limite poderia ser
aumentado antes
de atingir um ponto
de dados.
Margem Máxima
fx
α
yest
f(x,w,b) = sign(w. x - b)
O classificador
linear de margem
máxima é,
literalmente, o
classificador linear
com a margem
máxima. Este é o
tipo mais simples
de SVM (chamado
de um LSVM)
SVM Linear
valores +1
valores -1
Margem Máxima
fx
α
yest
f(x,w,b) = sign(w. x - b)
Support Vectors
são aqueles
datapoints que a
margem empurra
contra
valores +1
valores -1
Benefícios de uma margem
máxima?
1. Intuitivamente utilizar uma margem máxima parece mais
seguro.
2. Se cometermos um erro na localização do limite isso nos
dará menos chances de causar um erro de classificação.
3. O modelo fica imune à remoção de quaisquer pontos de
dados de vetor não-suporte.
4. Empiricamente funciona muito bem.
Como representar matematicamente?
…em m dimensões de entrada?
Plano Positivo
Plano Negativo
“Borda” de
Classificação
“Classe Predita = +1”
“Classe Predita = -1”
Dado um palpite de w e b nós podemos:
 Calcular se todos os pontos de dados se encontram nos “meio plano” corretos;
 Calcular a largura da margem;
 Então, agora só precisamos escrever um programa para pesquisar o espaço de
w e b para encontrar a margem mais ampla que corresponda a todos os
pontos de dados. Como?
 Gradiente descendente? Simulated Annealing? Inversão de Matriz? Método
de Newton?
“Classe Predita = +1”
“Classe Predita = -1”
wx+b=1
wx+b=0
wx+b=-1
M = Largura da Margem
x-
x+
ww.
2
Função de Perda (Loss Function)
Vamos definir nossa função de perda (o que minimizar) e
nossa função objetivo (o que otimizar);
Função de perda
Nós vamos usar a “Hinge Loss”. Esta é uma função de
perda usada para treinar classificadores. Tal perda é usada
para classificação de "margem máxima", principalmente
para máquinas de vetores de suporte (SVMs).
c é a função de perda, x a amostra, y é o rótulo verdadeiro,
f (x) o rótulo previsto.
Função Objetivo (Objective
Function)
 Como você pode ver, nosso objetivo de um SVM consiste em dois
termos. O primeiro termo é um regularizador, o coração do SVM, o
segundo termo a perda. O regularizador equilibra entre a maximização
e a perda de margem.
 Queremos encontrar a superfície de decisão que está maximamente
longe de qualquer ponto de dados.
 Como minimizamos nossa perda/otimização para nosso objetivo
(ou seja, aprender)?
 Temos que derivar nossa função objetiva para obter os gradientes!
Como temos dois termos, vamos derivá-los separadamente usando a
regra da soma na diferenciação.
Função Objetivo (Objective
Function)
Isso significa que, se tivermos uma amostra classificada incorretamente,
atualizamos o vetor de ponderação w usando os gradientes de ambos os
termos, senão, se classificados corretamente, apenas atualizamos w pelo
gradiente do regularizador.
Função Objetivo (Objective
Function)
 Condição de classificação errônea:
 Atualizar regra para nossos pesos (classificados incorretamente):
 Incluindo a taxa de aprendizado η e o regularizador λ . A taxa de
aprendizado é a duração das etapas em que o algoritmo reduz o
gradiente na curva de erro.
 Taxa de aprendizado muito alta? O algoritmo pode ultrapassar o ponto
ideal (overshoot).
 Taxa de aprendizado muito baixa? Pode levar muito tempo para
convergir.
Detalhamentos
 O regularizador controla a troca entre a obtenção de um erro de
treinamento baixo e um erro de teste baixo, que é a capacidade de
generalizar seu classificador para dados não vistos.
 Como um parâmetro de regulagem escolhemos 1/épocas, então este
parâmetro irá diminuir, conforme o número de épocas aumenta.
 Regularizador muito alto? Overfit (grande erro de teste)
 Regularizador muito baixo? Underfit (grande erro de treinamento)
 Atualizar regra para nossos pesos (corretamente classificados)
Aplicações
“É preciso provocar
sistematicamente confusão. Isso
promove a criatividade. Tudo aquilo
que é contraditório gera vida ”
Salvador Dalí
Obrigado!
ahirtonlopes@gmail.com
github.com/AhirtonL

Más contenido relacionado

La actualidad más candente (11)

Aprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosAprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de Dados
 
Scipy meetup-2020-02
Scipy meetup-2020-02Scipy meetup-2020-02
Scipy meetup-2020-02
 
Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Aprendizado de máquina
Aprendizado de máquinaAprendizado de máquina
Aprendizado de máquina
 
Cap05
Cap05Cap05
Cap05
 
Apresentacao -aula_14
Apresentacao  -aula_14Apresentacao  -aula_14
Apresentacao -aula_14
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
Aula1
Aula1Aula1
Aula1
 
Cap2 - Parte 5 - Medidas Para Dados Agrupados
Cap2 - Parte 5 - Medidas Para Dados AgrupadosCap2 - Parte 5 - Medidas Para Dados Agrupados
Cap2 - Parte 5 - Medidas Para Dados Agrupados
 

Similar a [José Ahirton Lopes] Support Vector Machines

Aprendizagem Supervisionada II
Aprendizagem Supervisionada IIAprendizagem Supervisionada II
Aprendizagem Supervisionada II
Luís Nunes
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
butest
 
Clustering informatizado
Clustering  informatizadoClustering  informatizado
Clustering informatizado
Diêgo Maciel
 
Scaling bayesian network parameter learning with Hadoop
Scaling bayesian network parameter learning with HadoopScaling bayesian network parameter learning with Hadoop
Scaling bayesian network parameter learning with Hadoop
João Gabriel Lima
 
A rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadasA rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadas
cesar do amaral
 

Similar a [José Ahirton Lopes] Support Vector Machines (20)

Aprendizagem Supervisionada II
Aprendizagem Supervisionada IIAprendizagem Supervisionada II
Aprendizagem Supervisionada II
 
Sistemas de Recomendação
Sistemas de RecomendaçãoSistemas de Recomendação
Sistemas de Recomendação
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
Apresentacao-Llanos-8.pdf
Apresentacao-Llanos-8.pdfApresentacao-Llanos-8.pdf
Apresentacao-Llanos-8.pdf
 
Support Vector Machines
Support Vector MachinesSupport Vector Machines
Support Vector Machines
 
Classificação de Documentos
Classificação de DocumentosClassificação de Documentos
Classificação de Documentos
 
IMRT, sua Implementação no CAT3D
IMRT,  sua Implementação no CAT3DIMRT,  sua Implementação no CAT3D
IMRT, sua Implementação no CAT3D
 
Machine Learning e Artificial Intelligence para desenvolvedores .NET
Machine Learning e Artificial Intelligence para desenvolvedores .NETMachine Learning e Artificial Intelligence para desenvolvedores .NET
Machine Learning e Artificial Intelligence para desenvolvedores .NET
 
Clustering informatizado
Clustering  informatizadoClustering  informatizado
Clustering informatizado
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvido
 
C# 8 e ML.NET
C# 8 e ML.NETC# 8 e ML.NET
C# 8 e ML.NET
 
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib:  Machine Learning na Prática[TDC2016] Apache SparkMLlib:  Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
 
Scaling bayesian network parameter learning with Hadoop
Scaling bayesian network parameter learning with HadoopScaling bayesian network parameter learning with Hadoop
Scaling bayesian network parameter learning with Hadoop
 
Choose your weapon - TDC Floripa 2019
Choose your weapon - TDC Floripa 2019Choose your weapon - TDC Floripa 2019
Choose your weapon - TDC Floripa 2019
 
Math
MathMath
Math
 
kNN Algorithm
kNN AlgorithmkNN Algorithm
kNN Algorithm
 
Inteligência Artificial - Busca com informação
Inteligência Artificial - Busca com informaçãoInteligência Artificial - Busca com informação
Inteligência Artificial - Busca com informação
 
High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP -  SparkMLlib Machine Learning na PráticaTDC2016SP -  SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Prática
 
A rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadasA rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadas
 

Más de Ahirton Lopes

Más de Ahirton Lopes (20)

[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
 
[Jose Ahirton Lopes] ML na Sala de Aula
[Jose Ahirton Lopes] ML na Sala de Aula[Jose Ahirton Lopes] ML na Sala de Aula
[Jose Ahirton Lopes] ML na Sala de Aula
 
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
 
[Jose Ahirton Lopes] ML na sala de aula
[Jose Ahirton Lopes] ML na sala de aula[Jose Ahirton Lopes] ML na sala de aula
[Jose Ahirton Lopes] ML na sala de aula
 
[Jose Ahirton Lopes] IA e para todos
[Jose Ahirton Lopes] IA e para todos[Jose Ahirton Lopes] IA e para todos
[Jose Ahirton Lopes] IA e para todos
 
[Jose Ahirton Lopes] O que se espera da tal equipe de dados
[Jose Ahirton Lopes] O que se espera da tal equipe de dados[Jose Ahirton Lopes] O que se espera da tal equipe de dados
[Jose Ahirton Lopes] O que se espera da tal equipe de dados
 
[Jose Ahirton Lopes] Detecção Precoce de Estudantes em Risco de Evasão Usan...
[Jose Ahirton Lopes]   Detecção Precoce de Estudantes em Risco de Evasão Usan...[Jose Ahirton Lopes]   Detecção Precoce de Estudantes em Risco de Evasão Usan...
[Jose Ahirton Lopes] Detecção Precoce de Estudantes em Risco de Evasão Usan...
 
[Jose Ahirton Lopes] Transfer Learning e GANS 101
[Jose Ahirton Lopes] Transfer Learning e GANS 101[Jose Ahirton Lopes] Transfer Learning e GANS 101
[Jose Ahirton Lopes] Transfer Learning e GANS 101
 
[Jose Ahirton Lopes] GANs 101
[Jose Ahirton Lopes] GANs 101[Jose Ahirton Lopes] GANs 101
[Jose Ahirton Lopes] GANs 101
 
Aula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neuraisAula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neurais
 
[Jose Ahirton Lopes] Transfer Learning e GANs 101
[Jose Ahirton Lopes] Transfer Learning e GANs 101[Jose Ahirton Lopes] Transfer Learning e GANs 101
[Jose Ahirton Lopes] Transfer Learning e GANs 101
 
[Jose Ahirton Lopes] ML na Sala de Aula
[Jose Ahirton Lopes] ML na Sala de Aula[Jose Ahirton Lopes] ML na Sala de Aula
[Jose Ahirton Lopes] ML na Sala de Aula
 
[Jose Ahirton Lopes] ML na sala de aula
[Jose Ahirton Lopes] ML na sala de aula[Jose Ahirton Lopes] ML na sala de aula
[Jose Ahirton Lopes] ML na sala de aula
 
[Jose Ahirton Lopes] O que se espera do tal Cientista de Dados
[Jose Ahirton Lopes] O que se espera do tal Cientista de Dados[Jose Ahirton Lopes] O que se espera do tal Cientista de Dados
[Jose Ahirton Lopes] O que se espera do tal Cientista de Dados
 
[Jose Ahirton lopes] Do Big ao Better Data
[Jose Ahirton lopes] Do Big ao Better Data[Jose Ahirton lopes] Do Big ao Better Data
[Jose Ahirton lopes] Do Big ao Better Data
 
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
 
[José Ahirton Lopes e Rafael Arevalo] Aula 01 - Robótica e IOT
[José Ahirton Lopes e Rafael Arevalo] Aula 01 - Robótica e IOT[José Ahirton Lopes e Rafael Arevalo] Aula 01 - Robótica e IOT
[José Ahirton Lopes e Rafael Arevalo] Aula 01 - Robótica e IOT
 
[Aula 01] School of AI SP - Back to Basics
[Aula 01] School of AI SP - Back to Basics[Aula 01] School of AI SP - Back to Basics
[Aula 01] School of AI SP - Back to Basics
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
 

[José Ahirton Lopes] Support Vector Machines

  • 1. Descomplicando Inteligência Computacional com Support Vector Machines (SVM) MSc. José Ahirton Batista Lopes Filho São Paulo, 23 de março de 2018
  • 3. O que é SVM? É um algoritmo de aprendizado de máquina supervisionado que é utilizado, principalmente, para problemas de classificação ou regressão; Com a existência de duas ou mais classes rotuladas de dados, ele age como um classificador discriminativo, formalmente definido por um hiperplano ideal que separa todas as classes; Novos exemplos que são então mapeados para o mesmo espaço podem ser categorizados com base em qual lado da lacuna eles se encontram.
  • 4. O que são Support Vectors? Os vetores de suporte são os pontos de dados mais próximos do hiperplano; os pontos de um conjunto de dados que, se removidos, alterariam a posição do hiperplano divisor; Por causa disso, eles podem ser considerados os elementos críticos de um conjunto de dados, são eles que nos ajudam a construir nosso SVM.
  • 5. O que são Hiperplanos? A geometria nos diz que um hiperplano é um subespaço de uma dimensão menor que seu espaço de ambiente; Por exemplo, um hiperplano de um espaço n-dimensional é um subconjunto plano com dimensão n-1; Simplificando, é como se um hiperplano separasse o espaço em dois meios espaços (classificador binário).
  • 6. Classificação Linear vs. Não Linear Às vezes nossos dados são linearmente separáveis. Isso significa que, para N classes com recursos M, podemos aprender um mapeamento que é uma combinação linear (tal como w = mx + b). Ou até mesmo um hiperplano multidimensional (y = x + z + b + q); Não importa quantas dimensões/recursos tenham um conjunto de classes, podemos representar o mapeamento usando uma função linear; Mas às vezes não é. Como se houvesse um mapeamento quadrático. Felizmente para nós, os SVMs podem executar eficientemente uma classificação não-linear usando o que é chamado de truque do kernel.
  • 8. SVM comparado a outras técnicas em ML Via de regra, SVMs são ótimos para conjuntos de dados relativamente pequenos com menos valores discrepantes; Outros algoritmos ( tais como florestas aleatórias, redes neurais profundas, etc.) exigem mais dados, mas quase sempre apresentam modelos muito robustos; A decisão de qual classificador usar depende do seu conjunto de dados e da complexidade geral do problema; "A otimização prematura é a raiz de todo o mal (ou pelo menos a maior parte dela) na programação." - Donald Knuth (discurso do prêmio de Turing 1974)
  • 9. Classificadores Lineares fx α yest valores +1 valores -1 f(x,w,b) = sign(w. x - b) Como pode se classificar esses dados?
  • 10. Classificadores Lineares fx α yest valores +1 valores -1 f(x,w,b) = sign(w. x - b) Como pode se classificar esses dados?
  • 11. Classificadores Lineares fx α yest valores +1 valores -1 f(x,w,b) = sign(w. x - b) Como pode se classificar esses dados?
  • 12. Classificadores Lineares fx α yest valores +1 valores -1 f(x,w,b) = sign(w. x - b) Como pode se classificar esses dados?
  • 13. Classificadores Lineares fx α yest valores +1 valores -1 f(x,w,b) = sign(w. x - b) Como pode se classificar esses dados?
  • 14. Margem do Classificador fx α yest valores +1 valores -1 f(x,w,b) = sign(w. x - b) Definindo a margem de um classificador linear como a largura que o limite poderia ser aumentado antes de atingir um ponto de dados.
  • 15. Margem Máxima fx α yest f(x,w,b) = sign(w. x - b) O classificador linear de margem máxima é, literalmente, o classificador linear com a margem máxima. Este é o tipo mais simples de SVM (chamado de um LSVM) SVM Linear valores +1 valores -1
  • 16. Margem Máxima fx α yest f(x,w,b) = sign(w. x - b) Support Vectors são aqueles datapoints que a margem empurra contra valores +1 valores -1
  • 17. Benefícios de uma margem máxima? 1. Intuitivamente utilizar uma margem máxima parece mais seguro. 2. Se cometermos um erro na localização do limite isso nos dará menos chances de causar um erro de classificação. 3. O modelo fica imune à remoção de quaisquer pontos de dados de vetor não-suporte. 4. Empiricamente funciona muito bem.
  • 18. Como representar matematicamente? …em m dimensões de entrada? Plano Positivo Plano Negativo “Borda” de Classificação “Classe Predita = +1” “Classe Predita = -1”
  • 19. Dado um palpite de w e b nós podemos:  Calcular se todos os pontos de dados se encontram nos “meio plano” corretos;  Calcular a largura da margem;  Então, agora só precisamos escrever um programa para pesquisar o espaço de w e b para encontrar a margem mais ampla que corresponda a todos os pontos de dados. Como?  Gradiente descendente? Simulated Annealing? Inversão de Matriz? Método de Newton? “Classe Predita = +1” “Classe Predita = -1” wx+b=1 wx+b=0 wx+b=-1 M = Largura da Margem x- x+ ww. 2
  • 20. Função de Perda (Loss Function) Vamos definir nossa função de perda (o que minimizar) e nossa função objetivo (o que otimizar); Função de perda Nós vamos usar a “Hinge Loss”. Esta é uma função de perda usada para treinar classificadores. Tal perda é usada para classificação de "margem máxima", principalmente para máquinas de vetores de suporte (SVMs). c é a função de perda, x a amostra, y é o rótulo verdadeiro, f (x) o rótulo previsto.
  • 21. Função Objetivo (Objective Function)  Como você pode ver, nosso objetivo de um SVM consiste em dois termos. O primeiro termo é um regularizador, o coração do SVM, o segundo termo a perda. O regularizador equilibra entre a maximização e a perda de margem.  Queremos encontrar a superfície de decisão que está maximamente longe de qualquer ponto de dados.  Como minimizamos nossa perda/otimização para nosso objetivo (ou seja, aprender)?  Temos que derivar nossa função objetiva para obter os gradientes! Como temos dois termos, vamos derivá-los separadamente usando a regra da soma na diferenciação.
  • 22. Função Objetivo (Objective Function) Isso significa que, se tivermos uma amostra classificada incorretamente, atualizamos o vetor de ponderação w usando os gradientes de ambos os termos, senão, se classificados corretamente, apenas atualizamos w pelo gradiente do regularizador.
  • 23. Função Objetivo (Objective Function)  Condição de classificação errônea:  Atualizar regra para nossos pesos (classificados incorretamente):  Incluindo a taxa de aprendizado η e o regularizador λ . A taxa de aprendizado é a duração das etapas em que o algoritmo reduz o gradiente na curva de erro.  Taxa de aprendizado muito alta? O algoritmo pode ultrapassar o ponto ideal (overshoot).  Taxa de aprendizado muito baixa? Pode levar muito tempo para convergir.
  • 24. Detalhamentos  O regularizador controla a troca entre a obtenção de um erro de treinamento baixo e um erro de teste baixo, que é a capacidade de generalizar seu classificador para dados não vistos.  Como um parâmetro de regulagem escolhemos 1/épocas, então este parâmetro irá diminuir, conforme o número de épocas aumenta.  Regularizador muito alto? Overfit (grande erro de teste)  Regularizador muito baixo? Underfit (grande erro de treinamento)  Atualizar regra para nossos pesos (corretamente classificados)
  • 26. “É preciso provocar sistematicamente confusão. Isso promove a criatividade. Tudo aquilo que é contraditório gera vida ” Salvador Dalí