Aprendizagem de Máquina - Instituto de Informática...

25
Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA O problema da representação Informática UFRGS 2 Definição de um problema de aprendizagem Dizemos que um sistema computacional aprende da experiência E, em relação a uma classe de tarefas T e a uma medida de desempenho P, se seu desempenho nas tarefas em T, medido por P, melhora com a experiência E. Portanto, num problema de aprendizagem bem formulado identificamos 3 fatores:

Transcript of Aprendizagem de Máquina - Instituto de Informática...

Page 1: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Aprendizagem de Máquina

Prof. Paulo Martins Engel

Componentes de um SBA

O problema da representação

Informática

UFRGS 2

Definição de um problema de aprendizagem

• Dizemos que um sistema computacional aprende da experiência E, em relação a uma classe de tarefas T e a uma medida de desempenho P, se seu desempenho nas tarefas em T, medido por P, melhora com a experiência E.

• Portanto, num problema de aprendizagem bem formulado identificamos 3 fatores:

Page 2: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 3

Definição de um problema de aprendizagem

• Dizemos que um sistema computacional aprende da experiência E, em relação a uma classe de tarefas T e a uma medida de desempenho P, se seu desempenho nas tarefas em T, medido por P, melhora com a experiência E.

• Portanto, num problema de aprendizagem bem formulado identificamos 3 fatores:

– a classe das tarefas T → tipo de problema de aprendizado• o que aprender; solução; função alvo; hipótese

– a fonte de experiência E → especificação do treinamento• conjunto de treinamento; procedimento de treinamento

– a medida de desempenho a ser melhorada P → como avaliar o desempenho

• função de avaliação; função de valor

Informática

UFRGS 4

Projeto de um sistema de aprendizagem• O projeto de um sistema de aprendizagem para solucionar uma

determinada tarefa pode ser compreendido como uma série de escolhas envolvendo os componentes da solução:

• O treinamento:• Direto (supervisionado por um instrutor): em cada estado do

domínio se conhece a solução desejada.– A solução depende de uma única decisão instantânea (função ou

mapeamento estático)

Page 3: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 5

Projeto de um sistema de aprendizagem• O projeto de um sistema de aprendizagem para solucionar uma

determinada tarefa pode ser compreendido como uma série de escolhas envolvendo os componentes da solução:

• O treinamento:• Direto (supervisionado por um instrutor): em cada estado do

domínio se conhece a solução desejada.– A solução depende de uma única decisão instantânea (função ou

mapeamento estático)

• Indireto (supervisionado por um crítico): apenas em estados finais, de uma sequência de estados, se recebe a informação de sucesso ou insucesso.

– A solução depende do encadeamento de decisões (função ou mapeamento dinâmico)

– Neste caso, o sistema enfrenta o problema de atribuição de crédito para os estados intermediários.

Informática

UFRGS 6

O treinamento (cont.)

• O conjunto e a sequência de exemplos de treinamento em geral influenciam no desempenho do sistema.

• Quais instâncias devem constituir o conjunto de treinamento?– escolha aleatória ?

– determinada por um especialista ?

– só as difíceis ?

• Em geral, a aprendizagem é mais eficiente se os exemplos de treinamento seguirem uma distribuição similar a dos exemplos de teste (futuros)

Page 4: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 7

O treinamento (cont.)

• O conjunto e a sequência de exemplos de treinamento em geral influenciam no desempenho do sistema.

• Quais instâncias devem constituir o conjunto de treinamento?– escolha aleatória ?

– determinada por um especialista ?

– só as difíceis ?

• Em geral, a aprendizagem é mais eficiente se os exemplos de treinamento seguirem uma distribuição similar a dos exemplos de teste (futuros)

• O conhecimento ganho com um episódio de treinamento deve ser aproveitado, refinando-o nos detalhes, ou deve-se explorar novas soluções que eventualmente tenham desempenho melhor?

– Dilema exploration x exploitation

Informática

UFRGS 8

Medida de desempenho: a função de valor

• Muitas tarefas de aprendizagem podem ser representadas como problemas de otimização.

• Neste caso, o desempenho de uma solução pode ser medido através de uma função de valor V, de utilidade a ser maximizada pelo treinamento, ou alternativamente, de custo a ser minimizada.

Page 5: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 9

Medida de desempenho: a função de valor

• Muitas tarefas de aprendizagem podem ser representadas como problemas de otimização.

• Neste caso, o desempenho de uma solução pode ser medido através de uma função de valor V, de utilidade a ser maximizada pelo treinamento, ou alternativamente, de custo a ser minimizada.

• Exemplos:

• A contagem de erros de previsão de um classificador, por exemplo, constitui uma de função de custo.

• A configuração do tabuleiro em um determinado estado de um jogo poderia ser avaliada por uma função de utilidade, que mede o quão distante está este estado, do estado final (de vitória).

Informática

UFRGS 10

Representação da solução• A função de valor está fundamentalmente ligada à representação

da solução.

• No caso do classificador, as saídas representam os rótulos de classe, codificados segundo uma representação conveniente.

• No caso de um jogo, a configuração do tabuleiro representa um estado possível, segundo as regras do jogo.

• Neste caso, todos os estados possíveis formam um espaço de busca conhecido a priori, mas cuja estratégia ótima de busca é desconhecida e deve ser aprendida.

Page 6: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 11

Representação da solução• A função de valor está fundamentalmente ligada à representação

da solução.

• No caso do classificador, as saídas representam os rótulos de classe, codificados segundo uma representação conveniente.

• No caso de um jogo, a configuração do tabuleiro representa um estado possível, segundo as regras do jogo.

• Neste caso, todos os estados possíveis formam um espaço de busca conhecido a priori, mas cuja estratégia ótima de busca é desconhecida e deve ser aprendida.

• Entretanto, na maioria dos jogos não é possível avaliar a função alvo exatamente, devido à explosão combinatória dos estados.

• Em geral, deve-se especificar uma função heurística V’, que calcula uma aproximação para V.

Informática

UFRGS 12

Teoria do aprendizado computacional

• O problema do aprendizado indutivo de uma função alvo desconhecida, a partir de exemplos de treinamento desta função e dado um espaço de hipóteses candidatas depende fundamentalmente dos seguintes atributos do problema:

• Tamanho ou complexidade do espaço de hipóteses considerado pelo algoritmo de aprendizado

• A acurácia com que a função alvo deve ser aproximada

• A probabilidade de que o algoritmo forneça uma hipótese adequada

• A maneira pela qual os exemplos de treinamento são apresentados ao algoritmo de aprendizado

• A teoria do aprendizado computacional estuda a influência destes fatores no desempenho da tarefa de aprendizado indutivo.

Page 7: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 13

Aprendizado indutivo• Questões relativas ao problema de aprendizagem indutiva de

uma função desconhecida, a partir de exemplos de treinamento desta função e dado um espaço de hipóteses candidatas:

• Complexidade da amostra:– Quantos exemplos de treinamento são necessários para o sistema de

aprendizagem (SA) convergir (com alta probabilidade) para uma hipótese adequada?

• Complexidade computacional:– Quanto esforço computacional é necessário para que um SA convirja

(com alta probabilidade) para uma hipótese adequada?

• Limites de erro:– Quantos exemplos de treinamento serão classificados erroneamente pelo

SA antes que ele convirja para uma hipótese adequada?

• É possível estabelecer-se limites teóricos para estas medidas

Informática

UFRGS 14

Aprendizado provavelmente aproximadamente correto

• Num modelo PAC (probably approximately correct) de aprendizagem, é possível estabelecer limites teóricos para o número de exemplos de treinamento e a quantidade de computação necessários para aprender várias classes de funções.

• Considere uma classe C de funções alvo possíveis, definida sobre um conjunto de instâncias X de tamanho n, e um algoritmo Lusando um espaço de hipóteses H.

Page 8: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 15

Aprendizado provavelmente aproximadamente correto

• Num modelo PAC (probably approximately correct) de aprendizagem, é possível estabelecer limites teóricos para o número de exemplos de treinamento e a quantidade de computação necessários para aprender várias classes de funções.

• Considere uma classe C de funções alvo possíveis, definida sobre um conjunto de instâncias X de tamanho n, e um algoritmo Lusando um espaço de hipóteses H.

• O aprendizado da classe C é dito PAC por L usando H se, para qualquer conceito c em C, L fornecer uma hipótese h com erro menor que , com probabilidade (1 – ), em tempo polinomial em 1/, 1/, n e tamanho(c), sendo , arbitrários.

• tamanho(c) representa a complexidade intrínseca do espaço de instâncias (ex., número de características usadas para descrever c).

Informática

UFRGS 16

• O que aprender?– Conceitos: noções que podem ser aprendidas

– Exemplo: categorias ou classes de um domínio

– Objetivo: descrição inteligível e operacional de um conceito

Preparação para a aprendizagem

Page 9: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 17

• O que aprender?– Conceitos: noções que podem ser aprendidas

– Exemplo: categorias ou classes de um domínio

– Objetivo: descrição inteligível e operacional de um conceito

• Como aprender?– A partir de amostras de conceitos

– Amostras: exemplos individuais e independentes de um conceito

– Exemplo pode ser positivo, amostra satisfaz o conceito, ou negativo

Preparação para a aprendizagem

Informática

UFRGS 18

• O que aprender?– Conceitos: noções que podem ser aprendidas

– Exemplo: categorias ou classes de um domínio

– Objetivo: descrição inteligível e operacional de um conceito

• Como aprender?– A partir de amostras de conceitos

– Amostras: exemplos individuais e independentes de um conceito

– Exemplo pode ser positivo, amostra satisfaz o conceito, ou negativo

• Como representar conceitos?– Descrição a partir da representação adotada para as amostras

– As instâncias do domínio são representadas por um conjunto de atributos

– Atributos: medem aspectos de uma amostra

– Conceito é visto como predicado: c(x) = 1 se x satisfaz o conceito c(exemplo positivo) e c(x) = 0 se x não o satisfaz (exemplo negativo)

Preparação para a aprendizagem

Page 10: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 19

Representação do Domínio

• O domínio é representado por trincas : (objeto, atributo, valor).

objeto

atributo_1 atributo_i atributo_n

val11 val12 vali1 vali3vali2 valn1 valn2

… …

Informática

UFRGS 20

Representação do Domínio

• Exemplo de domínio representado por três atributos binários

Page 11: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 21

Representação de domínio zoológico (taxonomia)

@attribute hair {0, 1}@attribute feathers {0, 1}@attribute eggs {0, 1}@attribute milk {0, 1}@attribute airborne {0, 1}@attribute aquatic {0, 1}@attribute predator {0, 1}@attribute toothed {0, 1}@attribute backbone {0, 1}@attribute breathes {0, 1}@attribute venomous {0, 1}@attribute fins {0, 1}@attribute legs {0, 2, 4, 5, 6, 8}@attribute tail {0, 1}@attribute domestic {0, 1}@attribute catsize {0, 1}@attribute type {mammal, bird, reptile, fish, amphibian, insect, invertebrate}

Informática

UFRGS 22

• Algo a ser aprendido; um padrão que descreve um subconjunto dos dados e que depende do estilo de aprendizado (tarefa).

• Estilos de aprendizado:– Aprendizado classificatório: prever uma classe discreta– Aprendizado associativo: detectar associações entre

características– Aprendizado aglomerativo: agrupar amostras similares– Previsão numérica: prever uma quantidade numérica

• Descrição de conceito: saída do esquema de aprendizado

O que é um conceito?

Page 12: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 23

• Algo a ser aprendido; um padrão que descreve um subconjunto dos dados e que depende do estilo de aprendizado (tarefa).

• Estilos de aprendizado:– Aprendizado classificatório: prever uma classe discreta– Aprendizado associativo: detectar associações entre

características– Aprendizado aglomerativo: agrupar amostras similares– Previsão numérica: prever uma quantidade numérica

• Descrição de conceito: saída do esquema de aprendizado• Exemplo: uma regra de classificação descreve um conceito como

uma conjunção de valores de atributos que indicam uma determinada classe do domínio:

R1: val12 val33 → classe1

O que é um conceito?

Informática

UFRGS 24

• Algo a ser aprendido; um modelo descreve todo o conjunto de dados e é formado por um conjunto de conceitos.

• Descrição do modelo: saída do esquema de aprendizado

O que é um modelo?

Page 13: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 25

• Algo a ser aprendido; um modelo descreve todo o conjunto de dados e é formado por um conjunto de conceitos.

• Descrição do modelo: saída do esquema de aprendizado

• Exemplo: um conjunto de regras de classificação descreve a partição do domínio, induzida a partir do conjunto de dados:

R1: val12 val33 → classe1

R2: val41 → classe1

R3: val22 → classe2

R4: val21 val31 → classe2

O que é um modelo?

Informática

UFRGS 26

Exemplo de um modelo?

If milk = 1 then mammalIf feathers = 1 then birdIf venomous = 1

and toothed = 1and eggs = 0 then reptile

If venomous = 1and toothed = 1and aquatic = 0 then reptile

If hair = 0and legs = 4and aquatic = 0 then reptile

If legs = 0and aquatic = 0and toothed = 1 then reptile

If fins = 1and eggs = 1 then fish

If venomous = 1and legs = 4 then amphibian

If aquatic = 1and legs = 4and predator = 0 then amphibian

If aquatic = 1and legs = 4and hair = 0and toothed = 1 then amphibian

If legs = 6and aquatic = 0 then insect

If legs = 8 then invertebrateIf legs = 5 then invertebrateIf backbone = 0

and breathes = 0 then invertebrateIf backbone = 0

and legs = 0 then invertebrate

Page 14: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 27

• Amostra: tipo específico de exemplo

– Objeto a ser classificado, associado ou agrupado

– Exemplo individual e independente do conceito alvo

– Caracterizado por um conjunto predeterminado de atributos

• Entrada para o esquema de aprendizagem: conjunto de amostras/ dados

– Representado como uma única relação (arquivo plano)

• É uma forma restrita de entrada

– Não pode haver relacionamentos entre objetos

O que é um exemplo?

Informática

UFRGS 28

Amostras do domínio zoológico

aardvark,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,mammalantelope,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,mammalbass,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,fishbear,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,mammalboar,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,mammalbuffalo,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,mammalcalf,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,mammalcarp,0,0,1,0,0,1,0,1,1,0,0,1,0,1,1,0,fishcatfish,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,fishcavy,1,0,0,1,0,0,0,1,1,1,0,0,4,0,1,0,mammalcheetah,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,mammalchicken,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,birdchub,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,fishclam,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,invertebratecrab,0,0,1,0,0,1,1,0,0,0,0,0,4,0,0,0,invertebratecrayfish,0,0,1,0,0,1,1,0,0,0,0,0,6,0,0,0,invertebratecrow,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,0,birddeer,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,mammaldogfish,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,fishdolphin,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,mammaldove,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,birdduck,0,1,1,0,1,1,0,0,1,1,0,0,2,1,0,0,birdelephant,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,mammalflamingo,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,1,birdflea,0,0,1,0,0,0,0,0,0,1,0,0,6,0,0,0,insect

@attribute name{aardvark, antelope,..., ...,worm,wren}@attribute hair {0, 1}@attribute feathers {0, 1}@attribute eggs {0, 1}@attribute milk {0, 1}@attribute airborne {0, 1}@attribute aquatic {0, 1}@attribute predator {0, 1}@attribute toothed {0, 1}@attribute backbone {0, 1}@attribute breathes {0, 1}@attribute venomous {0, 1}@attribute fins {0, 1}@attribute legs {0, 2, 4, 5, 6, 8}@attribute tail {0, 1}@attribute domestic {0, 1}@attribute catsize {0, 1}@attribute type {mammal, bird, reptile, fish, amphibian, insect, invertebrate}

Page 15: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 29

• Cada amostra é descrita por um conjunto pré-definido de características, os seus “atributos”

• Mas: na prática, número de atributos pode variar

– Solução possível: flag “valor irrelevante” (p. ex. “?”)

• Problema relacionado: existência de um atributo pode depender de valor de um outro atributo

• Tipos possíveis de atributos (“níveis de medidas”):

– Nominal, ordinal, intervalar e racional

O que é um atributo?

Informática

UFRGS 30

Exemplo de representação e tarefa de aprendizagem

• Problema de previsão (classificação): dadas as condições climáticas de um determinado dia, prever se uma pessoa vai jogar (tênis) ou não.

• Representação gráfica do conhecimento a priori do domínio do “tempo”.

Dia

Tempo Umidade Joga

ensolarado chuvoso normal alta sim nãonublado

Ventoso

verdadeiro falso

Temperatura

quente friaamena

• Os conceitos de interesse são as classes: “joga”, “não joga”.

• Amostras dos conceitos são quinas com valores dos atributos:

< val-tempo, val-temperatura, val-umidade, val-ventoso, val-joga >

Page 16: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 31

Tempo Temperatura Umidade Ventoso Jogaensolarado quente normal verdadeiro nãoensolarado quente normal falso nãoensolarado quente alta verdadeiro nãoensolarado quente alta falso nãoensolarado amena normal verdadeiro nãoensolarado amena normal falso nãoensolarado amena alta verdadeiro nãoensolarado amena alta falso nãoensolarado fria normal verdadeiro nãoensolarado fria normal falso nãoensolarado fria alta verdadeiro nãoensolarado fria alta falso não

nublado quente normal verdadeiro nãonublado quente normal falso nãonublado quente alta verdadeiro nãonublado quente alta falso nãonublado amena normal verdadeiro nãonublado amena normal falso nãonublado amena alta verdadeiro nãonublado amena alta falso nãonublado fria normal verdadeiro nãonublado fria normal falso nãonublado fria alta verdadeiro nãonublado fria alta falso nãochuvoso quente normal verdadeiro nãochuvoso quente normal falso nãochuvoso quente alta verdadeiro nãochuvoso quente alta falso nãochuvoso amena normal verdadeiro nãochuvoso amena normal falso nãochuvoso amena alta verdadeiro nãochuvoso amena alta falso nãochuvoso fria normal verdadeiro nãochuvoso fria normal falso nãochuvoso fria alta verdadeiro nãochuvoso fria alta falso não

Exemplos possíveis para o problema do tempo (33222 = 72)

Tempo Temperatura Umidade Ventoso Jogaensolarado quente normal verdadeiro simensolarado quente normal falso simensolarado quente alta verdadeiro simensolarado quente alta falso simensolarado amena normal verdadeiro simensolarado amena normal falso simensolarado amena alta verdadeiro simensolarado amena alta falso simensolarado fria normal verdadeiro simensolarado fria normal falso simensolarado fria alta verdadeiro simensolarado fria alta falso sim

nublado quente normal verdadeiro simnublado quente normal falso simnublado quente alta verdadeiro simnublado quente alta falso simnublado amena normal verdadeiro simnublado amena normal falso simnublado amena alta verdadeiro simnublado amena alta falso simnublado fria normal verdadeiro simnublado fria normal falso simnublado fria alta verdadeiro simnublado fria alta falso simchuvoso quente normal verdadeiro simchuvoso quente normal falso simchuvoso quente alta verdadeiro simchuvoso quente alta falso simchuvoso amena normal verdadeiro simchuvoso amena normal falso simchuvoso amena alta verdadeiro simchuvoso amena alta falso simchuvoso fria normal verdadeiro simchuvoso fria normal falso simchuvoso fria alta verdadeiro simchuvoso fria alta falso sim

Atributos previsores Atributo meta

Informática

UFRGS 32

Combinações possíveis de valores do domínio zoológico@attribute name{aardvark, antelope,..., ...,worm,wren}@attribute hair {0, 1}@attribute feathers {0, 1}@attribute eggs {0, 1}@attribute milk {0, 1}@attribute airborne {0, 1}@attribute aquatic {0, 1}@attribute predator {0, 1}@attribute toothed {0, 1}@attribute backbone {0, 1}@attribute breathes {0, 1}@attribute venomous {0, 1}@attribute fins {0, 1}@attribute legs {0, 2, 4, 5, 6, 8}@attribute tail {0, 1}@attribute domestic {0, 1}@attribute catsize {0, 1}@attribute type {mammal, bird, reptile, fish, amphibian, insect, invertebrate}

• 15 atributos binários + 1 atributo com 6 valores + 1 atributo com 7 valores = 21567 = 1.376.256

• Representa o espaço de instâncias possíveis criado pela representação• A representação não inclui conceitos generalizados, que são o objetivo do aprendizado• Se necessário (método de busca), incluir um valor extra, equivalente ao “don’t care”: “?”

Page 17: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 33

Dados reais de um problema do tempo com incertezas

• Situação muito comum: as combinações podem não ser exaustivas e ser contraditórias.

• O domínio é não determinístico (tem “ruído”): para um certo conjunto de valores de atributos, existe uma chance (probabilidade) de ocorrer o valor previsto.

Tempo Temperatura Umidade Ventoso Jogaensolarado quente alta falso nãoensolarado quente alta verdadeiro não

nublado quente alta falso simchuvoso amena alta falso simchuvoso fria normal falso simchuvoso fria normal verdadeiro nãonublado fria normal verdadeiro sim

ensolarado amena alta falso nãoensolarado fria normal falso sim

chuvoso amena normal falso simensolarado amena normal verdadeiro sim

nublado amena alta verdadeiro simnublado quente normal falso simchuvoso amena alta verdadeiro não

• Lista de dias, apresentando as condições climáticas e se o jogador foi jogar ou não.

• Arquivo lista apenas as combinações dos valores dos atributos que realmente apareceram no domínio (Tem apenas 14 das 72 combinações possíveis).

Informática

UFRGS 34

• Num domínio com valores discretos (abordagem simbólica), os conceitospossíveis de se encontrar pertencem a um espaço limitado (mas normalmente muito grande!) dado pela combinação (de todas as ordens) de todos os valores possíveis: o espaço de conceitos ou espaço de busca.

Enumeração do espaço de conceitos

Page 18: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 35

• Num domínio com valores discretos (abordagem simbólica), os conceitospossíveis de se encontrar pertencem a um espaço limitado (mas normalmente muito grande!) dado pela combinação (de todas as ordens) de todos os valores possíveis: o espaço de conceitos ou espaço de busca.

• Exemplo: o espaço de conceitos para o problema do tempo, considerando que os conceitos são regras de classificação (condição climática → joga ou não)

– 4 x 4 x 3 x 3 x 2 = 288 possibilidades por regra (pois um atributo previsor pode não estar presente numa regra, representado por “?”)

– Exemplo: < nublado, ?, ?, ?, sim > Se tempo = nublado Então joga = sim

– Restringindo um modelo de classificação a não mais que 14 regras: 2,7x1034

conjuntos (modelos) diferentes de regras possíveis (28814)

Enumeração do espaço de conceitos

Informática

UFRGS 36

• Num domínio com valores discretos (abordagem simbólica), os conceitospossíveis de se encontrar pertencem a um espaço limitado (mas normalmente muito grande!) dado pela combinação (de todas as ordens) de todos os valores possíveis: o espaço de conceitos ou espaço de busca.

• Exemplo: o espaço de conceitos para o problema do tempo, considerando que os conceitos são regras de classificação (condição climática → joga ou não)

– 4 x 4 x 3 x 3 x 2 = 288 possibilidades por regra (pois um atributo previsor pode não estar presente numa regra, representado por “?”)

– Exemplo: < nublado, ?, ?, ?, sim > Se tempo = nublado Então joga = sim

– Restringindo um modelo de classificação a não mais que 14 regras: 2,7x1034

conjuntos (modelos) diferentes de regras possíveis (28814)

• Outros problemas práticos de usar busca para descobrir conceitos:

– Pode restar mais que uma descrição

– Pode não restar nenhuma descrição

• A linguagem pode não ser capaz de descrever o conceito alvo

• Os dados podem conter ruído

Enumeração do espaço de conceitos

Page 19: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 37

• Valores são símbolos distintos– Os valores servem apenas como rótulos ou nomes

• Exemplo: atributo “tempo” dos dados do tempo– Valores: “ensolarado”, “nublado”, “chuvoso”

• Não existe relação implícita entre valores nominais (ordenação ou distância)

Quantidades nominais

Informática

UFRGS 38

• Valores são símbolos distintos– Os valores servem apenas como rótulos ou nomes

• Exemplo: atributo “tempo” dos dados do tempo– Valores: “ensolarado”, “nublado”, “chuvoso”

• Não existe relação implícita entre valores nominais (ordenação ou distância)

• Pode-se realizar apenas testes de igualdade• Gera um modelo com número grande de regras individuais• Exemplo de regra: Se tempo = nublado

Então joga = sim

Quantidades nominais

Page 20: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 39

• Impõe ordem aos valores mas não define uma distância entre eles.• Operações de adição e subtração não fazem sentido. • Exemplo: atributo “temperatura” nos dados do tempo

–Valores: “quente” > “amena” > “fria”• Gera modelos mais compactos, com regras mais genéricas.

Quantidades ordinais

Informática

UFRGS 40

• Impõe ordem aos valores mas não define uma distância entre eles.• Operações de adição e subtração não fazem sentido. • Exemplo: atributo “temperatura” nos dados do tempo

–Valores: “quente” > “amena” > “fria”• Gera modelos mais compactos, com regras mais genéricas.• Exemplo de regra ordinal: Se temperatura < quente

Então joga = sim

• Equivale a 2 regras nominais: Se temperatura = amena Então joga = sim

Se temperatura = fria Então joga = sim

• Mas, distinção entre valor nominal ou ordinal nem sempre é clara (p. ex. atributo “tempo: ensolarado, encoberto, chuvoso”)

Quantidades ordinais

Page 21: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 41

• Uma transformação simples permite codificar um atributo ordinal com n valores usando n-1 atributos booleanos

• Exemplo: atributo “temperatura”

Transformando ordinal em booleano

Temperatura

fria

amena

quente

Temperatura > fria Temperatura > amena

falso falso

verdadeiro falso

verdadeiro verdadeiro

Dados originais Dados transformados

• Melhor do que codificá-lo como nominal (modelos mais compactos)

Informática

UFRGS 42

• Quantidades intervalares não são apenas ordenadas mas também medidas em unidades fixas iguais

• Exemplo: atributo “ano”

• Diferença entre dois valores faz sentido

• Soma ou produto não faz sentido

– O ponto zero não está definido!

– Ex: anos 1939 e 1945

Quantidades intervalares

Page 22: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 43

• Quantidades racionais são aquelas para as quais o esquema de medida define um ponto zero

• Exemplo: atributo “distância”

– Distância entre um objeto e ele mesmo é zero

• Quantidades racionais são tratadas como números reais (valores numéricos)

– Todas as operações matemáticas são permitidas

• Mas: será que existe um ponto zero definido “inerentemente”

– A resposta depende do conhecimento científico

Quantidades racionais

Informática

UFRGS 44

Dados do tempo com atributos nominais e numéricos

Tempo Temperatura Umidade Ventoso Joga

ensolarado 29 85 falso não

ensolarado 26 90 verdadeiro não

nublado 28 86 falso sim

chuvoso 21 96 falso sim

chuvoso 20 80 falso sim

chuvoso 18 70 verdadeiro não

nublado 17 65 verdadeiro sim

ensolarado 23 95 falso não

ensolarado 21 70 falso sim

chuvoso 24 80 falso sim

ensolarado 24 70 verdadeiro sim

nublado 23 90 verdadeiro sim

nublado 27 75 falso sim

chuvoso 22 91 verdadeiro não

Page 23: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 45

http://www.cs.waikato.ac.nz/ml/weka/

%

% Arquivo ARFF para os dados do tempo com características numéricas

%

@relation tempo

@attribute tempo {ensolarado, nublado, chuvoso}

@attribute temperatura real

@attribute umidade real

@attribute ventoso {verdadeiro, falso}

@attribute joga {sim, não}

@data

ensolarado,85,85,falso,não

ensolarado,80,90,verdadeiro,não

nublado,83,86,falso,sim

...

Weka 3: Data Mining Software in Java

Informática

UFRGS 46

Aprendizado indutivo

• Queremos aprender um conceito ou função c(x), definido sobre o universo de instâncias X (domínio); isto é: c : X Y, onde Y é o conjunto de valores possíveis do conceito (rótulos de classe; valores de saída, em regressão).

• Para tanto, dispomos de um conjunto de exemplos de treinamento Dc que fornecem exemplos da função alvo a ser aprendida, Dc = {x, c(x) }.

Page 24: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 47

Aprendizado indutivo

• Queremos aprender um conceito ou função c(x), definido sobre o universo de instâncias X (domínio); isto é: c : X Y, onde Y é o conjunto de valores possíveis do conceito (rótulos de classe; valores de saída, em regressão).

• Para tanto, dispomos de um conjunto de exemplos de treinamento Dc que fornecem exemplos da função alvo a ser aprendida, Dc = {x, c(x) }.

• O sistema de aprendizado dispõe de uma estrutura de modelagem que permite gerar um conjunto de hipóteses h H, tal que h : X Y.

• Esta estrutura de modelagem equivale a uma restrição sobre a estrutura ou forma da função que efetivamente vai ser aprendida e representa o viés indutivo.

• O viés indutivo expressa a política adotada que permite generalizar para além dos dados de treinamento.

Informática

UFRGS 48

Viés indutivo

• Dado um algoritmo de aprendizado L treinado com o conjunto de treinamento Dc = {x, c(x) }, L(xi, Dc) representa a previsão que L atribui a uma nova instância xi, após ele ter sido treinado com os dados Dc, ou seja, L(xi, Dc) é inferido indutivamente de (Dc xi):

(Dc xi) ≻ L(xi, Dc)

• Como L é um algoritmo de aprendizado indutivo, o resultado L(xi, Dc) em geral não pode ser provado como correto, ou seja, ele não resulta dedutivamente do arquivo de treinamento Dc e da descrição de xi.

Page 25: Aprendizagem de Máquina - Instituto de Informática ...engel/data/media/file/Aprendizagem/projetoSBA.pdf · Aprendizagem de Máquina Prof. Paulo Martins Engel Componentes de um SBA

Informática

UFRGS 49

Viés indutivo

• Dado um algoritmo de aprendizado L treinado com o conjunto de treinamento Dc = {x, c(x) }, L(xi, Dc) representa a previsão que L atribui a uma nova instância xi, após ele ter sido treinado com os dados Dc, ou seja, L(xi, Dc) é inferido indutivamente de (Dc xi):

(Dc xi) ≻ L(xi, Dc)

• Como L é um algoritmo de aprendizado indutivo, o resultado L(xi, Dc) em geral não pode ser provado como correto, ou seja, ele não resulta dedutivamente do arquivo de treinamento Dc e da descrição de xi.

• Define-se como viés indutivo B de L o conjunto de suposições adicionais que permitem deduzir o resultado L(xi, Dc) para qualquer xi pertencente ao conjunto de instâncias X, ou seja,

L(xi, Dc) resulta dedutivamente de (B Dc xi)

( xi X)[(B Dc xi) ⊢ L(xi, Dc)]

• No caso do exemplo, o viés indutivo é que c H.