• Nenhum resultado encontrado

IA08 - Aprendizagem de Máquina

N/A
N/A
Protected

Academic year: 2021

Share "IA08 - Aprendizagem de Máquina"

Copied!
65
0
0

Texto

(1)
(2)

Aprendizagem de Máquina

 O que é Aprendizagem?

 A psicologia costuma definir a aprendizagem como uma

mudança relativamente permanente no conhecimento ou no comportamento produzido pela experiência.

 Em resumo dizemos que faz parte da aprendizagem:

 Memorizar qualquer coisa

 Aprender fatos através da observação e exploração

 Melhorar capacidades cognitivas e/ou motoras através da

prática

(3)

Aprendizagem de Máquina

Projeto de sistemas convencionais

 Formular um modelo a partir de requisitos do sistema,

informados por um especialista.

 Construir o sistema utilizando o modelo

Projeto de aprendizagem de máquina

 Formular modelo matemático a partir de observações do

ambiente

 Baseado apenas nos dados observados do ambiente

 Extrair o conhecimento intrínseco aos dados.  Generalizar conceitos a partir dos dados

(4)

Conjunto de dados

Conjunto de dados:

 Percepções do ambiente x ações a serem tomadas

Tamanho depende da complexidade dos dados

 Quanto maior a complexidade, maior a quantidade

necessária

 Pré-processamento dos dados

 Dados numéricos

 Presença de valores em todos os campos

 Balanceamento entre os dados do domínio (percepções) e

(5)

Pré-processamento dos dados

Conversão de valores simbólicos para valores

numéricos

 Quando os valores não apresentam ordenação

 Vetores de valores binários, cada um com um elemento igual a

1 e os demais iguais a 0

 Tamanho do vetor igual ao número de valores diferentes

 Quando os valores apresentam ordenação

 Codificar cada valor por um número real

 Codificar cada valor por um vetor binário, utilizando

(6)

Pré-processamento dos dados

Estimativa de valores ausentes

 Média de todos os valores do mesmo campo  Média entre anterior e posterior

 Criação de um novo valor

Normalização de valores numéricos

 Normalizar cada campo individualmente

 Assegurar que todos os valores de um dado campo

(7)

Criação de conjuntos de dados

Dividir o conjunto de dados em:

 Subconjunto de treinamento (50% dos dados)

 Necessidade de manter uniformidade pode reduzir proporção

 Subconjunto de validação (25% dos dados)  Subconjunto de teste (25% dos dados)

 Dividir dados aleatoriamente entre os conjuntos

 Conjuntos devem ser disjuntos

Repetir o processo acima várias vezes

 Criando vários conjuntos, cada um com subconjuntos de

(8)
(9)

Paradigma de Aprendizado

Supervisionado

Envolve o aprendizado de uma função a partir de

exemplos de suas entradas e saídas

Um agente percebe o ambiente, atua nesse ambiente e

um agente externo (professor) indicará como foi o

desempenho desse agente (onde errou ou se a ação

escolhida foi correta)

Para a utilização desse paradigma, os dados utilizados

durante a fase de aprendizagem devem:

 Conter as características (percepções do

ambiente)

 A ação ideal a ser tomada (que será utilizada

(10)

Paradigma de Aprendizado por Reforço

O aprendizado ocorre pelo processo de tentativa e erro. O

agente aprende baseado no estimulo recebido por cada

ação executada.

 Procura maximizar sinal de reforço

Se ação tomada por sistema é seguida por estado

satisfatório, sistema é fortalecido, caso contrário, sistema

é enfraquecido (lei de Thorndike)

Tipos de reforço

 Positivo = recompensa  Negativo = punição  Nulo

(11)

Supervisionado X Reforço

Aprendizado

supervisionado

Aprendizado por

reforço

Professor

Crítico

Sistema de feedback

instrutivo

Sistema de feedback

estimativo

É dito o que fazer

Faz as coisas e ver o que

acontece

(12)

Paradigma de Aprendizado Não

Supervisionado

• Também conhecido como Clusterização

• O agente tentará agrupar dados semelhantes

• Não tem crítico ou professor externo

• Extração de características estatisticamente relevantes

 Cria classes

(13)

Tarefas de aprendizado

Escolha do paradigma de aprendizado é

influenciada pela tarefa a ser realizada pelo

agente

(14)

Principais tarefas de aprendizado

Tarefa

Exemplo

Paradigma

Aproximação Dado pares (x, d), aproximar função Supervisionado Associação Autoassociação Heteroassociação Associar x com x Associar x com y Não supervisionado Supervisionado Classificação de padrões Categorias definidas Cluster, deteção de características Supervisionado Não supervisionado

Previsão Série temporal Supervisionado Controle Corpo humano Reforço

(15)
(16)

Então como aprender?

 A Indução

 Dad0 um conjunto de exemplos de f , a inferência indutiva

(indução) irá retornar uma função h (hipótese) que se aproxime de f e generalize bem o problema.

Exemplo:

 O bocado de pão 1 estava saboroso quando eu o comi.  O bocado de pão 2 estava saboroso quando eu o comi.

 …

 O bocado de pão 100 estava saboroso quando eu o comi.  Então, todos os bocados de pão estarão saborosos quando

(17)

Problema Exemplo:

 Imagine que gostaríamos de prever se a minha vizinha vai

de carro ou não para o trabalho. Caso ela vá de carro poderei pedir carona.

 Se a minha vizinha vai de carro ou não para o trabalho

parece depender das seguintes características do dia:  Temperatura ambiente,

 Precipitação (neve, chuva, sol)  Dia da semana,

 Se vai ou não as compras pelo caminho e  Tipo de roupa.

(18)

Problema Exemplo…

Digamos que observamos estas características durante 3 dias. A tabela seguinte mostra-nos os resultados destas mesmas

(19)

Memória

 Agora pretende-se prever qual irá ser a atitude que a nossa

vizinha ira tomar mediante as seguintes condições (última linha):

(20)

Memória

 A resposta parece ser óbvia, pois as condições são

semelhantes a uma das anteriores.

 Este tipo de aprendizagem é bastante rudimentar pois

basta memorizar o que se viu anteriormente para se poder dar a resposta.

(21)

Calculo da média

E quando há ruído nos dados (normalmente as coisas

não são tão simples como no caso anterior.)

(22)

Calculo da média

Para uma entrada semelhante temos saídas diferentes.

Se recebermos a mesma entrada qual vai ser a nossa

previsão?

(23)

Calculo da média

(24)

Generalização

 Imagine agora o caso em que temos de tratar com casos nunca

vistos. Neste caso, pode não haver uma resposta óbvia.

 Podemos abdicar de fazer uma previsão,

 ou então assumir que existe uma certa propriedade de estabilidade: situações similares tendem a ter categorias similares.

 Ao final pode-se

argumentar que:

 Ela vai a pé, porque a única vez que choveu ela foi a pé.

 Ela vai de carro,

porque às segundas foi sempre de carro.

(25)

Generalização

A questão de qual deles escolher é uma questão difícil

e um dos problemas mais profundos subjacentes à

Aprendizagem de Máquinas.

Convém realçar que o objetivo é sempre que a máquina

possa fazer as previsões acerca de dados novos sem a

ajuda da intuição humana.

(26)
(27)

Aprendizagem em Árvores de

Decisão

 A indução de árvores de decisão é uma das formas mais

simples, e ainda assim mais bem-sucedidas de algoritmo de aprendizagem.

 Uma árvore de decisão toma como entrada uma lista de

atributos e retorna uma “decisão”

 Àrvores de Decisão:

 Fáceis de serem implementadas e utilizadas  aprendizagem não incremental

(28)

Árvores de Decisão

 Neste exemplo, a árvore

ficaria com a seguinte estrutura.

(29)

Árvores de Decisão

Uma árvore de decisão utiliza uma estratégia de

dividir-para-conquistar:

 Um problema complexo é decomposto em

sub-problemas mais simples.

 Recursivamente a mesma estratégia é aplicada a cada

sub-problema.

A capacidade de discriminação de uma árvore vem da:

 Divisão do espaço definido pelos atributos em

sub-espaços.

(30)

Árvores de Decisão

 Representação por árvores de

decisão:

 Cada nó de decisão contem um teste num atributo.

 Cada ramo descendente corresponde a um possível valor deste atributo.

 Cada Folha está associada a uma classe.

 Cada percurso na árvore (da raiz à folha) corresponde a uma regra de classificação.

(31)

Construção de uma Árvore de

Decisão

A idéia base:

1. Escolher um atributo.

2. Estender a árvore adicionando um ramo para cada

valor do atributo.

3. Passar os exemplos para as folhas (tendo em conta o

valor do atributo escolhido)

4. Para cada folha

 Se todos os exemplos são da mesma classe, associar essa classe

à folha

(32)

Exemplo

Queremos decidir se devemos ou não jogar tênis. Essa

decisão depende dos seguintes atributos: como está o

tempo; a temperatura, a umidade do ar e o vento.

(33)

Exemplo

(34)

Critérios para Escolha do Atributo

Como medir a habilidade de um dado atributo

discriminar as 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

(35)

Critérios para Escolha do Atributo

Qual é o melhor atributo?

[29+ , 35-] [21+, 5-] [8+, 30-] [29+ , 35-] A2=? [18+ , 33-] [11+ , 2-] A1=?

(36)

Entropia

 S é uma amostra dos exemplos de treinamento

 p é a proporção de exemplos positivos em S  p é a proporção de exemplos negativos em S

 Entropia mede a “impureza” de S:

 Entropia(S)=- p log2 p - p log2 p

 Se p é 1, o destinatário sabe que o exemplo selecionado

será positivo

 Nenhuma mensagem precisa ser enviada  Entropia é 0 (mínima)

 Se p é 0.5, um bit é necessário para indicar se o exemplo

selecionado é  ou   Entropia é 1 (máxima)

(37)
(38)

Entropia

Entropia é uma medida da aleatoriedade (impureza)

de uma variável.

A entropia de uma variável nominal X que pode tomar

i valores:

A entropia tem máximo (log2 i) se pi = pj para

qualquer i  j

A entropia(x) = 0 se existe um i tal que pi = 1

É assumido que 0 * log2 0 = 0

i i i

p

p

X

entropia

(

)

log

2

(39)

Entropia - Exemplo II

Suponha que S é uma coleção de 14 exemplos,

incluindo 9 positivos e 5 negativos

 Notação: [9+,5-]

A entropia de S em relação a esta classificação

booleana é dada por:

940 . 0 ) 14 / 5 ( log ) 14 / 5 ( ) 14 / 9 ( log ) 14 / 9 ( ]) 5 , 9 ([ 2 2       Entropy

(40)

Ganho de Informação

 No contexto das árvores de decisão a entropia é usada para estimar a

aleatoriedade da variável a prever (classe).

 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

dos exemplos 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 aleatoriedade - dificuldade de previsão- da variável

que define as classes.

)

(

#

#

)

(

)

,

(

 

entropia

Exs

Exs

Exs

Exs

entropia

Atri

Exs

ganho

(41)

Cálculo do ganho de informação de

um atributo nominal

Informação da Classe:

 p(sim) = 9/14  p(não) = 5/14

 Ent(joga) = - 9/14 log2 9/14 – 5/14 log2 5/14 = 0.940

Informação nas partições:

 p(sim|tempo=sol) = 2/5  p(não|tempo=sol) = 3/5  Ent(joga|tempo=sol) = -2/5 log2 2/5 –3/5 log2 3/5 = 0.971  Ent(joga|tempo=nublado) = 0.0  Ent(joga|tempo=chuva) = 0.971  Info(tempo) = 5/14*0.971 + 4/14*0+5/14*0.971= 0.693

Ganho de Informação obtida neste atributo:

 Ganho(tempo) = Ent(joga)-Info(tempo)  Ganho(tempo) = 0.940 – 0.693 = 0.247

Tempo [9+ , 5-]

[2+, 3-] [3+, 2-]

Sol Chuva Nublado

(42)

Exemplos de treinamento

Que atributo deve ser selecionado para ser a raiz da

árvore?

 Ganho(S,Tempo) = 0.247  Ganho(S,Umidade) = 0.151  Ganho(S,Vento) = 0.048

 Ganho(S,Temperatura) = 0.029

onde S denota a coleção de exemplos na tabela

(43)
(44)

Cálculo do ganho para atributos

numéricos

 Um teste num atributo numérico produz uma partição

binária do conjunto 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 intermediário entre dois valores diferentes e

consecutivos dos valores observados no conjunto de treinamento pode ser utilizado como possível ponto de referência.

 É usual considerar o valor médio entre dois valores diferentes

e consecutivos.

 Fayyard e Irani (1993) mostram que de todos os possíveis

pontos de referência aqueles que maximizam o ganho de informação separam dois exemplos de classes diferentes.

(45)

Cálculo do ganho para atributos

numéricos

Considere o ponto de referência

temperatura = 70.5

Um teste usando este ponto de

referência divide os exemplos em duas classes:

 Exemplos onde temperatura <

70.5

 Exemplos onde temperatura >

70.5

Como medir o ganho de informação

desta partição? Temperatura Joga 64 Sim 65 Não 68 Sim 69 Sim 70 Sim 71 Não 72 Não 72 Sim 75 Sim 75 Sim 80 Não 81 Sim 83 Sim 85 Não

(46)

Cálculo do ganho para atributos

numéricos

Como medir o ganho de informação desta

partição?

Informação nas partições

 p(sim | temperatura<70.5)=4/5  p(não | temperatura<70.5)=1/5  p(sim | temperatura>70.5)=5/9  p(não | temperatura>70.5)=4/9

 Info(joga | temperatur<70.5) = -4/5 log2 4/5 –

1/5 log2 1/5 = 0.721

 Info(joga | temperatura >70.5) = -5/9 log2 5/9

– 4/9 log2 4/9 = 0.991  Info(temperatura) = 5/14*0.721+9/14*0.991 = 0.895  Ganho(temperatura) = 0.940 – 0.895 = 0.045 bits Tempo [5, 9] Sim Sim Sim Sim Não Sim Sim Sim Sim Sim Não Não Não Não < 70.5 > 70.5

(47)

Critérios de Parada

Quando parar a divisão dos exemplos?

 Todos os exemplos pertencem a mesma classe.

 Todos os exemplos têm os mesmos valores dos atributos

(mas diferentes classes).

 O número de exemplos é inferior a um certo limite.  O mérito de todos os possíveis testes de partição dos

(48)

Construção de uma Árvore de

Decisão

Input: Um conjunto de exemplos

Output: Uma árvore de decisão

Função Geraárvore(Exs)

Se criterio_parada(Exs) = TRUE: retorna Folha

Escolhe o atributo que maximiza o critério_divisão(Exs) Para cada partição i dos exemplos baseada no atributo

escolhido: árvorei = Geraárvore(Exsi)

Retorna um nó de decisão baseado no atributo escolhido e com descendentes árvore i.

(49)

Exercício: Árvores de Decisão

Suponha a seguinte árvore que apresenta os atributos

que são considerados para uma pessoa decidir se quer

ficar ou não em um restaurante que acabou de chegar.

(50)

Exercício: Árvores de Decisão

Exercício 1: Gerar 20 padrões (lista de atributos e a

saída, baseados na árvore de decisão)

Exercício 2: Considerando os 20 padrões criados

aleatoriamente por você. Utilize 18 deles para criar

uma árvore de decisão baseado nesses padrões. Os

outros 2 utilize para testar se a árvore criada por você

está compatível com a árvore original.

(51)

Sobre-ajustamento (Overfitting)

O algoritmo de partição recursiva do conjunto de

dados gera estruturas que podem obter um ajuste aos

exemplos de treinamento perfeito.

 Em domínios sem ruído o nr. de erros no conjunto de

treinamento pode ser 0.

Em problemas com ruído esta capacidade é

problemática:

 A partir de uma certa profundidade as decisões tomadas

são baseadas em pequenos conjuntos de exemplos.

 A capacidade de generalização para exemplos não

(52)

Variação do erro com o nr. de nós

(53)

Valores de atributo desconhecidos

E se valores do atributo A estão faltando para alguns

exemplos?

 Substituir o valor desconhecido durante o

pré-processamento pelo valor mais provável (ex. média)

Mesmo assim use os exemplos de treinamento, e

organize a árvore como segue:

 Se um nó n testa A, atribua um valor para A que seja o

mais comum entre os outros exemplos classificados nó n

 Atribua para A um valor que seja o mais comum entre os

outros exemplos com o mesmo valor objetivo (target value)

(54)

Transformação de árvores em

regras de decisão

 Regras podem ser auto-interpretadas.  Uma transformação:

 Cada ramo dá origem a uma regra

 A regra prediz a classe associada à folha  A parte condicional da regra é obtida

pela conjunção das condições de cada nó.

 Exemplo:

 IF (Tempo = Sol)  (Umidade = Alta)

THEN PlayTennis = Não

 IF (Tempo = Sol)  (Umidade = Normal)

THEN PlayTennis = Sim ...

(55)
(56)

Classificador

Dado este conjunto

de entradas e saídas.

É possível saber qual

a cor de um novo

ponto x ?

Qual será a melhor

forma de separar

estes 2 grupos?

(57)

Qual será a resposta mais correta?

 Neste caso parece

óbvio, que seja uma linha que separe os dois conjuntos de pontos.

 Assim um ponto que

surja no lado direito, prevemos que seja vermelho e preto se surgir no lado

(58)

E agora?

• Agora que temos uma configuração diferente de pontos.

(59)
(60)

Nearest Neighbor

 Este algoritmo é o mais simples de todos. O novo ponto

será da cor daquele que é o seu vizinho mais próximo.

• Qual será neste caso a cor do ponto que falta?

• Vermelho é a cor do ponto que está mais próximo. Então fica vermelho.

(61)

K-Nearest Neighbor

Passos do algoritmo:

 Lembrar-se de todos os dados

 Quando alguém passar um padrão de entrada:

 Encontrar os k pontos mais próximo a este padrão

 Devolver a resposta de maior ocorrência associada aos k

(62)

Nearest Neighbor

A distância euclidiana entre os pontos P(p

1

, p

2

, p

3

, ..., p

n

,

) e Q(q

1

, q

2

, q

3

, ..., q

n

, ), num espaço euclidiano

n-dimensional, é definida como:

Além da distância Euclidiana também´pode ser

implementada utilizando:

 Distância de Minkowski  Distância de Manhattan

(63)

Exemplo: Nearest Neighbor

Pesquisadores desejam classificar a flor Íris de acordo

com a sua espécie:

 Iris Setosa

 Iris Versicolour  Iris Virginica

Para isso foram observadas 4 características (atributos)

dessas flores:

 comprimento das sépalas em cm  largura da sépala, em cm

 comprimento da pétala, em cm  largura da pétala, em cm

(64)

Exemplo: Nearest Neighbor

Dados Observados:

Agora deseja-se saber a qual espécie de íris as seguintes

(65)

Exercícios

 Escolher uma base de dados (padrões) na Internet

 http://archive.ics.uci.edu/ml/

 Normalizar a base

 Separar a base de dados em conjunto de testes e conjunto de treinamento

 Implementar o kNN utilizando as 3 principais distâncias

 Variar o k entre 1 e 11 (considerando apenas números ímpares).  Apresentar um resumo contendo:

 Breve descrição da técnica;  Breve descrição do código;

 Experimentos com os resultados obtidos descrevendo os principais pontos

observados com a variação do k

 Breve conclusão  Referências

Referências

Documentos relacionados

Esta função faz parte do subgrupo de Pesquisa e referência e permite escolher, dado uma lista de valores, até o máximo de 254 valores, a referência deste valor dado. No exemplo

Redes Neurais Artificiais (RNAs) fornecem um método geral e prático para a aprendizagem de funções de.. valor real e de valor discreto a partir

TESTE GRAVAÇÃO E APRESENTAÇÃO DOS DADOS: Criar uma tabela em formato .CSV com valores conhecidos e apresentar no programa a fim de verificar se mostra os mesmos

– Classifica os dados (constrói um modelo) com base no conjunto de treinamento e nos valores base no conjunto de treinamento e nos valores (rótulos) do atributo classificador,

Conjunto de Teste Conjunto de Treinamento Taxa de Erro (Verdadeira) do Classificador Indutor h 92 Renda Idade H4... algoritmos de árvores de decisão ou de indução de regras). ƒ

(Provavelmente não vou mostrar, apenas uma observação) Domínio, Ω = um espaço boreliano padrão. Espaço mensurável = conjunto

Atributo identificador Æ Um identificador é um conjunto ou mais de atributos cujos valores servem para distinguir uma ocorrência de entidade (instância) ou relacionamento..

Pude, assim, construir e delinear a forma (seções e subseções das peças) texturalmente, usando todas as partições (conjunto de combinações de um dado número)