43
1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

Embed Size (px)

Citation preview

Page 1: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

1

Aprendizado de Máquina

Marcilio SoutoDIMAp/UFRN

Page 2: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

2

Motivação

Em geral, é difícil articular o conhecimento que precisamos para construir um sistema de IA

Na verdade, algumas vezes, não temos nem este conhecimento

Em alguns casos, podemos construir sistemas em que eles mesmos aprendem o conhecimento necessário

Page 3: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

3

O que é Aprendizado?

Memorizar alguma coisa

Aprender fatos por meio de observação e exploração

Melhorar habilidades motoras/cognitivas por meio de prática

Organizar novo conhecimento em representações efetivas e gerais

Page 4: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

4

Aprendizado de Máquina

Principal preocupação

Construção de programas de computador que melhoram seu desempenho por meio de experiência

Técnicas orientadas a dados

Aprendem automaticamente a partir de grandes volumes de dados

Geração de hipóteses a partir dos dados

Page 5: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

5

Inferência Indutiva (1/2)

Indução Um processo de raciocínio para uma conclusão sobre todos os

membros de uma classe por meio do exame de apenas uns poucos membros da classe

De maneira geral, raciocínio do particular para o geral Por exemplo, se eu noto que:

Todos os pacientes com Déficit de Atenção atendidos em 1986 sofriam de Ansiedade

Todos os pacientes com Déficit de Atenção atendidos em 1987 sofriam de Ansiedade

... Posso inferir logicamente que Todos os pacientes que sofrem

de Déficit de Atenção também sofrem de Ansiedade Isto pode ser ou não verdade, mas propicia uma boa

generalização

Page 6: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

6

Inferência Indutiva (2/2)

De uma maneira mais “formal”...

Para um conjunto de objetos, X={a,b,c,d,...}, se a propriedade P é verdade para a, e se P é verdade para b, e se P é verdade para c,... então P é verdade para todo X

O conhecimento novo baseado em vários casos (indução) é geralmente verdadeiro desde que os sistemas estudados sejam bem comportados

Se o número de objetos (exemplos) for insuficiente, ou se não forem bem escolhidos, as hipóteses obtidas podem ser de pouco valor

A inferência indutiva é um dos principais métodos utilizados para derivar conhecimento novo e predizer eventos futuros

Page 7: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

7

Aprendizado de Máquina - uma definição

Um programa aprende a partir da experiência E, em relação a uma classe de tarefas T, com me-dida de desempenho P, se seu desempenho em T, medido por P, melhora com E

Mitchell, 1997

Também chamado de Aprendizado Indutivo

Page 8: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

8

Aprendizado de Máquina - Exemplo (1/2)

Detecção de bons clientes para um cartão de crédito

Tarefa T: classificar potenciais novos clientes como bons ou maus pagadores

Medida de Desempenho P: porcentagem de clientes classificados corretamente

Experiência de Treinamento E: uma base de dados histórica em que os clientes já conhecidos são previamente classificados como bons ou maus pagadores

Page 9: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

9

Aprendizado de Máquina - Exemplo (2/2)

Navegação de um robô

Tarefa T: navegar em uma auto-estrada de quatro pistas usando sensores de visão

Medida de Desempenho P: distância média viajada antes de um erro ocorrer (definido por um humano)

Experiência de Treinamento E: uma seqüência de imagens e comandos de direção registrados por meio da observação de um motorista humano

Page 10: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

10

Tipos de Aprendizado de Máquina (1/3)

Aprendizado Supervisionado

O algoritmo de aprendizado (indutor) recebe um conjunto de exemplos de treinamento para os quais os rótulos da classe associada são conhecidos

Cada exemplo (instância ou padrão) é descrito por um vetor de valores (atributos) e pelo rótulo da classe associada

O objetivo do indutor é construir um classificador que possa determinar corretamente a classe de novos exemplos ainda não rotulados

Para rótulos de classe discretos, esse problema é chamado de classificação e para valores contínuos como regressão

Page 11: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

11

Tipos de Aprendizado de Máquina (2/3)

Aprendizado Não-Supervisionado

O indutor analisa os exemplos fornecidos e tenta determinar se alguns deles podem ser agrupados de alguma maneira, formando agrupamentos ou clusters

Após a determinação dos agrupamentos, em geral, é necessário uma análise para determinar o que cada agrupamento significa no contexto problema sendo analisado

Page 12: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

12

Tipos de Aprendizado de Máquina (3/3)

AM

SupervisionadoNão-

Supervisionado

Classificação Regressão

k-NNÁrvores de DecisãoNaive BayesPerceptron/AdalineMulti-Layer Perceptron

k-NNAdalineMulti-Layer Perceptron

k-meansMetódos HierárquicosSOM

Page 13: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

13

Entrada: Conceitos, Instâncias, Atributos

Marcilio SoutoDIMAp/UFRN

Page 14: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

14

Tópicos

Terminologia O que é um Conceito?

Classificação, associação, agrupamento, previsão numérica

O que é um exemplo? Relações, flat files, recursão

O que é um atributo? Nominal, ordinal, intervalar, razão

Preparação da entrada ARFF, atributos, valores perdidos, ...

Page 15: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

15

Terminologia

Componentes da Entrada

Conceitos “Coisas” que podem ser aprendidas

Instâncias Exemplos individuais e independentes de um

conceito Formas mais complicadas também são

possíveis

Atributos Medidas de características de uma instância

Page 16: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

16

Terminologia - Exemplo (1/2)

Conceito

Presença de câncer/Ausência de câncer

Instância

Amostra de tecido de paciente

Atributos

Valores numéricos representando niveis de expressão de X genes do tecido

Page 17: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

17

Terminologia - Exemplo (2/2)

g1 g2 gj gN-

1gNInstância1Instância2Instância3

Instância i

Instânciam

Atributos

Câncer

Normal

Câncer

Page 18: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

18

O que é um Conceito?

Tipos de Aprendizado de Máquina (Objetivos da Mineração de Dados)

Aprendizado supervisionado (Atividades de Predição) Classificação: previsão de classes discretas pré-definidas Regressão: previsão de um valor numérico contínuo

Aprendizado não-supervisionado (Atividades de Descrição) Agrupamentos: agrupar instâncias similares em

aglomerados Regras de associação (Atividades de Descrição)

Detecção de associações entre atributos Mais geral que a Classificação: qualquer associação entre

atributos, não apenas com uma classe específica Conceito: coisa a ser aprendida Descrição do conceito: saída do algoritmo (esquema) de

aprendizado

Page 19: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

19

O que é uma Instância?

Definições Objeto a ser classificado, associado ou agrupado Exemplo individual e independente do conceito a ser

aprendido Carecterizada por um conjunto pré-determinado de atributos

Entrada para o indutor (algoritmo ou esquema de aprendizado): conjunto de instâncias ou conjunto de dados

Representado como uma única relação (flat file) Forma bastante restrita de entrada

Não representa relações entre objetos Forma mais comum para a maioria dos indutores

Page 20: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

20

Instância - Exemplo: Árvore Genealógica

Peter

M

Peggy

F=

Steven

M

Graham

M

Pam

F

Grace

F

Ray

M=

Ian

M

Pippa

F

Brian

M=

Anna

F

Nikki

F

Page 21: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

21

Árvore Genealógica Representada como uma Tabela

IanPamFemaleNikki

IanPamFemaleAnna

RayGraceMaleBrian

RayGraceFemalePippa

RayGraceMaleIan

PeggyPeterFemalePam

PeggyPeterMaleGraham

PeggyPeterMaleSteven

??FemalePeggy

??MalePeter

parent2Parent1GenderName

Page 22: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

22

A Relação “irmã-de”

yesAnnaNikki

………

YesNikkiAnna

………

YesPippaIan

………

YesPamSteven

NoGrahamSteven

NoPeterSteven

………

NoStevenPeter

NoPeggyPeter

Sister of?

Second person

First person

NoAll the rest

YesAnnaNikki

YesNikkiAnna

YesPippaBrian

YesPippaIan

YesPamGraham

YesPamSteven

Sister of?Second person

First person

Closed-world assumption

Page 23: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

23

Relação Completa em uma Tabela

Ian

Ian

Ray

Ray

Peggy

Peggy

Parent2

Female

Female

Female

Female

Female

Female

Gender

Pam

Pam

Grace

Grace

Peter

Peter

Parent1NameParent2Parent1GenderName

Ian

Ian

Ray

Ray

Peggy

Peggy

Pam

Pam

Grace

Grace

Peter

Peter

Female

Female

Male

Male

Male

Male

NoAll the rest

YesAnnaNikki

YesNikkiAnna

YesPippaBrian

YesPippaIan

YesPamGraham

YesPamSteven

Sisterof?

Second personFirst person

If second person’s gender = femaleand first person’s parent = second person’s parentthen sister-of = yes

Page 24: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

24

Geração de um flat file

Denormalização Várias relações são usadas para formar apenas

uma Possível com qualquer conjunto finito de relações Problemática: relacionamentos sem um número

pré-deteminado de objetos Conceito de família nuclear

Denormalização pode produzir regularidades “aparentes” que refletem apenas a estrutura do banco de dados

Atributo “Fornecedor” prediz “Endereço-Fonecedor”

Page 25: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

25

A Relação “ancestral-de”

YesOther positive examples here

YesIanPamFemaleNikki??FemaleGrace

Ray

Ian

Ian

Ian

Peggy

Peggy

Parent2

Male

Female

Female

Female

Female

Male

Gender

Grace

Pam

Pam

Pam

Peter

Peter

Parent1NameParent2Parent1GenderName

?

Peggy

?

?

?

?

?

Peter

?

?

?

?

Female

Female

Male

Male

Male

Male

NoAll the rest

YesIanGrace

YesNikkiPam

YesNikkiPeter

YesAnnaPeter

YesPamPeter

YesStevenPeter

ancester of?

Second personFirst person

Page 26: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

26

Recursão

Relações infinitas requerem recursão

Técnicas apropriadas são chamadas de “programação em lógica indutiva” FOIL (Quilan) Problema: ruído e complexidade

computacional

If person1 is a parent of person2then person1 is an ancestor of person2

If person1 is a parent of person2and person2 is an ancestor of person3then person1 is an ancestor of person3

Page 27: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

27

O que é um atributo?

Cada instância é descrita por um conjunto fixo pré-determinado de características - Atributos

Na prática, porém, o número de atributos pode variar Solução possível: uma sinalizador de “valor

irrelevante” Problema relacionado: a existência de um atributo pode

depender do valor de um outro Tipos possíveis de atributos (escalas de medidas)

Escalas não-métricas (qualitativas) Nominal e Ordinal

Escalas métricas (quantitativos) Intervalar e Razão

Page 28: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

28

Escala Nominal ou Categórica

Valores são símbolos distintos que servem apenas para rotular ou identificar

Atributo “Sexo”: Masculino e Feminino Atributo “Religião”: Católica, Protestante, Budismo,... Atributo “Partido Político”: PT, PFL, PSDB, ...

Não existem relações entre valores nominais - ordenação ou distância

Não faz sentido o teste “Masculino > Feminino” Apenas testes de igualdade podem ser feitos

“Sexo” = Masculino

Page 29: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

29

Escala Ordinal

Os valores podem ser ordenados os ranqueados Toda subclasse pode ser comparada com uma

outra em termos de uma relação da forma “maior que” ou “menor que”

Atributo “Temperatura”: Quente > Morno > Frio (no entanto, não faz sentido “Quente + Frio” ou “2*Morno”)

Distinção entre Nominal e Ordinal não é sempre clara

Atributo “Tempo”: Ensolarado, Nublado, Chuvoso

Page 30: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

30

Escala Intervalar

Quantidades intervalares além de ordenadas, também possuem unidades constantes de medidas

Diferenças entre quaisquer dois pontos adjacentes em qualquer parte da escala são iguais

O ponto zero é arbitrário Soma e produto não fazem sentido

As escalas intervalares mais familiares são as escalas de temperatura Fahrenheit e Celsius

Cada uma tem um ponto zero arbitrário e nenhum indica uma quantia nula ou ausência de temperatura

Podemos dizer que 80oF tem o dobro de temperatura de 40oF?

Page 31: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

31

Escala de Razão

Difere da escala intervalar por possuir um zero absoluto

Todas as operações matemáticas são possíveis com medidas em escala de razão

Números reais Atributo “Distância”: a distância entre um objeto e

ele mesmo é zero Atributo “Peso”: os aparelhos usados para medir

peso têm um ponto zero absoluto

Page 32: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

32

Para que tipos específicos de atributos?

Compreender os diferentes tipos de escalas de medidas é importante por duas razões

O pesquisador deve identificar a escala de medida de cada atributo usado, de forma que dados não-métricos não sejam incorretamente usados como dados métricos e vice-versa

“Partido Político” > PFL não faz sentido, enquanto que“Temperatura” > Frio ou“Peso” < 38 fazem

A escala de medida é crítica ao determinar que algoritmos de aprendizado de máquina são mais apropriados

Page 33: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

33

Preparação da Entrada

Poblema: fontes diferentes de dados (ex., departamento de vendas, departamento de cobrança, ...)

Diferenças: estilos de manter os registros, convenções, períodos de tempo, agregação dos dados, chaves primárias, erros

Os dados precisam ser integrados e limpos Data warehouse

Denormalização não é o único problema Dados externos podem ser necessários Crítico: tipo e nível de agregação dos dados

Page 34: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

34

O formato ARFF

%% ARFF file for weather data with some numeric features%@relation weather

@attribute outlook {sunny, overcast, rainy}@attribute temperature numeric@attribute humidity numeric@attribute windy {true, false}@attribute play? {yes, no}

@datasunny, 85, 85, false, nosunny, 80, 90, true, noovercast, 83, 86, false, yes...

Page 35: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

35

Tipos de Atributos no WEKA

ARFF trabalha com atributos numéricos e nominais Interpretação depende do algoritmo de aprendizado

Atributos numéricos são interpretados como: Escala ordinal se são usadas comparações do

tipo “menor-que” e “maior-que” Escala de razão se cálculos de disntâncias são

efetuados (normalização e padronização podem ser necessárias)

Algoritmos baseados em instâncias definem distância entre valores nominais (0 se o valores são iguais, 1 caso contrário)

Inteiros: escala nominal, ordinal, ou razão?

Page 36: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

36

Valores Perdidos (Missing Values)

Em geral, indicados por valores fora do escopo Tipos: desconhecidos, não registrados, irrelevantes Razões

Mau-funcionamento do equipamento Mudanças na definição do experimento Incapazidade de mesuração

Valores perdidos podem, de fato, significarem alguma coisa

A maioria dos métodos de aprendizado não assumem isto

No entanto, este tipo de informação pode ser codificado como um valor adicional

Page 37: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

37

Valores Perdidos - Exemplo

Value may be missing because it is unrecorded or because it is inapplicable

In medical data, value for Pregnant? attribute for Jane is missing, while for Joe or Anna should be considered Not applicable

Some programs can infer missing values

Hospital Check-in Database

..

-F2Anna

-M30Joe

-F27Jane

NF25Mary

Pregnant?SexAgeName

Page 38: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

38

Valores Imprecisos

Razões: os dados não foram obtidos para mineração Resultado: erros e omissões que não afetam o objetivo

original dos dados (ex., idade do cliente) Erros tipográficos em atributos nominais -> valores devem

ser checados para verificar consistência Erros tipográficos de mesuração em atributos numéricos -

> observações atípicas (outliers) devem ser identificados Erros podem ser deliberados (e.g., código postal) Outros problemas: duplicação, ...

Page 39: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

39

Se familiarizando com os dados

Ferramentas simples de visualização são muito úteis

Atributos nominais: histogramas (a distribuição é consistente com o conhecimento do domínio?)

Atributos numéricos: gráficos (alguma observação atípica óbvia?)

Gráficos bi e tri-dimensionais mostram dependências

Necessidade de consultar um especialista do domínio

Muitos dados a inspecionar? Faz uma amostragem!

Page 40: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

40

Bibliografia

Witten, I. H. and Frank, E. (2005). Data Mining: practical machine learning tools and techniques with Java implementations. Chapter 2 - Input: Concepts, instances, attributes. pp. 41-60. Morgan Kaufmann.

Hair-Jr., J. F. et al (2005). Análise multivariada de dados. Capítulo 1 - Introdução. pp. 23-45. Bookman.

Page 41: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

41

k-NN (k Vizinhos Mais Próximos)

Marcilio SoutoDIMAp/UFRN

Page 42: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

42

k-NN (k Nearest Neighbor)

Algoritmo de aprendizado mais simples Este algoritmo suponhe que todos os padrões (instâncias)

são pontos no espaço n-dimensional Rn

Os vizinhos mais próximos de um padrão são definidos em termos da distância Euclidiana padrão

Seja um padrão x arbitrário descrito pelo vetor de características

<a1(x), a2(x),...,an(x)>, em que ar(x) representa o valor do r-ésimo atributo de x, então a distância euclidiana entre xi e xj

d xi , x j r 1

nar xi ar x j

2

Page 43: 1 Aprendizado de Máquina Marcilio Souto DIMAp/UFRN

43

k-NN (k Nearest Neighbor)

Algoritmo de Treinamento: Para cada padrão de treinamento <x,f(x)>, adicione o

exemplo a lista de exemplos_de_treinamento Algoritmo de Classificação:

Dado um padrão (instância) de consulta xq a ser classificado

Seja x1, ..., xk as k instâncias (padrões) do exemplos_de_treinamento que são mais próximos a xq

Retorne Um refinamento óbvio do k-NN é ponderar a contribuição de

cada dos k vizinhos de acordo com a distância do ponto xq, dando maior peso para os vizinhos mais próximos