SlideShare uma empresa Scribd logo
1 de 70
Baixar para ler offline
Introdução à
Aprendizagem de Máquina
Stanley R. M. Oliveira
Aprendizado de Máquina (Machine Learning)
2
Resumo da Aula
Sistemas Híbridos Inteligentes.
Aprendizado de Máquina:
Conceitos.
Hierarquiza do aprendizado.
Paradigmas.
Classificação de Dados:
Processo de classificação.
Características de um bom classificador.
Principais métodos de classificação.
Principais algoritmos existentes.
Árvores de Decisão:
Conceitos básicos.
Algoritmos mais conhecidos.
Mecanismos de poda.
Escolha do atributo “split”.
3
Introdução
Aquisição do
conhecimento
Aprendizado de
máquina
Redes
Neurais
Lógica FuzzyAlgoritmos
Genéticos
Mineração de
Dados
Mineração de
Textos
Sistemas
Especialistas
Sistemas Inteligentes Híbridos
Técnicas-chave em Inteligência Artificial (IA)
Mineração de
Dados
Conhecimento
4
Introdução
Árvore de Decisão
Redes
Neurais
Lógica Fuzzy
Algoritmos
genéticos
Clusterização
Associação
Classificação
MD + IA
Integração
Redes bayesianas
Classificação
5
Aprendizado de Máquina
Conceitos de aprendizado de máquina
Sistemas de IA
Armazenar conhecimento ⇒ Representação
Aplicar conhecimento para resolver problemas
Raciocínio (mecanismo de inferência)
Adquirir novos conhecimentos ⇒ Aprendizagem
6
Aprendizado de Máquina ...
O que é Aprendizado de Máquina?
É uma área de IA cujo objetivo é o desenvolvimento de
técnicas computacionais sobre o aprendizado bem
como a construção de sistemas capazes de adquirir
conhecimento de forma automática.
Um sistema de aprendizado é um programa de
computador que toma decisões baseado em
experiências acumuladas por meio de solução bem
sucedida de problemas anteriores.
É uma ferramenta poderosa para aquisição
automática de conhecimento, entretanto, não existe um
único algoritmo que apresente melhor desempenho
para todos problemas.
7
Indução: é a forma de inferência lógica que
permite obter conclusões a partir de um
conjunto de exemplos.
Na indução, um conceito é aprendido
efetuando-se inferência indutiva sobre os
exemplos apresentados (cautela na escolha
de exemplos).
Dedução: Humanos usam raciocínio dedutivo
para deduzir nova informação a partir de
informação relacionada logicamente.
Aprendizado de Máquina ...
8
Hierarquia do aprendizado
Aprendizado
Indutivo
Aprendizado
Não-Supervisionado
Aprendizado
Supervisionado
Classificação Regressão
Aprendizado de Máquina ...
9
Classificação Versus Clusterização
Aprendizado supervisionado (classificação)
Supervisão: As observações no conjunto de treinamento são
acompanhadas por “labels” indicando a classe a que elas
pertencem.
Novas ocorrências são classificadas com base no conjunto
de treinamento.
Aprendizado não-supervisionado (clusterização)
Não existe classe pré-definida para nenhum dos atributos.
Um conjunto de observações é dado com o propósito de se
estabelecer a existência das classes ou clusters.
10
Hierarquia do aprendizado
Aprendizado Indutivo: É efetuado a partir de
exemplos externos ao sistema de aprendizado.
Aprendizado Supervisionado: Construir um
classificador (indutor) que possa determinar a classe de
novos exemplos a partir de exemplos treinamento com classe
rotulada.
Classificação: Rótulos para valores discretos.
Regressão: Rótulos para valores contínuos.
Aprendizado Não-Supervisionado: O indutor analisa
os exemplos e tenta determinar se alguns deles podem ser
agrupados de alguma maneira, formando agrupamentos ou
clusters.
Aprendizado de Máquina ...
11
Hierarquia do aprendizado
Processo de Classificação
Especificação
do problema
X1 x2 ... Xm Y
T1
T2
.
.
.
Tn
x11 x12 ... x1m
x21 x22 ... x2m
. .
. .
. .
xn1 xn2 xnm
y1
y2
.
.
.
yn
Dados brutos
Aprendizado
de máquina
ClassificadorAtributos Meta
Especialista
Avaliação
Conhecimento do domínio Conhecimento do domínio
Aprendizado de Máquina ...
12
Paradigmas do aprendizado:
Simbólico: Buscam aprender construindo representações
simbólicas (expressão lógica, árvores de decisão regras).
Estatístico: Buscam métodos estatísticos (Aprendizado
bayesiano)
Baseado em Exemplos: Sistemas lazy (RBC, Nearest
Neighboors).
Conexionista: Modelos inspirados no modelo biológico do
sistema nervoso (Redes Neurais).
Evolutivo: Teoria de Darwin (Algoritmos Genéticos).
Aprendizado de Máquina ...
13
Algumas Definições em AM
Conjunto de exemplos: é um conjunto de exemplos
contendo valores de atributos bem como a classe
associada.
X1 x2 ... Xm Y
T1
T2
.
.
.
Tn
x11 x12 ... x1m
x21 x22 ... x2m
. .
. .
. .
xn1 xn2 xnm
y1
y2
.
.
.
yn
Atributos Classe
Indutor
Hipótese
Descrição de conceito
Classificador
Aprendizado de Máquina: Definições
14
Algumas Definições em AM
Indutor: programa de aprendizado ou algoritmo de
indução que visa extrair um bom classificador a partir
de um conjunto de exemplos rotulados.
Exemplo: caso, dado ou registro.
Atributo: descreve uma característica ou aspecto de
um exemplo.
Classe (Atributo-Meta): atributo especial no qual se
pretende aprender a fazer previsões a respeito.
Aprendizado de Máquina: Definições
15
Algumas Definições em AM
Bias: qualquer preferência de uma hipótese sobre a
outra.
Modo de aprendizado:
todo conjunto de treinamento presente no
aprendizado (não incremental).
quando novos exemplos de treinamento são
adicionados (incremental).
Aprendizado de Máquina: Definições
16
Erro ( err(h) )
Medida de desempenho de um Classificador.
Considerando E = 1 se a expressão for verdadeira
0, caso contrário
∑=
≠=
n
i
ii xhy
n
herr
1
)(
1
)(
Acurácia ( acc(h) )
Complemento da Taxa de Erro, representa a Precisão do
Classificador.
)(1)( herrhacc −=
Aprendizado de Máquina: Definições
17
Distribuição de Classes ( distr(Cj) )
Para cada Classe Cj, sua distribuição distr(Cj) é calculada como
sendo o número de exemplos em T que possuem classe Cj
dividido pelo número total de exemplos ( n ), ou seja, a
proporção de exemplos em cada classe
∑=
==
n
i
jij Cy
n
Cdistr
1
1
)(
Exemplo: Conjunto com 100 Exemplos: 60 Classe C1
15 Classe C2
25 Classe C3
distr (C1, C2, C3) = (60%, 15%, 25%)
Neste exemplo, Classe Majoritária (ou Prevalente) é C1.
Classe Minoritária é C2.
Aprendizado de Máquina: Definições
18
Erro Majoritário ( maj-err(T) )
Limite Máximo abaixo do qual o erro de um Classificador deve ficar
)(max1)(
,...1
i
ki
CdistrTerrmaj
=
−=−
No Exemplo anterior: maj-err(T) = 1 - 0,60 = 0,40
Erro Majoritário INDEPENDEINDEPENDE do algoritmo de aprendizado.
Aprendizado de Máquina: Definições
19
Prevalência de Classe
Problema com desbalanceamento de classes em conjunto de
exemplos.
Exemplo: distr (C1, C2) = (99,75%, 0,25%)
Neste exemplo, Classe Majoritária (ou Prevalente) é C1
Classe Minoritária é C2
Classificador que classifique novos exemplos como C1 teria
uma precisão de 99,75%.
Se a Classe C2 fosse, por exemplo, ocorrência de Geada ...
Aprendizado de Máquina: Definições
20
“Overfitting”
• É possível que o Classificador faça uma indução muito
específica para o conjunto de treinamento utilizado
(“Overfitting”).
• Como este é apenas uma amostra de dados, é possível que a
indução tenha bom desempenho no conjunto de treinamento,
mas um desempenho ruim em exemplos diferentes daqueles
pertencentes ao conjunto de treinamento.
• Cálculo do Erro em um conjunto de teste independente
evidencia a situação de “Overfitting”.
• Under e overfitting: ajusta-se em muito pouco ou em excesso
ao conjunto de treinamento.
Aprendizado de Máquina: Definições
21
O que é classificação?
Dado um conjunto de registros (dataset):
Cada registro contém um conjunto de atributos, em que
um dos atributos é o atributo-meta (variável resposta).
O conjunto de dados é dividido em dois subconjuntos:
conjunto de treinamento para construir o modelo e
conjunto de teste para validar o modelo.
Passo 1: encontrar um modelo para o atributo-
meta (ou atributo-classe) como uma função dos
valores dos outros atributos.
Passo 2: registros não conhecidos devem ser
associados à classe com a maior precisão possível.
22
O que é classificação? ...
Aplicação
do Modelo
Indução
Dedução
Criação
do Modelo
Modelo
Tid Atrib1 Atrib2 Atrib3 Class
1 Yes Large 125K No
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No
8 No Small 85K Yes
9 No Medium 75K No
10 No Small 90K Yes
10
Tid Attrib1 Attrib2 Attrib3 Class
11 No Small 55K ?
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ?
10
Conjunto de Teste
usado
algoritmo
Conjunto de treinamento
23
• Qualidade do Exemplo de Treinamento →→→→→→→→
Qualidade das Regras.
• Não é possível descobrir algo que não esteja nos
exemplos.
• Seleção dos exemplos e das características é
fundamental neste processo.
• Daí a importância do conhecimento e da experiência
do Especialista.
Observação Importante
24
Classificação: Aplicações
Classificar tumores como benigno ou maligno.
Classificar transações de cartão de
crédito como legítima ou fraudulenta.
Classificar estruturas secundárias de
proteínas como alpha-helix, beta-sheet
ou random coil.
Avaliar riscos de empréstimos,
previsão de tempo, etc.
Sistema de alerta de geada.
Previsão de mortalidade de frangos, etc.
25
Características de um bom classificador
Precisão
Velocidade
Tempo para construir o modelo.
Tempo para usar o modelo.
Robustez
Capacidade de lidar com ruídos e valores faltantes (missing).
Escalabilidade
Eficiência em banco de dados residentes em disco.
Interpretabilidade
Clareza fornecida pelo modelo.
Relevância na seleção de regras
Tamanho da árvore de decisão.
Regras de classificação compactas.
Árvores de Decisão
27
Árvore de Decisão
Árvore de decisão
Um fluxograma com a estrutura de uma árvore.
Nó interno representa um testes sobre um atributo.
Cada ramo representa um resultado do teste.
Folhas representam as classes.
A geração de uma árvore consiste de duas fases:
Construção da árvore
Particionamento de atributos (best fit).
Fase da poda (Tree pruning).
Identifica e remove ramos que refletem ruídos ou outliers.
Uso da árvore: Classificação de amostras desconhecidas
Testa os valores dos atributos da amostra “contra” a árvore.
28
Paciente se
sente bem?
Paciente tem
dor?
Temperatura
do Paciente
S N
N S
Saudável
Doente
Doente
Saudável
<= 37 > 37
Árvore de Decisão – Exemplo
29
Geração de regras
Se paciente se sente bem = sim
então classe = saudável
fim se.
Se paciente se sente bem = não
e paciente tem dor = sim
então classe = doente
fim se.
...
Árvore de Decisão – Exemplo ...
30
Exemplo: Condições do tempo para Jogar Tênis.
Árvore de Decisão – Exemplo ...
31
Árvore de Decisão – Exemplo ...
32
Árvore de Decisão – Exemplo ...
33
Árvore de Decisão – Exemplo ...
34
Árvore de Decisão – Exemplo ...
35
Árvore de Decisão – Exemplo ...
36
Algoritmos para árvores de decisão
Algoritmo Básico (algoritmo guloso)
A árvore é construída recursivamente no sentido top-down
(divisão para conquista).
No início, todas as amostras estão na raiz.
Os atributos são nominais (se numéricos, eles são discretizados).
Amostras são particionadas recursivamente com base nos
atributos selecionados.
Atributos “testes” são selecionados com base em heurísticas ou
medidas estatísticas (ex., ganho de informação) [ID3 / C4.5]
Condições de parada do particionamento
Todas as amostras de um nó pertencem a mesma classe.
Não existem mais atributos para particionamento.
Não existem mais amostras no conjunto de treinamento.
37
Determinando o tamanho da árvore
As seguintes abordagens podem ser usadas:
Divisão do dataset: conjunto de treinamento (2/3) e
conjunto de teste (1/3) – Percentage split.
Uso de validação cruzada (10-fold cross validation).
Uso de conjunto de teste extra (Supplied test set).
Uso de todo o dataset para treinamento
Aplicação de um teste estatístico (ex:, qui-quadrado)
para estimar se expandindo ou podado um nó pode
melhorar a distribuição total.
38
PODA
• Técnica para lidar com ruído e “Overfitting”
• Pré-Poda: Durante a geração da Hipótese.
• Alguns exemplos de treinamento são deliberadamente
ignorados.
• Pós-Poda: Inicialmente, é gerada um Classificador que explique
os exemplos.
• Após isso, elimina-se algumas partes (cortes em ramos da
árvore) generalizando a Hipótese.
Árvore de Decisão: Poda
39
400 5
40
20
300
Árvore de Decisão: Poda ...
40
Árvore de Decisão: Poda ...
41
COMPLETUDE E CONSISTÊNCIA
•• COMPLETUDECOMPLETUDE: Se a Hipótese gerada pelo Classificador
classifica TODOSTODOS os exemplos.
•• CONSISTÊNCIACONSISTÊNCIA: Se a Hipótese gerada pelo Classificador
classifica CORRETAMENTECORRETAMENTE os exemplos.
• Uma Hipótese gerada pelo Classificador pode ser:
• Completa e Consistente.
• Incompleta e Consistente.
• Completa e Inconsistente.
• Incompleta e Inconsistente.
Completude e Consistência
42
COMPLETO e CONSISTENTECOMPLETO e CONSISTENTE
Completude e Consistência ...
43
INCOMPLETO e CONSISTENTEINCOMPLETO e CONSISTENTE
Completude e Consistência ...
44
COMPLETO eCOMPLETO e ININCONSISTENTECONSISTENTE
Completude e Consistência ...
45
INCOMPLETO e INCONSISTENTEINCOMPLETO e INCONSISTENTE
Completude e Consistência ...
46
Exemplo Aparência Temperatura Umidade Ventando Viajar
T1 sol 25 72 sim VAI
T2 sol 28 91 sim NÃO_VAINÃO_VAI
T3 sol 22 70 não VAI
T4 sol 23 95 não NÃO_VAINÃO_VAI
T5 sol 30 85 não NÃO_VAINÃO_VAI
T6 nublado 23 90 sim VAI
T7 nublado 29 78 não VAI
T8 nublado 19 65 sim NÃO_VAINÃO_VAI
T9 nublado 26 75 não VAI
T10 nublado 20 87 sim VAI
T11 chuva 22 95 não VAI
T12 chuva 19 70 sim NÃO_VAINÃO_VAI
T13 chuva 23 80 sim NÃO_VAINÃO_VAI
T14 chuva 25 81 não VAI
T15 chuva 21 80 não VAI
Completude e Consistência: Exemplo
47
Exemplo Aparência Temperatura Umidade Ventando Viajar
T1 sol 25 72 sim VAI
T2 sol 28 91 sim NÃO_VAINÃO_VAI
T3 sol 22 70 não VAI
T4 sol 23 95 não NÃO_VAINÃO_VAI
T5 sol 30 85 não NÃO_VAINÃO_VAI
T6 nublado 23 90 sim VAI
T7 nublado 29 78 não VAI
T8 nublado 19 65 sim NÃO_VAINÃO_VAI
T9 nublado 26 75 não VAI
T10 nublado 20 87 sim VAI
T11 chuva 22 95 não VAI
T12 chuva 19 70 sim NÃO_VAINÃO_VAI
T13 chuva 23 80 sim NÃO_VAINÃO_VAI
T14 chuva 25 81 não VAI
T15 chuva 21 80 não VAI
Completude e Consistência: Exemplo
48
Aparência
Sol
Nublado
Chuva
2 VAI
3 NÃO_VAI
4 VAI
1 NÃO_VAI
3 VAI
2 NÃO_VAI
Completude e Consistência: Exemplo
49
Exemplo Aparência Temperatura Umidade Ventando Viajar
T1 sol 25 72 sim VAI
T2 sol 28 91 sim NÃO_VAINÃO_VAI
T3 sol 22 70 não VAI
T4 sol 23 95 não NÃO_VAINÃO_VAI
T5 sol 30 85 não NÃO_VAINÃO_VAI
T6 nublado 23 90 sim VAI
T7 nublado 29 78 não VAI
T8 nublado 19 65 sim NÃO_VAINÃO_VAI
T9 nublado 26 75 não VAI
T10 nublado 20 87 sim VAI
T11 chuva 22 95 não VAI
T12 chuva 19 70 sim NÃO_VAINÃO_VAI
T13 chuva 23 80 sim NÃO_VAINÃO_VAI
T14 chuva 25 81 não VAI
T15 chuva 21 80 não VAI
Completude e Consistência: Exemplo
50
Exemplo Aparência Temperatura Umidade Ventando Viajar
T1 sol 25 72 sim VAI
T2 sol 28 91 sim NÃO_VAINÃO_VAI
T3 sol 22 70 não VAI
T4 sol 23 95 não NÃO_VAINÃO_VAI
T5 sol 30 85 não NÃO_VAINÃO_VAI
T6 nublado 23 90 sim VAI
T7 nublado 29 78 não VAI
T8 nublado 19 65 sim NÃO_VAINÃO_VAI
T9 nublado 26 75 não VAI
T10 nublado 20 87 sim VAI
T11 chuva 22 95 não VAI
T12 chuva 19 70 sim NÃO_VAINÃO_VAI
T13 chuva 23 80 sim NÃO_VAINÃO_VAI
T14 chuva 25 81 não VAI
T15 chuva 21 80 não VAI
Completude e Consistência: Exemplo
51
Aparência
Sol
Nublado
Chuva
3 NÃO_VAI
4 VAI
3 VAI
Vento
não sim
Umidade
< 70 > 70
Umidade
< 78 > 78
2 VAI
1 NÃO_VAI
2 NÃO_VAI
Completude e Consistência: Exemplo
52
Aparência
Sol
Nublado
Chuva
3 NÃO_VAI
5 VAI
3 VAI
Vento
não sim
Umidade
< 78 > 78
2 VAI 2 NÃO_VAI
Completude e Consistência: Exemplo
Poda Atrib.
Umidade
53
Natureza eliminatória do processo
• Exemplos do conjunto de treinamento vão sendo descartados à
medida que são utilizados. Isso causa um efeito importante na
definição dos nós mais profundos da árvore, uma vez que o suporte
estatístico para a tomada de decisão vai sendo progressivamente
diminuído, colocando em dúvida a representatividade do conjunto de
elementos remanescentes.
• Possibilidade de utilizar recursos para descarte (“poda”) dos ramos
tecnicamente menos representativos da árvore da decisão.
Aspectos Importantes
54
Algoritmos mais conhecidos
ID3 (Iterative Dichotomiser 3) (Quilan,1986):
Um algoritmo usado para gerar árvores de decisão. Os atributos
do conjunto de dados devem ser obrigatoriamente categóricos.
C4.5 (J48 no Weka) (Quilan, 1993):
Um algoritmo para geração de árvores de decisão, sucessor do
algoritmo ID3.
O algoritmo C4.5 considera atributos numéricos e categóricos.
CART (Classification And Regression Trees)
(Breiman et al., 1984):
Técnica não-paramétrica que produz árvores de classificação ou
regressão, dependendo se as variáveis são categóricas ou
numéricas, respectivamente.
55
Escolha do melhor atributo “split”
• Não existe solução computacionalmente viável para que se
obtenha sempre a melhor árvore de decisão possível
(problema NP-completo: custo de proceder buscas exaustivas
da melhor solução cresce a taxas exponenciais à medida que
o tamanho do conjunto de treinamento aumenta).
• Utilização de heurísticas: soluções baseadas em algum tipo
de conhecimento prévio sobre as propriedades dos dados, na
procura de uma boa solução (mas não necessariamente a
melhor).
Como escolher o melhor atributo?
56
Exemplo: Conjunto de todas soluções possíveis (floresta de decisão).
BUSCA EXAUSTIVABUSCA EXAUSTIVA::
Correr todo esse conjunto, comparando cada elemento, até que todos tenham sido
avaliados, e selecionar a melhor solução.
SOLUSOLUÇÇÃOÃO ÓÓTIMA GARANTIDA.TIMA GARANTIDA.
BUSCA HEURBUSCA HEURÍÍSTICASTICA::
Procura tendenciosa na floresta, visitando apenas as soluções com mais potencial
de serem boas, com base em algumas premissas previamente conhecidas.
A rapidez do processo aumenta, mas é possível que a melhor solução entre todas
não tenha sido encontrada, pois eventualmente pode ter ficado fora do trajeto
percorrido.
Como escolher o melhor atributo?
57
Como definir alguma característica sobre os dados que
permita definir um critério para identificação do melhor
atributo em cada nível da árvore ?
Problema:
Abordagem baseada na Teoria da Informação
Produz grupos mais homogêneos com relação ao atributo categórico.
Boa subdivisão:
Classificação evidencia as linhas gerais que fazem um
elemento pertencer a uma determinada classe, o que é
facilitado quando se produz agrupamentos mais
organizados.
Idéia
Atributo mais informativo sobre a lógica dos dados
num determinado contexto.
Melhor atributo “split”
Como escolher o melhor atributo?
58
CASCA COR TAMANHO POLPA RISCO
aspera marrom grande dura baixo
aspera verde grande dura baixo
lisa vermelho grande macia alto
aspera verde grande macia baixo
aspera vermelho pequena dura baixo
lisa vermelho pequena dura baixo
lisa marrom pequena dura baixo
aspera verde pequena macia alto
lisa verde pequena dura alto
aspera vermelho grande dura baixo
lisa marrom grande macia baixo
lisa verde pequena macia alto
aspera vermelho pequena macia baixo
lisa vermelho grande dura alto
lisa vermelho pequena dura baixo
aspera verde pequena dura alto
Como escolher o melhor atributo?
59
Cálculo da Entropia - log2 p ( ci | aj )
“Quantidade de informação” que aj tem a oferecer sobre a conclusão ci
Entropia =
Quanto menor a Entropia Menor a “dúvida”
Maior a informação que aj traz sobre C
Como escolher o melhor atributo?
Subconjuntos mais homogêneos (grupos
menos “confusos” com relação à classe).
Melhor atributo “split”
Inversamente proporcional ao grau de informação (valor entre 0 e 1)
Conceito de Entropia (Termodinâmica):
60
∑=
−=
n
i
ii pLogpSEntropia
1
2 )()(
Onde: SS é a distribuição de probabilidade das n mensagens possíveis;
pi é a probabilidade de ocorrência da i-ésima mensagem
• Para o caso de um classificador construído para um problema com 2
classes possíveis (A e B), um atributo xx vai permitir dividir os dados em
tantos subconjuntos SS quantos forem os seus possíveis valores.
• A entropia de cada um desses subconjuntos SSkk seria calculada por:
)()()( 22 BBAAk pLogppLogpSEntropia −−=
Quanto mais uniforme a distribuição, maior o grau de entropia.
Como escolher o melhor atributo?
61
Para o caso de um atributo xx que possa assumir três valores
(por exemplo, valores inteiros entre 1 e 3), três subconjuntos de SS
são formados, cada um com seu próprio grau de entropia.
Pode-se avaliar a entropia em SS quando considerado o atributo xx,
através da média ponderada dos graus de entropia dos subconjuntos
gerados (SS11, SS22 e SS33, neste exemplo).
)(),(
1
i
n
i
i
SEntropia
S
S
SxEntropia ⋅= ∑=
Ganho de Informação (“Information Gain”) devido a xx na predição da
classe é determinada pela redução da entropia original de SS..
Como escolher o melhor atributo?
62
Entropia de um Atributo A com relação à Classe C
Atributo com MENOR entropia é o MELHOR para determinar a Classe
Como escolher o melhor atributo?
63
Consideremos o Atributo “Casca”
p(baixo | aspera) = 6 / 8
p(alto | aspera) = 2 / 8
p(aspera) = 8 / 16
p(baixo | lisa) = 4 / 8
p(alto | lisa) = 4 / 8
p(lisa) = 8 / 16
Entropia para o Atributo “Casca”
0.90564
CASCA COR TAMANHO POLPA RISCO
aspera marrom grande dura baixo
aspera verde grande dura baixo
lisa vermelho grande macia alto
aspera verde grande macia baixo
aspera vermelho pequena dura baixo
lisa vermelho pequena dura baixo
lisa marrom pequena dura baixo
aspera verde pequena macia alto
lisa verde pequena dura alto
aspera vermelho grande dura baixo
lisa marrom grande macia baixo
lisa verde pequena macia alto
aspera vermelho pequena macia baixo
lisa vermelho grande dura alto
lisa vermelho pequena dura baixo
aspera verde pequena dura alto
64
Consideremos o Atributo “Cor”
p(baixo | marrom) = 3 / 3
p(alto | marrom) = 0 / 3
p(marrom) = 3 / 16
p(baixo | verde) = 2 / 6
p(alto | verde) = 4 / 6
p(verde) = 6 / 16
Entropia para o Atributo “Cor”
0.721976
p(baixo | vermelho) = 5 / 7
p(alto | vermelho) = 2 / 7
p(vermelho) = 7 / 16
CASCA COR TAMANHO POLPA RISCO
aspera marrom grande dura baixo
aspera verde grande dura baixo
lisa vermelho grande macia alto
aspera verde grande macia baixo
aspera vermelho pequena dura baixo
lisa vermelho pequena dura baixo
lisa marrom pequena dura baixo
aspera verde pequena macia alto
lisa verde pequena dura alto
aspera vermelho grande dura baixo
lisa marrom grande macia baixo
lisa verde pequena macia alto
aspera vermelho pequena macia baixo
lisa vermelho grande dura alto
lisa vermelho pequena dura baixo
aspera verde pequena dura alto
65
Consideremos o Atributo “Tamanho”
p(baixo | grande) = 5 / 7
p(alto | grande) = 2 / 7
p(grande) = 7 / 16
p(baixo | pequeno) = 5 / 9
p(alto | pequeno) = 4 / 9
p(pequeno) = 9 / 16
Entropia para o Atributo “Tamanho”
0.9350955
CASCA COR TAMANHO POLPA RISCO
aspera marrom grande dura baixo
aspera verde grande dura baixo
lisa vermelho grande macia alto
aspera verde grande macia baixo
aspera vermelho pequena dura baixo
lisa vermelho pequena dura baixo
lisa marrom pequena dura baixo
aspera verde pequena macia alto
lisa verde pequena dura alto
aspera vermelho grande dura baixo
lisa marrom grande macia baixo
lisa verde pequena macia alto
aspera vermelho pequena macia baixo
lisa vermelho grande dura alto
lisa vermelho pequena dura baixo
aspera verde pequena dura alto
66
Consideremos o Atributo “Polpa”
p(baixo | dura) = 7 / 10
p(alto | dura) = 3 / 10
p(dura) = 10 / 16
p(baixo | macia) = 3 / 6
p(alto | macia) = 3 / 6
p(macia) = 6 / 16
Entropia para o Atributo “Polpa”
0.92581
CASCA COR TAMANHO POLPA RISCO
aspera marrom grande dura baixo
aspera verde grande dura baixo
lisa vermelho grande macia alto
aspera verde grande macia baixo
aspera vermelho pequena dura baixo
lisa vermelho pequena dura baixo
lisa marrom pequena dura baixo
aspera verde pequena macia alto
lisa verde pequena dura alto
aspera vermelho grande dura baixo
lisa marrom grande macia baixo
lisa verde pequena macia alto
aspera vermelho pequena macia baixo
lisa vermelho grande dura alto
lisa vermelho pequena dura baixo
aspera verde pequena dura alto
67
Atributo Entropia
Casca 0.90564
Cor 0.721976
Tamanho 0.9350955
Polpa 0.92581
Resultados do cálculo da entropia
Como “Cor” tem a menor entropia, pode-se afirmar
que também tem o maior ganho de informação. Logo
deve ser usado como “atributo split”.
68
Cor = marrom: baixo (3.0)
Cor = verde
| Tamanho = grande: baixo (2.0)
| Tamanho = pequena: alto (4.0)
Cor = vermelho
| Tamanho = grande: alto (3.0/1.0)
| Tamanho = pequena: baixo (4.0)
Resultado WEKA
=== Confusion Matrix ===
a b <-- classified as
9 1 | a = baixo
0 6 | b = alto
Cor
verde
baixo
marrom
Tamanho
vermelho
Tamanho
grande pequena grande pequena
baixo alto alto baixo
Acurácia: 93.75 %
TP Rate Class
0.9 baixo
1 alto
Análise dos Resultados
69
Árvores de decisão: prós e contras
Vantagens
Custo computacional é baixo.
Muito rápido para classificar amostras desconhecidas.
Fácil de interpretar árvores de tamanho pequeno.
Precisão é semelhante a de outros métodos de
classificação, para muitos datasets simples.
Desvantagens
“Overfitting” resulta em árvores de decisão que são mais
complexas do que necessárias.
O treinamento do erro nem sempre produz uma boa
estimativa com relação à execução da árvore para
amostras desconhecidas.
Necessita de novas maneiras para estimar erros.
70
EstEstáágiogio DeficiênciaDeficiência AstigmatismoAstigmatismo ProduProduçção_Lão_Láágrimagrima Recomenda_LenteRecomenda_Lente
Inicial Miopia Não Baixa Nenhuma
Inicial Miopia Não Normal Macia
Inicial Miopia Sim Baixa Nenhuma
Inicial Miopia Sim Normal Dura
Inicial Hipermetropia Não Baixa Nenhuma
Inicial Hipermetropia Não Normal Macia
Inicial Hipermetropia Sim Baixa Nenhuma
Inicial Hipermetropia Sim Normal Dura
Pré-Presbiopia Miopia Não Baixa Nenhuma
Pré-Presbiopia Miopia Não Normal Macia
Pré-Presbiopia Miopia Sim Baixa Nenhuma
Pré-Presbiopia Miopia Sim Normal Dura
Pré-Presbiopia Hipermetropia Não Baixa Nenhuma
Pré-Presbiopia Hipermetropia Não Normal Macia
Pré-Presbiopia Hipermetropia Sim Baixa Nenhuma
Pré-Presbiopia Hipermetropia Sim Normal Nenhuma
Presbiopia Miopia Não Baixa Nenhuma
Presbiopia Miopia Não Normal Nenhuma
Presbiopia Miopia Sim Baixa Nenhuma
Presbiopia Miopia Sim Normal Dura
Presbiopia Hipermetropia Não Baixa Nenhuma
Presbiopia Hipermetropia Não Normal Macia
Presbiopia Hipermetropia Sim Baixa Nenhuma
Presbiopia Hipermetropia Sim Normal Nenhuma
ExercExercíício:cio: ConstruirConstruir áárvores de decisão usando J48, PART, JRIP, etc.rvores de decisão usando J48, PART, JRIP, etc.

Mais conteúdo relacionado

Mais procurados

Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine LearningMorvana Bonin
 
Capítulo 1 Inteligência Artificial RUSSELL
Capítulo 1 Inteligência Artificial RUSSELLCapítulo 1 Inteligência Artificial RUSSELL
Capítulo 1 Inteligência Artificial RUSSELLWellington Oliveira
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Gercélia Ramos
 
Exercitando modelagem em UML
Exercitando modelagem em UMLExercitando modelagem em UML
Exercitando modelagem em UMLinfo_cimol
 
1ª lista de exercícios de pesquisa operacional com gabarito
1ª lista de exercícios de pesquisa operacional   com gabarito1ª lista de exercícios de pesquisa operacional   com gabarito
1ª lista de exercícios de pesquisa operacional com gabaritoAntonio Rodrigues
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareÁlvaro Farias Pinheiro
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Pacc UAB
 
Logica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A LogicaLogica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A LogicaRegis Magalhães
 
Modelagem e Simulação de Sistemas Produtivos
Modelagem e Simulação de Sistemas ProdutivosModelagem e Simulação de Sistemas Produtivos
Modelagem e Simulação de Sistemas ProdutivosAdeildo Telles
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Leinylson Fontinele
 
06 Modelagem de banco de dados: Modelo Lógico
06  Modelagem de banco de dados: Modelo Lógico06  Modelagem de banco de dados: Modelo Lógico
06 Modelagem de banco de dados: Modelo LógicoCentro Paula Souza
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoRegis Magalhães
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação CJose Augusto Cintra
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosElaine Cecília Gatto
 

Mais procurados (20)

Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine Learning
 
Capítulo 1 Inteligência Artificial RUSSELL
Capítulo 1 Inteligência Artificial RUSSELLCapítulo 1 Inteligência Artificial RUSSELL
Capítulo 1 Inteligência Artificial RUSSELL
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Exercitando modelagem em UML
Exercitando modelagem em UMLExercitando modelagem em UML
Exercitando modelagem em UML
 
1ª lista de exercícios de pesquisa operacional com gabarito
1ª lista de exercícios de pesquisa operacional   com gabarito1ª lista de exercícios de pesquisa operacional   com gabarito
1ª lista de exercícios de pesquisa operacional com gabarito
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1
 
Logica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A LogicaLogica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A Logica
 
Modelagem e Simulação de Sistemas Produtivos
Modelagem e Simulação de Sistemas ProdutivosModelagem e Simulação de Sistemas Produtivos
Modelagem e Simulação de Sistemas Produtivos
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
06 Modelagem de banco de dados: Modelo Lógico
06  Modelagem de banco de dados: Modelo Lógico06  Modelagem de banco de dados: Modelo Lógico
06 Modelagem de banco de dados: Modelo Lógico
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Machine Learning - Introdução e Aplicações
Machine Learning - Introdução e AplicaçõesMachine Learning - Introdução e Aplicações
Machine Learning - Introdução e Aplicações
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 

Semelhante a Introdução à Aprendizagem de Máquina

Aprendizado de máquina
Aprendizado de máquinaAprendizado de máquina
Aprendizado de máquinaparasite
 
Machine Learning com Python e Scikit-learn
Machine Learning com Python e Scikit-learnMachine Learning com Python e Scikit-learn
Machine Learning com Python e Scikit-learnChristian Perone
 
AlfaCon LABs - Meetup Machine Learning (03/07/2014)
AlfaCon LABs - Meetup Machine Learning (03/07/2014)AlfaCon LABs - Meetup Machine Learning (03/07/2014)
AlfaCon LABs - Meetup Machine Learning (03/07/2014)Labs Alfacon
 
Aexo TI - Boas práticas de testes tdd
Aexo TI - Boas práticas de testes tddAexo TI - Boas práticas de testes tdd
Aexo TI - Boas práticas de testes tddCarlos Santana
 
Aprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaAprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaWalter Hugo Lopez Pinaya
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automáticabutest
 
Inteligencia Artificial e Aprendizado de Máquina
Inteligencia Artificial e Aprendizado de MáquinaInteligencia Artificial e Aprendizado de Máquina
Inteligencia Artificial e Aprendizado de MáquinaGefferson Figueiredo Marcos
 
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014 Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014 Marcos Vinicius Fidelis
 
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
 
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
 
Atividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em JavaAtividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em Javaaceiro
 
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive BayesAhirton Lopes
 
O único agrupamento possível: O que é clustering em Machine Learning
O único agrupamento possível: O que é clustering em Machine LearningO único agrupamento possível: O que é clustering em Machine Learning
O único agrupamento possível: O que é clustering em Machine LearningLudimila Gonçalves
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Softwaremarthahuback
 

Semelhante a Introdução à Aprendizagem de Máquina (20)

Aprendizado de máquina
Aprendizado de máquinaAprendizado de máquina
Aprendizado de máquina
 
Machine Learning com Python e Scikit-learn
Machine Learning com Python e Scikit-learnMachine Learning com Python e Scikit-learn
Machine Learning com Python e Scikit-learn
 
160277 redes neurais artificiais
160277 redes neurais artificiais160277 redes neurais artificiais
160277 redes neurais artificiais
 
Sistemas de Recomendação
Sistemas de RecomendaçãoSistemas de Recomendação
Sistemas de Recomendação
 
AlfaCon LABs - Meetup Machine Learning (03/07/2014)
AlfaCon LABs - Meetup Machine Learning (03/07/2014)AlfaCon LABs - Meetup Machine Learning (03/07/2014)
AlfaCon LABs - Meetup Machine Learning (03/07/2014)
 
Aexo TI - Boas práticas de testes tdd
Aexo TI - Boas práticas de testes tddAexo TI - Boas práticas de testes tdd
Aexo TI - Boas práticas de testes tdd
 
Aprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaAprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociência
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
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
 
Inteligencia Artificial e Aprendizado de Máquina
Inteligencia Artificial e Aprendizado de MáquinaInteligencia Artificial e Aprendizado de Máquina
Inteligencia Artificial e Aprendizado de Máquina
 
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014 Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
 
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
 
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
 
Atividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em JavaAtividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em Java
 
Clean code part 2
Clean code   part 2Clean code   part 2
Clean code part 2
 
C# 8 e ML.NET
C# 8 e ML.NETC# 8 e ML.NET
C# 8 e ML.NET
 
Scipy meetup-2020-02
Scipy meetup-2020-02Scipy meetup-2020-02
Scipy meetup-2020-02
 
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
 
O único agrupamento possível: O que é clustering em Machine Learning
O único agrupamento possível: O que é clustering em Machine LearningO único agrupamento possível: O que é clustering em Machine Learning
O único agrupamento possível: O que é clustering em Machine Learning
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Software
 

Mais de Fernando Palma

CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...Fernando Palma
 
Formação em ciência de dados
Formação em ciência de dadosFormação em ciência de dados
Formação em ciência de dadosFernando Palma
 
Apostila de Introdução ao Arduino
Apostila de Introdução ao ArduinoApostila de Introdução ao Arduino
Apostila de Introdução ao ArduinoFernando Palma
 
Apostila Arduino Basico
Apostila Arduino BasicoApostila Arduino Basico
Apostila Arduino BasicoFernando Palma
 
Cartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.brCartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.brFernando Palma
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioFernando Palma
 
Apostila Zend Framework
Apostila Zend FrameworkApostila Zend Framework
Apostila Zend FrameworkFernando Palma
 
Ebook Governança de TI na Prática
Ebook Governança de TI na PráticaEbook Governança de TI na Prática
Ebook Governança de TI na PráticaFernando Palma
 
Simulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões ComentadasSimulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões ComentadasFernando Palma
 
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)Fernando Palma
 
Guia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilGuia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilFernando Palma
 
Gerenciamento na nuvem e System Center
Gerenciamento na nuvem e System CenterGerenciamento na nuvem e System Center
Gerenciamento na nuvem e System CenterFernando Palma
 
SAN: Storage Area Network
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area NetworkFernando Palma
 
Ebook ITIL Na Prática
Ebook ITIL Na PráticaEbook ITIL Na Prática
Ebook ITIL Na PráticaFernando Palma
 
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECExemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECFernando Palma
 
Apostila Tutorial CakePHP
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHPFernando Palma
 
Internet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho AcadêmicoInternet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho AcadêmicoFernando Palma
 

Mais de Fernando Palma (20)

CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
 
Formação em ciência de dados
Formação em ciência de dadosFormação em ciência de dados
Formação em ciência de dados
 
Apostila de Introdução ao Arduino
Apostila de Introdução ao ArduinoApostila de Introdução ao Arduino
Apostila de Introdução ao Arduino
 
Apostila Arduino Basico
Apostila Arduino BasicoApostila Arduino Basico
Apostila Arduino Basico
 
Cartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.brCartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.br
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia Introdutório
 
Apostila Zend Framework
Apostila Zend FrameworkApostila Zend Framework
Apostila Zend Framework
 
Hacker Ético
Hacker ÉticoHacker Ético
Hacker Ético
 
Ebook Governança de TI na Prática
Ebook Governança de TI na PráticaEbook Governança de TI na Prática
Ebook Governança de TI na Prática
 
Simulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões ComentadasSimulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões Comentadas
 
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
 
Guia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilGuia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half Brasil
 
Tutorial memcached
Tutorial memcachedTutorial memcached
Tutorial memcached
 
Gerenciamento na nuvem e System Center
Gerenciamento na nuvem e System CenterGerenciamento na nuvem e System Center
Gerenciamento na nuvem e System Center
 
SAN: Storage Area Network
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area Network
 
Linguagem ABAP
Linguagem ABAPLinguagem ABAP
Linguagem ABAP
 
Ebook ITIL Na Prática
Ebook ITIL Na PráticaEbook ITIL Na Prática
Ebook ITIL Na Prática
 
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECExemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MEC
 
Apostila Tutorial CakePHP
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHP
 
Internet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho AcadêmicoInternet Das Coisas Trabalho Acadêmico
Internet Das Coisas Trabalho Acadêmico
 

Introdução à Aprendizagem de Máquina

  • 1. Introdução à Aprendizagem de Máquina Stanley R. M. Oliveira Aprendizado de Máquina (Machine Learning)
  • 2. 2 Resumo da Aula Sistemas Híbridos Inteligentes. Aprendizado de Máquina: Conceitos. Hierarquiza do aprendizado. Paradigmas. Classificação de Dados: Processo de classificação. Características de um bom classificador. Principais métodos de classificação. Principais algoritmos existentes. Árvores de Decisão: Conceitos básicos. Algoritmos mais conhecidos. Mecanismos de poda. Escolha do atributo “split”.
  • 3. 3 Introdução Aquisição do conhecimento Aprendizado de máquina Redes Neurais Lógica FuzzyAlgoritmos Genéticos Mineração de Dados Mineração de Textos Sistemas Especialistas Sistemas Inteligentes Híbridos Técnicas-chave em Inteligência Artificial (IA) Mineração de Dados Conhecimento
  • 4. 4 Introdução Árvore de Decisão Redes Neurais Lógica Fuzzy Algoritmos genéticos Clusterização Associação Classificação MD + IA Integração Redes bayesianas Classificação
  • 5. 5 Aprendizado de Máquina Conceitos de aprendizado de máquina Sistemas de IA Armazenar conhecimento ⇒ Representação Aplicar conhecimento para resolver problemas Raciocínio (mecanismo de inferência) Adquirir novos conhecimentos ⇒ Aprendizagem
  • 6. 6 Aprendizado de Máquina ... O que é Aprendizado de Máquina? É uma área de IA cujo objetivo é o desenvolvimento de técnicas computacionais sobre o aprendizado bem como a construção de sistemas capazes de adquirir conhecimento de forma automática. Um sistema de aprendizado é um programa de computador que toma decisões baseado em experiências acumuladas por meio de solução bem sucedida de problemas anteriores. É uma ferramenta poderosa para aquisição automática de conhecimento, entretanto, não existe um único algoritmo que apresente melhor desempenho para todos problemas.
  • 7. 7 Indução: é a forma de inferência lógica que permite obter conclusões a partir de um conjunto de exemplos. Na indução, um conceito é aprendido efetuando-se inferência indutiva sobre os exemplos apresentados (cautela na escolha de exemplos). Dedução: Humanos usam raciocínio dedutivo para deduzir nova informação a partir de informação relacionada logicamente. Aprendizado de Máquina ...
  • 9. 9 Classificação Versus Clusterização Aprendizado supervisionado (classificação) Supervisão: As observações no conjunto de treinamento são acompanhadas por “labels” indicando a classe a que elas pertencem. Novas ocorrências são classificadas com base no conjunto de treinamento. Aprendizado não-supervisionado (clusterização) Não existe classe pré-definida para nenhum dos atributos. Um conjunto de observações é dado com o propósito de se estabelecer a existência das classes ou clusters.
  • 10. 10 Hierarquia do aprendizado Aprendizado Indutivo: É efetuado a partir de exemplos externos ao sistema de aprendizado. Aprendizado Supervisionado: Construir um classificador (indutor) que possa determinar a classe de novos exemplos a partir de exemplos treinamento com classe rotulada. Classificação: Rótulos para valores discretos. Regressão: Rótulos para valores contínuos. Aprendizado Não-Supervisionado: O indutor analisa os exemplos e tenta determinar se alguns deles podem ser agrupados de alguma maneira, formando agrupamentos ou clusters. Aprendizado de Máquina ...
  • 11. 11 Hierarquia do aprendizado Processo de Classificação Especificação do problema X1 x2 ... Xm Y T1 T2 . . . Tn x11 x12 ... x1m x21 x22 ... x2m . . . . . . xn1 xn2 xnm y1 y2 . . . yn Dados brutos Aprendizado de máquina ClassificadorAtributos Meta Especialista Avaliação Conhecimento do domínio Conhecimento do domínio Aprendizado de Máquina ...
  • 12. 12 Paradigmas do aprendizado: Simbólico: Buscam aprender construindo representações simbólicas (expressão lógica, árvores de decisão regras). Estatístico: Buscam métodos estatísticos (Aprendizado bayesiano) Baseado em Exemplos: Sistemas lazy (RBC, Nearest Neighboors). Conexionista: Modelos inspirados no modelo biológico do sistema nervoso (Redes Neurais). Evolutivo: Teoria de Darwin (Algoritmos Genéticos). Aprendizado de Máquina ...
  • 13. 13 Algumas Definições em AM Conjunto de exemplos: é um conjunto de exemplos contendo valores de atributos bem como a classe associada. X1 x2 ... Xm Y T1 T2 . . . Tn x11 x12 ... x1m x21 x22 ... x2m . . . . . . xn1 xn2 xnm y1 y2 . . . yn Atributos Classe Indutor Hipótese Descrição de conceito Classificador Aprendizado de Máquina: Definições
  • 14. 14 Algumas Definições em AM Indutor: programa de aprendizado ou algoritmo de indução que visa extrair um bom classificador a partir de um conjunto de exemplos rotulados. Exemplo: caso, dado ou registro. Atributo: descreve uma característica ou aspecto de um exemplo. Classe (Atributo-Meta): atributo especial no qual se pretende aprender a fazer previsões a respeito. Aprendizado de Máquina: Definições
  • 15. 15 Algumas Definições em AM Bias: qualquer preferência de uma hipótese sobre a outra. Modo de aprendizado: todo conjunto de treinamento presente no aprendizado (não incremental). quando novos exemplos de treinamento são adicionados (incremental). Aprendizado de Máquina: Definições
  • 16. 16 Erro ( err(h) ) Medida de desempenho de um Classificador. Considerando E = 1 se a expressão for verdadeira 0, caso contrário ∑= ≠= n i ii xhy n herr 1 )( 1 )( Acurácia ( acc(h) ) Complemento da Taxa de Erro, representa a Precisão do Classificador. )(1)( herrhacc −= Aprendizado de Máquina: Definições
  • 17. 17 Distribuição de Classes ( distr(Cj) ) Para cada Classe Cj, sua distribuição distr(Cj) é calculada como sendo o número de exemplos em T que possuem classe Cj dividido pelo número total de exemplos ( n ), ou seja, a proporção de exemplos em cada classe ∑= == n i jij Cy n Cdistr 1 1 )( Exemplo: Conjunto com 100 Exemplos: 60 Classe C1 15 Classe C2 25 Classe C3 distr (C1, C2, C3) = (60%, 15%, 25%) Neste exemplo, Classe Majoritária (ou Prevalente) é C1. Classe Minoritária é C2. Aprendizado de Máquina: Definições
  • 18. 18 Erro Majoritário ( maj-err(T) ) Limite Máximo abaixo do qual o erro de um Classificador deve ficar )(max1)( ,...1 i ki CdistrTerrmaj = −=− No Exemplo anterior: maj-err(T) = 1 - 0,60 = 0,40 Erro Majoritário INDEPENDEINDEPENDE do algoritmo de aprendizado. Aprendizado de Máquina: Definições
  • 19. 19 Prevalência de Classe Problema com desbalanceamento de classes em conjunto de exemplos. Exemplo: distr (C1, C2) = (99,75%, 0,25%) Neste exemplo, Classe Majoritária (ou Prevalente) é C1 Classe Minoritária é C2 Classificador que classifique novos exemplos como C1 teria uma precisão de 99,75%. Se a Classe C2 fosse, por exemplo, ocorrência de Geada ... Aprendizado de Máquina: Definições
  • 20. 20 “Overfitting” • É possível que o Classificador faça uma indução muito específica para o conjunto de treinamento utilizado (“Overfitting”). • Como este é apenas uma amostra de dados, é possível que a indução tenha bom desempenho no conjunto de treinamento, mas um desempenho ruim em exemplos diferentes daqueles pertencentes ao conjunto de treinamento. • Cálculo do Erro em um conjunto de teste independente evidencia a situação de “Overfitting”. • Under e overfitting: ajusta-se em muito pouco ou em excesso ao conjunto de treinamento. Aprendizado de Máquina: Definições
  • 21. 21 O que é classificação? Dado um conjunto de registros (dataset): Cada registro contém um conjunto de atributos, em que um dos atributos é o atributo-meta (variável resposta). O conjunto de dados é dividido em dois subconjuntos: conjunto de treinamento para construir o modelo e conjunto de teste para validar o modelo. Passo 1: encontrar um modelo para o atributo- meta (ou atributo-classe) como uma função dos valores dos outros atributos. Passo 2: registros não conhecidos devem ser associados à classe com a maior precisão possível.
  • 22. 22 O que é classificação? ... Aplicação do Modelo Indução Dedução Criação do Modelo Modelo Tid Atrib1 Atrib2 Atrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes 10 Tid Attrib1 Attrib2 Attrib3 Class 11 No Small 55K ? 12 Yes Medium 80K ? 13 Yes Large 110K ? 14 No Small 95K ? 15 No Large 67K ? 10 Conjunto de Teste usado algoritmo Conjunto de treinamento
  • 23. 23 • Qualidade do Exemplo de Treinamento →→→→→→→→ Qualidade das Regras. • Não é possível descobrir algo que não esteja nos exemplos. • Seleção dos exemplos e das características é fundamental neste processo. • Daí a importância do conhecimento e da experiência do Especialista. Observação Importante
  • 24. 24 Classificação: Aplicações Classificar tumores como benigno ou maligno. Classificar transações de cartão de crédito como legítima ou fraudulenta. Classificar estruturas secundárias de proteínas como alpha-helix, beta-sheet ou random coil. Avaliar riscos de empréstimos, previsão de tempo, etc. Sistema de alerta de geada. Previsão de mortalidade de frangos, etc.
  • 25. 25 Características de um bom classificador Precisão Velocidade Tempo para construir o modelo. Tempo para usar o modelo. Robustez Capacidade de lidar com ruídos e valores faltantes (missing). Escalabilidade Eficiência em banco de dados residentes em disco. Interpretabilidade Clareza fornecida pelo modelo. Relevância na seleção de regras Tamanho da árvore de decisão. Regras de classificação compactas.
  • 27. 27 Árvore de Decisão Árvore de decisão Um fluxograma com a estrutura de uma árvore. Nó interno representa um testes sobre um atributo. Cada ramo representa um resultado do teste. Folhas representam as classes. A geração de uma árvore consiste de duas fases: Construção da árvore Particionamento de atributos (best fit). Fase da poda (Tree pruning). Identifica e remove ramos que refletem ruídos ou outliers. Uso da árvore: Classificação de amostras desconhecidas Testa os valores dos atributos da amostra “contra” a árvore.
  • 28. 28 Paciente se sente bem? Paciente tem dor? Temperatura do Paciente S N N S Saudável Doente Doente Saudável <= 37 > 37 Árvore de Decisão – Exemplo
  • 29. 29 Geração de regras Se paciente se sente bem = sim então classe = saudável fim se. Se paciente se sente bem = não e paciente tem dor = sim então classe = doente fim se. ... Árvore de Decisão – Exemplo ...
  • 30. 30 Exemplo: Condições do tempo para Jogar Tênis. Árvore de Decisão – Exemplo ...
  • 31. 31 Árvore de Decisão – Exemplo ...
  • 32. 32 Árvore de Decisão – Exemplo ...
  • 33. 33 Árvore de Decisão – Exemplo ...
  • 34. 34 Árvore de Decisão – Exemplo ...
  • 35. 35 Árvore de Decisão – Exemplo ...
  • 36. 36 Algoritmos para árvores de decisão Algoritmo Básico (algoritmo guloso) A árvore é construída recursivamente no sentido top-down (divisão para conquista). No início, todas as amostras estão na raiz. Os atributos são nominais (se numéricos, eles são discretizados). Amostras são particionadas recursivamente com base nos atributos selecionados. Atributos “testes” são selecionados com base em heurísticas ou medidas estatísticas (ex., ganho de informação) [ID3 / C4.5] Condições de parada do particionamento Todas as amostras de um nó pertencem a mesma classe. Não existem mais atributos para particionamento. Não existem mais amostras no conjunto de treinamento.
  • 37. 37 Determinando o tamanho da árvore As seguintes abordagens podem ser usadas: Divisão do dataset: conjunto de treinamento (2/3) e conjunto de teste (1/3) – Percentage split. Uso de validação cruzada (10-fold cross validation). Uso de conjunto de teste extra (Supplied test set). Uso de todo o dataset para treinamento Aplicação de um teste estatístico (ex:, qui-quadrado) para estimar se expandindo ou podado um nó pode melhorar a distribuição total.
  • 38. 38 PODA • Técnica para lidar com ruído e “Overfitting” • Pré-Poda: Durante a geração da Hipótese. • Alguns exemplos de treinamento são deliberadamente ignorados. • Pós-Poda: Inicialmente, é gerada um Classificador que explique os exemplos. • Após isso, elimina-se algumas partes (cortes em ramos da árvore) generalizando a Hipótese. Árvore de Decisão: Poda
  • 39. 39 400 5 40 20 300 Árvore de Decisão: Poda ...
  • 41. 41 COMPLETUDE E CONSISTÊNCIA •• COMPLETUDECOMPLETUDE: Se a Hipótese gerada pelo Classificador classifica TODOSTODOS os exemplos. •• CONSISTÊNCIACONSISTÊNCIA: Se a Hipótese gerada pelo Classificador classifica CORRETAMENTECORRETAMENTE os exemplos. • Uma Hipótese gerada pelo Classificador pode ser: • Completa e Consistente. • Incompleta e Consistente. • Completa e Inconsistente. • Incompleta e Inconsistente. Completude e Consistência
  • 42. 42 COMPLETO e CONSISTENTECOMPLETO e CONSISTENTE Completude e Consistência ...
  • 43. 43 INCOMPLETO e CONSISTENTEINCOMPLETO e CONSISTENTE Completude e Consistência ...
  • 44. 44 COMPLETO eCOMPLETO e ININCONSISTENTECONSISTENTE Completude e Consistência ...
  • 45. 45 INCOMPLETO e INCONSISTENTEINCOMPLETO e INCONSISTENTE Completude e Consistência ...
  • 46. 46 Exemplo Aparência Temperatura Umidade Ventando Viajar T1 sol 25 72 sim VAI T2 sol 28 91 sim NÃO_VAINÃO_VAI T3 sol 22 70 não VAI T4 sol 23 95 não NÃO_VAINÃO_VAI T5 sol 30 85 não NÃO_VAINÃO_VAI T6 nublado 23 90 sim VAI T7 nublado 29 78 não VAI T8 nublado 19 65 sim NÃO_VAINÃO_VAI T9 nublado 26 75 não VAI T10 nublado 20 87 sim VAI T11 chuva 22 95 não VAI T12 chuva 19 70 sim NÃO_VAINÃO_VAI T13 chuva 23 80 sim NÃO_VAINÃO_VAI T14 chuva 25 81 não VAI T15 chuva 21 80 não VAI Completude e Consistência: Exemplo
  • 47. 47 Exemplo Aparência Temperatura Umidade Ventando Viajar T1 sol 25 72 sim VAI T2 sol 28 91 sim NÃO_VAINÃO_VAI T3 sol 22 70 não VAI T4 sol 23 95 não NÃO_VAINÃO_VAI T5 sol 30 85 não NÃO_VAINÃO_VAI T6 nublado 23 90 sim VAI T7 nublado 29 78 não VAI T8 nublado 19 65 sim NÃO_VAINÃO_VAI T9 nublado 26 75 não VAI T10 nublado 20 87 sim VAI T11 chuva 22 95 não VAI T12 chuva 19 70 sim NÃO_VAINÃO_VAI T13 chuva 23 80 sim NÃO_VAINÃO_VAI T14 chuva 25 81 não VAI T15 chuva 21 80 não VAI Completude e Consistência: Exemplo
  • 48. 48 Aparência Sol Nublado Chuva 2 VAI 3 NÃO_VAI 4 VAI 1 NÃO_VAI 3 VAI 2 NÃO_VAI Completude e Consistência: Exemplo
  • 49. 49 Exemplo Aparência Temperatura Umidade Ventando Viajar T1 sol 25 72 sim VAI T2 sol 28 91 sim NÃO_VAINÃO_VAI T3 sol 22 70 não VAI T4 sol 23 95 não NÃO_VAINÃO_VAI T5 sol 30 85 não NÃO_VAINÃO_VAI T6 nublado 23 90 sim VAI T7 nublado 29 78 não VAI T8 nublado 19 65 sim NÃO_VAINÃO_VAI T9 nublado 26 75 não VAI T10 nublado 20 87 sim VAI T11 chuva 22 95 não VAI T12 chuva 19 70 sim NÃO_VAINÃO_VAI T13 chuva 23 80 sim NÃO_VAINÃO_VAI T14 chuva 25 81 não VAI T15 chuva 21 80 não VAI Completude e Consistência: Exemplo
  • 50. 50 Exemplo Aparência Temperatura Umidade Ventando Viajar T1 sol 25 72 sim VAI T2 sol 28 91 sim NÃO_VAINÃO_VAI T3 sol 22 70 não VAI T4 sol 23 95 não NÃO_VAINÃO_VAI T5 sol 30 85 não NÃO_VAINÃO_VAI T6 nublado 23 90 sim VAI T7 nublado 29 78 não VAI T8 nublado 19 65 sim NÃO_VAINÃO_VAI T9 nublado 26 75 não VAI T10 nublado 20 87 sim VAI T11 chuva 22 95 não VAI T12 chuva 19 70 sim NÃO_VAINÃO_VAI T13 chuva 23 80 sim NÃO_VAINÃO_VAI T14 chuva 25 81 não VAI T15 chuva 21 80 não VAI Completude e Consistência: Exemplo
  • 51. 51 Aparência Sol Nublado Chuva 3 NÃO_VAI 4 VAI 3 VAI Vento não sim Umidade < 70 > 70 Umidade < 78 > 78 2 VAI 1 NÃO_VAI 2 NÃO_VAI Completude e Consistência: Exemplo
  • 52. 52 Aparência Sol Nublado Chuva 3 NÃO_VAI 5 VAI 3 VAI Vento não sim Umidade < 78 > 78 2 VAI 2 NÃO_VAI Completude e Consistência: Exemplo Poda Atrib. Umidade
  • 53. 53 Natureza eliminatória do processo • Exemplos do conjunto de treinamento vão sendo descartados à medida que são utilizados. Isso causa um efeito importante na definição dos nós mais profundos da árvore, uma vez que o suporte estatístico para a tomada de decisão vai sendo progressivamente diminuído, colocando em dúvida a representatividade do conjunto de elementos remanescentes. • Possibilidade de utilizar recursos para descarte (“poda”) dos ramos tecnicamente menos representativos da árvore da decisão. Aspectos Importantes
  • 54. 54 Algoritmos mais conhecidos ID3 (Iterative Dichotomiser 3) (Quilan,1986): Um algoritmo usado para gerar árvores de decisão. Os atributos do conjunto de dados devem ser obrigatoriamente categóricos. C4.5 (J48 no Weka) (Quilan, 1993): Um algoritmo para geração de árvores de decisão, sucessor do algoritmo ID3. O algoritmo C4.5 considera atributos numéricos e categóricos. CART (Classification And Regression Trees) (Breiman et al., 1984): Técnica não-paramétrica que produz árvores de classificação ou regressão, dependendo se as variáveis são categóricas ou numéricas, respectivamente.
  • 55. 55 Escolha do melhor atributo “split” • Não existe solução computacionalmente viável para que se obtenha sempre a melhor árvore de decisão possível (problema NP-completo: custo de proceder buscas exaustivas da melhor solução cresce a taxas exponenciais à medida que o tamanho do conjunto de treinamento aumenta). • Utilização de heurísticas: soluções baseadas em algum tipo de conhecimento prévio sobre as propriedades dos dados, na procura de uma boa solução (mas não necessariamente a melhor). Como escolher o melhor atributo?
  • 56. 56 Exemplo: Conjunto de todas soluções possíveis (floresta de decisão). BUSCA EXAUSTIVABUSCA EXAUSTIVA:: Correr todo esse conjunto, comparando cada elemento, até que todos tenham sido avaliados, e selecionar a melhor solução. SOLUSOLUÇÇÃOÃO ÓÓTIMA GARANTIDA.TIMA GARANTIDA. BUSCA HEURBUSCA HEURÍÍSTICASTICA:: Procura tendenciosa na floresta, visitando apenas as soluções com mais potencial de serem boas, com base em algumas premissas previamente conhecidas. A rapidez do processo aumenta, mas é possível que a melhor solução entre todas não tenha sido encontrada, pois eventualmente pode ter ficado fora do trajeto percorrido. Como escolher o melhor atributo?
  • 57. 57 Como definir alguma característica sobre os dados que permita definir um critério para identificação do melhor atributo em cada nível da árvore ? Problema: Abordagem baseada na Teoria da Informação Produz grupos mais homogêneos com relação ao atributo categórico. Boa subdivisão: Classificação evidencia as linhas gerais que fazem um elemento pertencer a uma determinada classe, o que é facilitado quando se produz agrupamentos mais organizados. Idéia Atributo mais informativo sobre a lógica dos dados num determinado contexto. Melhor atributo “split” Como escolher o melhor atributo?
  • 58. 58 CASCA COR TAMANHO POLPA RISCO aspera marrom grande dura baixo aspera verde grande dura baixo lisa vermelho grande macia alto aspera verde grande macia baixo aspera vermelho pequena dura baixo lisa vermelho pequena dura baixo lisa marrom pequena dura baixo aspera verde pequena macia alto lisa verde pequena dura alto aspera vermelho grande dura baixo lisa marrom grande macia baixo lisa verde pequena macia alto aspera vermelho pequena macia baixo lisa vermelho grande dura alto lisa vermelho pequena dura baixo aspera verde pequena dura alto Como escolher o melhor atributo?
  • 59. 59 Cálculo da Entropia - log2 p ( ci | aj ) “Quantidade de informação” que aj tem a oferecer sobre a conclusão ci Entropia = Quanto menor a Entropia Menor a “dúvida” Maior a informação que aj traz sobre C Como escolher o melhor atributo? Subconjuntos mais homogêneos (grupos menos “confusos” com relação à classe). Melhor atributo “split” Inversamente proporcional ao grau de informação (valor entre 0 e 1) Conceito de Entropia (Termodinâmica):
  • 60. 60 ∑= −= n i ii pLogpSEntropia 1 2 )()( Onde: SS é a distribuição de probabilidade das n mensagens possíveis; pi é a probabilidade de ocorrência da i-ésima mensagem • Para o caso de um classificador construído para um problema com 2 classes possíveis (A e B), um atributo xx vai permitir dividir os dados em tantos subconjuntos SS quantos forem os seus possíveis valores. • A entropia de cada um desses subconjuntos SSkk seria calculada por: )()()( 22 BBAAk pLogppLogpSEntropia −−= Quanto mais uniforme a distribuição, maior o grau de entropia. Como escolher o melhor atributo?
  • 61. 61 Para o caso de um atributo xx que possa assumir três valores (por exemplo, valores inteiros entre 1 e 3), três subconjuntos de SS são formados, cada um com seu próprio grau de entropia. Pode-se avaliar a entropia em SS quando considerado o atributo xx, através da média ponderada dos graus de entropia dos subconjuntos gerados (SS11, SS22 e SS33, neste exemplo). )(),( 1 i n i i SEntropia S S SxEntropia ⋅= ∑= Ganho de Informação (“Information Gain”) devido a xx na predição da classe é determinada pela redução da entropia original de SS.. Como escolher o melhor atributo?
  • 62. 62 Entropia de um Atributo A com relação à Classe C Atributo com MENOR entropia é o MELHOR para determinar a Classe Como escolher o melhor atributo?
  • 63. 63 Consideremos o Atributo “Casca” p(baixo | aspera) = 6 / 8 p(alto | aspera) = 2 / 8 p(aspera) = 8 / 16 p(baixo | lisa) = 4 / 8 p(alto | lisa) = 4 / 8 p(lisa) = 8 / 16 Entropia para o Atributo “Casca” 0.90564 CASCA COR TAMANHO POLPA RISCO aspera marrom grande dura baixo aspera verde grande dura baixo lisa vermelho grande macia alto aspera verde grande macia baixo aspera vermelho pequena dura baixo lisa vermelho pequena dura baixo lisa marrom pequena dura baixo aspera verde pequena macia alto lisa verde pequena dura alto aspera vermelho grande dura baixo lisa marrom grande macia baixo lisa verde pequena macia alto aspera vermelho pequena macia baixo lisa vermelho grande dura alto lisa vermelho pequena dura baixo aspera verde pequena dura alto
  • 64. 64 Consideremos o Atributo “Cor” p(baixo | marrom) = 3 / 3 p(alto | marrom) = 0 / 3 p(marrom) = 3 / 16 p(baixo | verde) = 2 / 6 p(alto | verde) = 4 / 6 p(verde) = 6 / 16 Entropia para o Atributo “Cor” 0.721976 p(baixo | vermelho) = 5 / 7 p(alto | vermelho) = 2 / 7 p(vermelho) = 7 / 16 CASCA COR TAMANHO POLPA RISCO aspera marrom grande dura baixo aspera verde grande dura baixo lisa vermelho grande macia alto aspera verde grande macia baixo aspera vermelho pequena dura baixo lisa vermelho pequena dura baixo lisa marrom pequena dura baixo aspera verde pequena macia alto lisa verde pequena dura alto aspera vermelho grande dura baixo lisa marrom grande macia baixo lisa verde pequena macia alto aspera vermelho pequena macia baixo lisa vermelho grande dura alto lisa vermelho pequena dura baixo aspera verde pequena dura alto
  • 65. 65 Consideremos o Atributo “Tamanho” p(baixo | grande) = 5 / 7 p(alto | grande) = 2 / 7 p(grande) = 7 / 16 p(baixo | pequeno) = 5 / 9 p(alto | pequeno) = 4 / 9 p(pequeno) = 9 / 16 Entropia para o Atributo “Tamanho” 0.9350955 CASCA COR TAMANHO POLPA RISCO aspera marrom grande dura baixo aspera verde grande dura baixo lisa vermelho grande macia alto aspera verde grande macia baixo aspera vermelho pequena dura baixo lisa vermelho pequena dura baixo lisa marrom pequena dura baixo aspera verde pequena macia alto lisa verde pequena dura alto aspera vermelho grande dura baixo lisa marrom grande macia baixo lisa verde pequena macia alto aspera vermelho pequena macia baixo lisa vermelho grande dura alto lisa vermelho pequena dura baixo aspera verde pequena dura alto
  • 66. 66 Consideremos o Atributo “Polpa” p(baixo | dura) = 7 / 10 p(alto | dura) = 3 / 10 p(dura) = 10 / 16 p(baixo | macia) = 3 / 6 p(alto | macia) = 3 / 6 p(macia) = 6 / 16 Entropia para o Atributo “Polpa” 0.92581 CASCA COR TAMANHO POLPA RISCO aspera marrom grande dura baixo aspera verde grande dura baixo lisa vermelho grande macia alto aspera verde grande macia baixo aspera vermelho pequena dura baixo lisa vermelho pequena dura baixo lisa marrom pequena dura baixo aspera verde pequena macia alto lisa verde pequena dura alto aspera vermelho grande dura baixo lisa marrom grande macia baixo lisa verde pequena macia alto aspera vermelho pequena macia baixo lisa vermelho grande dura alto lisa vermelho pequena dura baixo aspera verde pequena dura alto
  • 67. 67 Atributo Entropia Casca 0.90564 Cor 0.721976 Tamanho 0.9350955 Polpa 0.92581 Resultados do cálculo da entropia Como “Cor” tem a menor entropia, pode-se afirmar que também tem o maior ganho de informação. Logo deve ser usado como “atributo split”.
  • 68. 68 Cor = marrom: baixo (3.0) Cor = verde | Tamanho = grande: baixo (2.0) | Tamanho = pequena: alto (4.0) Cor = vermelho | Tamanho = grande: alto (3.0/1.0) | Tamanho = pequena: baixo (4.0) Resultado WEKA === Confusion Matrix === a b <-- classified as 9 1 | a = baixo 0 6 | b = alto Cor verde baixo marrom Tamanho vermelho Tamanho grande pequena grande pequena baixo alto alto baixo Acurácia: 93.75 % TP Rate Class 0.9 baixo 1 alto Análise dos Resultados
  • 69. 69 Árvores de decisão: prós e contras Vantagens Custo computacional é baixo. Muito rápido para classificar amostras desconhecidas. Fácil de interpretar árvores de tamanho pequeno. Precisão é semelhante a de outros métodos de classificação, para muitos datasets simples. Desvantagens “Overfitting” resulta em árvores de decisão que são mais complexas do que necessárias. O treinamento do erro nem sempre produz uma boa estimativa com relação à execução da árvore para amostras desconhecidas. Necessita de novas maneiras para estimar erros.
  • 70. 70 EstEstáágiogio DeficiênciaDeficiência AstigmatismoAstigmatismo ProduProduçção_Lão_Láágrimagrima Recomenda_LenteRecomenda_Lente Inicial Miopia Não Baixa Nenhuma Inicial Miopia Não Normal Macia Inicial Miopia Sim Baixa Nenhuma Inicial Miopia Sim Normal Dura Inicial Hipermetropia Não Baixa Nenhuma Inicial Hipermetropia Não Normal Macia Inicial Hipermetropia Sim Baixa Nenhuma Inicial Hipermetropia Sim Normal Dura Pré-Presbiopia Miopia Não Baixa Nenhuma Pré-Presbiopia Miopia Não Normal Macia Pré-Presbiopia Miopia Sim Baixa Nenhuma Pré-Presbiopia Miopia Sim Normal Dura Pré-Presbiopia Hipermetropia Não Baixa Nenhuma Pré-Presbiopia Hipermetropia Não Normal Macia Pré-Presbiopia Hipermetropia Sim Baixa Nenhuma Pré-Presbiopia Hipermetropia Sim Normal Nenhuma Presbiopia Miopia Não Baixa Nenhuma Presbiopia Miopia Não Normal Nenhuma Presbiopia Miopia Sim Baixa Nenhuma Presbiopia Miopia Sim Normal Dura Presbiopia Hipermetropia Não Baixa Nenhuma Presbiopia Hipermetropia Não Normal Macia Presbiopia Hipermetropia Sim Baixa Nenhuma Presbiopia Hipermetropia Sim Normal Nenhuma ExercExercíício:cio: ConstruirConstruir áárvores de decisão usando J48, PART, JRIP, etc.rvores de decisão usando J48, PART, JRIP, etc.