SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
Algoritmos Clássicos em IA –
Árvores de Decisão, Naïve Bayes e
Support Vector Machines
MSc. José Ahirton Batista Lopes Filho
São Paulo, 09 de junho de 2018
About Me
Roteiro
— Árvores de decisão
— Support Vector Machines
— Naive Bayes
Ferramentais
Árvore de Decisão
— Uma árvore de decisão utiliza uma estratégia do tipo divider para
conquistar:
— Um problema complexo é decomposto em sub-problemas mais simples onde,
recursivamente, a mesma estratégia é aplicada a cada subproblema.
— A capacidade de discriminação de uma árvore vem da:
— Divisão do espaço definido pelos atributos em sub-espaços;
— A cada sub-espaço é associada uma classe.
— Crescente interesse– Scikitlearn,Splus, Statistica, SPSS , R;
Árvore de Decisão
Árvore de Decisão
Árvore de Decisão
— Uma árvore de decisão representa a disjunção de conjunções de
restrições nos valores dos atributos
— Cada ramo na árvore é uma conjunção de condições
— O conjunto de ramos na árvore são disjuntos
— DNF (disjuntive normal form)
— Qualquer função lógica pode ser representada por um árvore de
decisão.
— Exemplo a or b
Construção de uma Árvore de Decisão
— 1. Escolher um atributo;
— 2. Estender a árvore adicionando um ramo para cada valor
doatributo;
— 3. Passar os exemplos para as folhas (tendo em conta o valor do
atributo escolhido);
— 4. Para cada folha:
— 1. Se todos os exemplos são da mesma classe, associar essa classe à folha;
— 2. Senão repetir os passos 1 a 4.
Exemplos
Medidas de Partição
— Como medir a habilidade quem um dado atributo tem de
discriminar as diferentes classes?
— Existem muitas medidas. Todas concordam em dois pontos:
— Uma divisão que mantêm as proporções de classes em todas as partições é
inútil.
— Uma divisão onde em cada partição todos os exemplos são da mesma classe
tem utilidade máxima.
Medidas de Partição
— Medida da diferença dada por uma função baseada nas
proporçõesdas classes entre o nó corrente e os nós descendentes.
— Valoriza a pureza das partições.
— Gini, entropia
— Medida da diferença dada por uma função baseada nas
proporçõesdas classes entre os nós descendentes.
— Valoriza a disparidade entre as partições.
— Lopez de Mantaras– Medida de independência
— Medida do grau de associação entre os atributos e a classe
Entropia
— Entropia é uma medida da aleatoridade de uma variável.
— A entropia de uma variável nominal X que pode tomar i valores:
— A entropia tem máximo (log2i) se pi = pj para qualquer i<> j
— A entropia(x) = 0 se existe um i tal que pi = 1
— É assumido que 0 * log20 = 0
Ganho de Informação
— No contexto das árvores de decisão a entropia é usada para
estimar a aleatoridade da variável a prever, no casos as classes.
— Dado um conjunto de exemplos, que atributo escolher para teste?
— Os valores de um atributo definem partições do conjunto de exemplos.
— O ganho de informação mede a redução da entropia causada pela partição
dosexemplos de acordo com os valores do atributo.
— A construção de uma árvore de decisão é guiada pelo objetivo de
diminuir a entropia ou seja a aleatoridade (dificuldade de previsão)
da variável objetivo.
Cálculo do Ganho de Informação –
Atributos Numéricos
— Um teste num atributo numérico produz uma partição binária doconjunto de exemplos:
— – Exemplos onde valor_do_atributo<ponto_referência
— – Exemplos onde valor_do_atributo>= ponto_referência
— Escolha do ponto de referência:
— – Ordenar os exemplos por ordem crescente dos valores do atributo numérico.
— – Qualquer ponto intermédiário entre dois valores diferentes e consecutivos dos
valores observados no conjunto de treino pode ser utilizado como possível ponto de
referência.
— É usual considerar o valor médio entre dois valores diferentes e consecutivos.
— Todos possíveis pontos de referência aqueles os quais maximizam o ganho de
informação invariavelmente separam dois exemplos de classes diferentes.
Cálculo do Ganho de Informação –
Atributos Numéricos
Cálculo do Ganho de Informação –
Atributos Nominais
Cálculo do Ganho de Informação –
Atributos Nominais
Cálculo do Ganho de Informação –
Atributos Nominais
Critérios de Parada
Quando parar a divisão dos exemplos?
— Todos os exemplos pertencem á mesma classe.
— Todos os exemplos têm os mesmos valores dos atributos (masdiferentes
classes).
— O número de exemplos é inferior a um certo limite.
— A significância de todos os possíveis testes de partição dos exemplos é muito
baixo.
Construção de uma Árvore
• O problema de construir uma árvore de decisão:
— Consistente com um conjunto de exemplos;
— Com o menor numero de nós;
— É um problema NP completo (não tem solução rápida aparente).
• Dois problemas:
— Que atributo selecionar para teste em um nó?
— Quando parar a divisão dos exemplos ?
• Algoritmos mais utilizados:
— Utilizam heurísticas que tomam decisões olhando para a frente um passo;
— Não reconsideram as opções tomadas.
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
a
yest
valores +1
valores -1
f(x,w,b) = sign(w. x - b)
Como pode se
classificar esses
dados?
Classificadores Lineares
fx
a
yest
valores +1
valores -1
f(x,w,b) = sign(w. x - b)
Como pode se
classificar esses
dados?
Classificadores Lineares
fx
a
yest
valores +1
valores -1
f(x,w,b) = sign(w. x - b)
Como pode se
classificar esses
dados?
Classificadores Lineares
fx
a
yest
valores +1
valores -1
f(x,w,b) = sign(w. x - b)
Como pode se
classificar esses
dados?
Classificadores Lineares
fx
a
yest
valores +1
valores -1
f(x,w,b) = sign(w. x - b)
Como pode se
classificar esses
dados?
Margem do Classificador
fx
a
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
a
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
a
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.
— Ou nunca 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)
O que é Naive Bayes?
— É uma técnica de classificação baseada no Teorema de Bayes com
uma suposição de independência entre preditores.
— Em termos simples, um classificador Naive Bayes assume que a
presença de um recurso particular em uma classe não está
relacionada à presença de qualquer outro recurso.
— Por exemplo, uma fruta pode ser considerada uma maçã se for vermelha, redonda
e com cerca de 3 polegadas de diâmetro.
— Mesmo que essas características dependam umas das outras ou da existência das
outras características, todas essas propriedades contribuem independentemente
para a probabilidade de que essa fruta seja uma maçã e é por isso que ela é
conhecida como "Naive".
O que é Naive Bayes?
— O modelo Naive Bayes é fácil de construir e particularmente útil
para conjuntos de dados muito grandes.
— O teorema de Bayes fornece uma maneira de calcular a
probabilidade posterior P (c | x) de P (c), P (x) e P (x | c). Veja a
equação abaixo:
Como Funciona?
— A partir de um conjunto de dados de treinamento de clima e a
variável de segmentação correspondente ”Jogar" (sugerindo
possibilidades de haver jogo ou não). Agora, precisamos classificar
se os jogadores jogarão ou não com base na condição climática.
Como Funciona?
— Etapa 1: converter o conjunto de dados em uma tabela de
frequência;
— Passo 2: Criar a tabela de “Probabilidade” (likelihood) encontrando
as probabilidades para cada atributo. Tal como a probabilidade de
tempo nublado (overcast) = 0,29 e a probabilidade de jogar de
0,64.
— Passo 3: Agora, usamos a equação de Bayes para calcular a
probabilidade posterior de cada classe.
— A classe com a maior probabilidade posterior é o resultado da
previsão.
Como Funciona?
— Problema: Os jogadores irão jogar se o tempo estiver ensolarado.
Esta afirmação está correta?
— Podemos resolvê-lo usando o método discutido de probabilidade
posterior, onde:
— P (Sim | Sol) = P (Sol | Sim) * P (Sim) / P (Sol);
— Aqui temos P (Ensolarado | Sim) = 3/9 = 0.33, P (Ensolarado) = 5/14 = 0.36, P
(Sim) = 9/14 = 0.64;
— Agora, P (Sim | Sol) = 0,33 * 0,64 / 0,36 = 0,60, que tem maior probabilidade.
— Naive Bayes usa um método similar para prever a probabilidade de
classes diferentes baseadas em vários atributos.
— Este algoritmo é usado principalmente na classificação de texto e
com problemas com várias classes.
Prós e Contras
— É fácil e rápido prever a classe do conjunto de dados de teste. Ele
também funciona bem na previsão de multi classe.
— Quando a suposição de independência é válida, um classificador
Naive Bayes apresenta uma melhor comparação com outros
modelos, como a regressão logística, e você precisa de menos
dados de treinamento.
— Ele funciona bem no caso de variáveis ​​de entrada categóricas em
comparação com variáveis ​​numéricas. Para variáveis ​​numéricas, a
distribuição normal é assumida (curva de sino, que é uma forte
suposição).
Prós e Contras
— Se a variável categórica tiver uma categoria (no conjunto de dados
de teste), que não foi observada no conjunto de dados de
treinamento, o modelo atribuirá uma probabilidade 0 (zero) e não
poderá fazer uma previsão.
— Isso é geralmente conhecido como "Freqüência Zero". Para
resolver isso, podemos usar a técnica de suavização. Uma das
técnicas de suavização mais simples é chamada de estimativa de
Laplace.
Prós e Contras
— Por outro lado, o Naive Bayes também é conhecido como mau
estimador, de modo que as saídas de probabilidade do não devem
ser levadas muito a sério.
— Outra limitação do Naive Bayes é a hipótese de preditores
independentes. Na vida real, é quase impossível obtermos um
conjunto de preditores completamente independentes.
Aplicações
— Classificação
— Regressão (Predição em
Séries Temporais)
— Detecção de Outliers
— Clusterização
— Entre outras
“É 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

Mais conteúdo relacionado

Mais procurados

Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoJessyka Lage
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scriptingVIKAS TIWARI
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersDaniel Maia
 
3 escalonamento processos
3 escalonamento processos3 escalonamento processos
3 escalonamento processosfrteles
 
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados  - Aula 12 - Listas Duplamente EncadeadasEstrutura de Dados  - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 12 - Listas Duplamente EncadeadasLeinylson Fontinele
 
Lógica de Programação - Vetor
Lógica de Programação - VetorLógica de Programação - Vetor
Lógica de Programação - VetorWesley R. Bezerra
 
Servidores Web
Servidores Web Servidores Web
Servidores Web bastosluis
 
Aula 19 instalação de drivers de dispositivos
Aula 19   instalação de drivers de dispositivosAula 19   instalação de drivers de dispositivos
Aula 19 instalação de drivers de dispositivosMarcos Basilio
 
Apresentação sobre Árvores B
Apresentação sobre Árvores BApresentação sobre Árvores B
Apresentação sobre Árvores BThiago Colares
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
MC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaMC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaFelipe J. R. Vieira
 
Componentes da camada fisica do modelo OSI - redes de comunicação
Componentes da camada fisica do modelo OSI - redes de comunicaçãoComponentes da camada fisica do modelo OSI - redes de comunicação
Componentes da camada fisica do modelo OSI - redes de comunicaçãoTudosbinformatica .blogspot.com
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumRafael Souza
 
Sistemas operativos ficha formativa nº3 - resolução
Sistemas operativos   ficha formativa nº3 - resoluçãoSistemas operativos   ficha formativa nº3 - resolução
Sistemas operativos ficha formativa nº3 - resoluçãoteacherpereira
 
Description of GRUB 2
Description of GRUB 2Description of GRUB 2
Description of GRUB 2iamumr
 
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)Erick Petrucelli
 

Mais procurados (20)

Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: Introdução
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scripting
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
 
3 escalonamento processos
3 escalonamento processos3 escalonamento processos
3 escalonamento processos
 
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados  - Aula 12 - Listas Duplamente EncadeadasEstrutura de Dados  - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
 
Lógica de Programação - Vetor
Lógica de Programação - VetorLógica de Programação - Vetor
Lógica de Programação - Vetor
 
Servidores Web
Servidores Web Servidores Web
Servidores Web
 
Aula 19 instalação de drivers de dispositivos
Aula 19   instalação de drivers de dispositivosAula 19   instalação de drivers de dispositivos
Aula 19 instalação de drivers de dispositivos
 
Apresentação sobre Árvores B
Apresentação sobre Árvores BApresentação sobre Árvores B
Apresentação sobre Árvores B
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
MC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaMC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e Memória
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Componentes da camada fisica do modelo OSI - redes de comunicação
Componentes da camada fisica do modelo OSI - redes de comunicaçãoComponentes da camada fisica do modelo OSI - redes de comunicação
Componentes da camada fisica do modelo OSI - redes de comunicação
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
 
Sistemas operativos ficha formativa nº3 - resolução
Sistemas operativos   ficha formativa nº3 - resoluçãoSistemas operativos   ficha formativa nº3 - resolução
Sistemas operativos ficha formativa nº3 - resolução
 
Description of GRUB 2
Description of GRUB 2Description of GRUB 2
Description of GRUB 2
 
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
 

Semelhante a [José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes

[José Ahirton Lopes] Support Vector Machines
[José Ahirton Lopes] Support Vector Machines[José Ahirton Lopes] Support Vector Machines
[José Ahirton Lopes] Support Vector MachinesAhirton Lopes
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automáticabutest
 
Mineração de dados com a presença da deriva conceitual
Mineração de dados com a presença da deriva conceitualMineração de dados com a presença da deriva conceitual
Mineração de dados com a presença da deriva conceitualLuis Miguel Rojas Aguilera
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenaçãoJonas Mendonça
 
Support Vector Machines
Support Vector MachinesSupport Vector Machines
Support Vector MachinesLeandro Farias
 
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 DadosDiego Negretto
 
Aprendizagem Supervisionada II
Aprendizagem Supervisionada IIAprendizagem Supervisionada II
Aprendizagem Supervisionada IILuís Nunes
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAdilmar Dantas
 
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)Ben Hur Bahia do Nascimento
 
Aula 2 módulo i - psi
Aula 2   módulo i - psiAula 2   módulo i - psi
Aula 2 módulo i - psi111111119
 
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...Geanderson Lenz
 
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 .NETRenato Haddad
 

Semelhante a [José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes (20)

[José Ahirton Lopes] Support Vector Machines
[José Ahirton Lopes] Support Vector Machines[José Ahirton Lopes] Support Vector Machines
[José Ahirton Lopes] Support Vector Machines
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
ID3 Algorithm
ID3 AlgorithmID3 Algorithm
ID3 Algorithm
 
Sistemas de Recomendação
Sistemas de RecomendaçãoSistemas de Recomendação
Sistemas de Recomendação
 
Mineração de dados com a presença da deriva conceitual
Mineração de dados com a presença da deriva conceitualMineração de dados com a presença da deriva conceitual
Mineração de dados com a presença da deriva conceitual
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Support Vector Machines
Support Vector MachinesSupport Vector Machines
Support Vector Machines
 
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
 
Aprendizagem Supervisionada II
Aprendizagem Supervisionada IIAprendizagem Supervisionada II
Aprendizagem Supervisionada II
 
160277 redes neurais artificiais
160277 redes neurais artificiais160277 redes neurais artificiais
160277 redes neurais artificiais
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de Emoções
 
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
 
Apresentação meta-aprendizado
Apresentação meta-aprendizadoApresentação meta-aprendizado
Apresentação meta-aprendizado
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
kNN Algorithm
kNN AlgorithmkNN Algorithm
kNN Algorithm
 
Aula 2 módulo i - psi
Aula 2   módulo i - psiAula 2   módulo i - psi
Aula 2 módulo i - psi
 
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...
 
High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 
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
 
Modelos de previsão de Ocorrências
Modelos de previsão de OcorrênciasModelos de previsão de Ocorrências
Modelos de previsão de Ocorrências
 

Mais de Ahirton Lopes

[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 VisualAhirton Lopes
 
[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 AulaAhirton Lopes
 
[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 VisualAhirton Lopes
 
[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 aulaAhirton Lopes
 
[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 todosAhirton Lopes
 
[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 dadosAhirton Lopes
 
[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...Ahirton Lopes
 
[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 101Ahirton Lopes
 
[Jose Ahirton Lopes] GANs 101
[Jose Ahirton Lopes] GANs 101[Jose Ahirton Lopes] GANs 101
[Jose Ahirton Lopes] GANs 101Ahirton Lopes
 
Aula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neuraisAula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neuraisAhirton Lopes
 
[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 101Ahirton Lopes
 
[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 AulaAhirton Lopes
 
[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 aulaAhirton Lopes
 
[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 DadosAhirton Lopes
 
[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 DataAhirton Lopes
 
[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 VisualAhirton Lopes
 
[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 IOTAhirton Lopes
 
[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 BasicsAhirton Lopes
 
[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 VisualAhirton Lopes
 
[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 VisualAhirton Lopes
 

Mais 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] Treinamento - Árvores de Decisão, SVM e Naive Bayes

  • 1. Algoritmos Clássicos em IA – Árvores de Decisão, Naïve Bayes e Support Vector Machines MSc. José Ahirton Batista Lopes Filho São Paulo, 09 de junho de 2018
  • 3. Roteiro — Árvores de decisão — Support Vector Machines — Naive Bayes
  • 5. Árvore de Decisão — Uma árvore de decisão utiliza uma estratégia do tipo divider para conquistar: — Um problema complexo é decomposto em sub-problemas mais simples onde, recursivamente, a mesma estratégia é aplicada a cada subproblema. — A capacidade de discriminação de uma árvore vem da: — Divisão do espaço definido pelos atributos em sub-espaços; — A cada sub-espaço é associada uma classe. — Crescente interesse– Scikitlearn,Splus, Statistica, SPSS , R;
  • 8. Árvore de Decisão — Uma árvore de decisão representa a disjunção de conjunções de restrições nos valores dos atributos — Cada ramo na árvore é uma conjunção de condições — O conjunto de ramos na árvore são disjuntos — DNF (disjuntive normal form) — Qualquer função lógica pode ser representada por um árvore de decisão. — Exemplo a or b
  • 9. Construção de uma Árvore de Decisão — 1. Escolher um atributo; — 2. Estender a árvore adicionando um ramo para cada valor doatributo; — 3. Passar os exemplos para as folhas (tendo em conta o valor do atributo escolhido); — 4. Para cada folha: — 1. Se todos os exemplos são da mesma classe, associar essa classe à folha; — 2. Senão repetir os passos 1 a 4.
  • 11. Medidas de Partição — Como medir a habilidade quem um dado atributo tem de discriminar as diferentes classes? — Existem muitas medidas. Todas concordam em dois pontos: — Uma divisão que mantêm as proporções de classes em todas as partições é inútil. — Uma divisão onde em cada partição todos os exemplos são da mesma classe tem utilidade máxima.
  • 12. Medidas de Partição — Medida da diferença dada por uma função baseada nas proporçõesdas classes entre o nó corrente e os nós descendentes. — Valoriza a pureza das partições. — Gini, entropia — Medida da diferença dada por uma função baseada nas proporçõesdas classes entre os nós descendentes. — Valoriza a disparidade entre as partições. — Lopez de Mantaras– Medida de independência — Medida do grau de associação entre os atributos e a classe
  • 13. Entropia — Entropia é uma medida da aleatoridade de uma variável. — A entropia de uma variável nominal X que pode tomar i valores: — A entropia tem máximo (log2i) se pi = pj para qualquer i<> j — A entropia(x) = 0 se existe um i tal que pi = 1 — É assumido que 0 * log20 = 0
  • 14. Ganho de Informação — No contexto das árvores de decisão a entropia é usada para estimar a aleatoridade da variável a prever, no casos as classes. — Dado um conjunto de exemplos, que atributo escolher para teste? — Os valores de um atributo definem partições do conjunto de exemplos. — O ganho de informação mede a redução da entropia causada pela partição dosexemplos de acordo com os valores do atributo. — A construção de uma árvore de decisão é guiada pelo objetivo de diminuir a entropia ou seja a aleatoridade (dificuldade de previsão) da variável objetivo.
  • 15. Cálculo do Ganho de Informação – Atributos Numéricos — Um teste num atributo numérico produz uma partição binária doconjunto de exemplos: — – Exemplos onde valor_do_atributo<ponto_referência — – Exemplos onde valor_do_atributo>= ponto_referência — Escolha do ponto de referência: — – Ordenar os exemplos por ordem crescente dos valores do atributo numérico. — – Qualquer ponto intermédiário entre dois valores diferentes e consecutivos dos valores observados no conjunto de treino pode ser utilizado como possível ponto de referência. — É usual considerar o valor médio entre dois valores diferentes e consecutivos. — Todos possíveis pontos de referência aqueles os quais maximizam o ganho de informação invariavelmente separam dois exemplos de classes diferentes.
  • 16. Cálculo do Ganho de Informação – Atributos Numéricos
  • 17. Cálculo do Ganho de Informação – Atributos Nominais
  • 18. Cálculo do Ganho de Informação – Atributos Nominais
  • 19. Cálculo do Ganho de Informação – Atributos Nominais
  • 20. Critérios de Parada Quando parar a divisão dos exemplos? — Todos os exemplos pertencem á mesma classe. — Todos os exemplos têm os mesmos valores dos atributos (masdiferentes classes). — O número de exemplos é inferior a um certo limite. — A significância de todos os possíveis testes de partição dos exemplos é muito baixo.
  • 21. Construção de uma Árvore • O problema de construir uma árvore de decisão: — Consistente com um conjunto de exemplos; — Com o menor numero de nós; — É um problema NP completo (não tem solução rápida aparente). • Dois problemas: — Que atributo selecionar para teste em um nó? — Quando parar a divisão dos exemplos ? • Algoritmos mais utilizados: — Utilizam heurísticas que tomam decisões olhando para a frente um passo; — Não reconsideram as opções tomadas.
  • 22.
  • 23. 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.
  • 24. 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.
  • 25. 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).
  • 26. 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.
  • 28. 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)
  • 29. Classificadores Lineares fx a yest valores +1 valores -1 f(x,w,b) = sign(w. x - b) Como pode se classificar esses dados?
  • 30. Classificadores Lineares fx a yest valores +1 valores -1 f(x,w,b) = sign(w. x - b) Como pode se classificar esses dados?
  • 31. Classificadores Lineares fx a yest valores +1 valores -1 f(x,w,b) = sign(w. x - b) Como pode se classificar esses dados?
  • 32. Classificadores Lineares fx a yest valores +1 valores -1 f(x,w,b) = sign(w. x - b) Como pode se classificar esses dados?
  • 33. Classificadores Lineares fx a yest valores +1 valores -1 f(x,w,b) = sign(w. x - b) Como pode se classificar esses dados?
  • 34. Margem do Classificador fx a 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.
  • 35. Margem Máxima fx a 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
  • 36. Margem Máxima fx a yest f(x,w,b) = sign(w. x - b) Support Vectors são aqueles datapoints que a margem empurra contra valores +1 valores -1
  • 37. 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.
  • 38. — Como representar matematicamente? — …em m dimensões de entrada? Plano Positivo Plano Negativo “Borda” de Classificação “Classe Predita = +1” “Classe Predita = -1”
  • 39. 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
  • 40. 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.
  • 41. 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.
  • 42. 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.
  • 43. 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. — Ou nunca convergir.
  • 44. 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)
  • 45.
  • 46. O que é Naive Bayes? — É uma técnica de classificação baseada no Teorema de Bayes com uma suposição de independência entre preditores. — Em termos simples, um classificador Naive Bayes assume que a presença de um recurso particular em uma classe não está relacionada à presença de qualquer outro recurso. — Por exemplo, uma fruta pode ser considerada uma maçã se for vermelha, redonda e com cerca de 3 polegadas de diâmetro. — Mesmo que essas características dependam umas das outras ou da existência das outras características, todas essas propriedades contribuem independentemente para a probabilidade de que essa fruta seja uma maçã e é por isso que ela é conhecida como "Naive".
  • 47. O que é Naive Bayes? — O modelo Naive Bayes é fácil de construir e particularmente útil para conjuntos de dados muito grandes. — O teorema de Bayes fornece uma maneira de calcular a probabilidade posterior P (c | x) de P (c), P (x) e P (x | c). Veja a equação abaixo:
  • 48. Como Funciona? — A partir de um conjunto de dados de treinamento de clima e a variável de segmentação correspondente ”Jogar" (sugerindo possibilidades de haver jogo ou não). Agora, precisamos classificar se os jogadores jogarão ou não com base na condição climática.
  • 49. Como Funciona? — Etapa 1: converter o conjunto de dados em uma tabela de frequência; — Passo 2: Criar a tabela de “Probabilidade” (likelihood) encontrando as probabilidades para cada atributo. Tal como a probabilidade de tempo nublado (overcast) = 0,29 e a probabilidade de jogar de 0,64. — Passo 3: Agora, usamos a equação de Bayes para calcular a probabilidade posterior de cada classe. — A classe com a maior probabilidade posterior é o resultado da previsão.
  • 50. Como Funciona? — Problema: Os jogadores irão jogar se o tempo estiver ensolarado. Esta afirmação está correta? — Podemos resolvê-lo usando o método discutido de probabilidade posterior, onde: — P (Sim | Sol) = P (Sol | Sim) * P (Sim) / P (Sol); — Aqui temos P (Ensolarado | Sim) = 3/9 = 0.33, P (Ensolarado) = 5/14 = 0.36, P (Sim) = 9/14 = 0.64; — Agora, P (Sim | Sol) = 0,33 * 0,64 / 0,36 = 0,60, que tem maior probabilidade. — Naive Bayes usa um método similar para prever a probabilidade de classes diferentes baseadas em vários atributos. — Este algoritmo é usado principalmente na classificação de texto e com problemas com várias classes.
  • 51. Prós e Contras — É fácil e rápido prever a classe do conjunto de dados de teste. Ele também funciona bem na previsão de multi classe. — Quando a suposição de independência é válida, um classificador Naive Bayes apresenta uma melhor comparação com outros modelos, como a regressão logística, e você precisa de menos dados de treinamento. — Ele funciona bem no caso de variáveis ​​de entrada categóricas em comparação com variáveis ​​numéricas. Para variáveis ​​numéricas, a distribuição normal é assumida (curva de sino, que é uma forte suposição).
  • 52. Prós e Contras — Se a variável categórica tiver uma categoria (no conjunto de dados de teste), que não foi observada no conjunto de dados de treinamento, o modelo atribuirá uma probabilidade 0 (zero) e não poderá fazer uma previsão. — Isso é geralmente conhecido como "Freqüência Zero". Para resolver isso, podemos usar a técnica de suavização. Uma das técnicas de suavização mais simples é chamada de estimativa de Laplace.
  • 53. Prós e Contras — Por outro lado, o Naive Bayes também é conhecido como mau estimador, de modo que as saídas de probabilidade do não devem ser levadas muito a sério. — Outra limitação do Naive Bayes é a hipótese de preditores independentes. Na vida real, é quase impossível obtermos um conjunto de preditores completamente independentes.
  • 54. Aplicações — Classificação — Regressão (Predição em Séries Temporais) — Detecção de Outliers — Clusterização — Entre outras
  • 55. “É preciso provocar sistematicamente confusão. Isso promove a criatividade. Tudo aquilo que é contraditório gera vida ” Salvador Dalí