Você está na página 1de 43

Aprendizado de Máquina

Marcilio Souto
DIMAp/UFRN

1
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

2
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

3
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

4
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

5
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

6
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

7
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

8
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

9
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

10
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

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

AM

Não-
Supervisionado
Supervisionado
k-means
Metódos Hierárquicos
SOM
Classificação Regressão

k-NN k-NN
Árvores de Decisão Adaline
Naive Bayes Multi-Layer Perceptron
Perceptron/Adaline
Multi-Layer Perceptron

12
Entrada: Conceitos, Instâncias, Atributos

Marcilio Souto
DIMAp/UFRN

13
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, ...

14
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

15
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

16
Terminologia - Exemplo (2/2)

Atributos
g1 g 2 gj gN-
Instância 1gN Câncer
1
Instância Norma
2
Instância l
3

Instância i

Instância Câncer
m

17
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

18
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

19
Instância - Exemplo: Árvore Genealógica

Peter =
Peggy Grace
=
Ray
M F F M

Steven Graham Pam Ian Pippa Brian


=
M M F M F M

Anna Nikki
F F

20
Árvore Genealógica Representada como uma
Tabela

Name Gender Parent1 parent2


Peter Male ? ?
Peggy Female ? ?
Steven Male Peter Peggy
Graham Male Peter Peggy
Pam Female Peter Peggy
Ian Male Grace Ray
Pippa Female Grace Ray
Brian Male Grace Ray
Anna Female Pam Ian
Nikki Female Pam Ian

21
A Relação “irmã-de”

First Second Sister First Second Sister of?


person person of? person person
Peter Peggy No Steven Pam Yes
Peter Steven No Graham Pam Yes
… … … Ian Pippa Yes
Steven Peter No Brian Pippa Yes
Steven Graham No Anna Nikki Yes
Steven Pam Yes Nikki Anna Yes
… … … All the rest No
Ian Pippa Yes
… … …
Anna Nikki Yes
Closed-world assumption
… … …
Nikki Anna yes

22
Relação Completa em uma Tabela

First person Second person Sister


of?
Name Gender Parent1 Parent2 Name Gender Parent1 Parent2
Steven Male Peter Peggy Pam Female Peter Peggy Yes
Graham Male Peter Peggy Pam Female Peter Peggy Yes
Ian Male Grace Ray Pippa Female Grace Ray Yes
Brian Male Grace Ray Pippa Female Grace Ray Yes
Anna Female Pam Ian Nikki Female Pam Ian Yes
Nikki Female Pam Ian Anna Female Pam Ian Yes
All the rest No

If second person’s gender = female


and first person’s parent = second person’s parent
then sister-of = yes

23
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”
24
A Relação “ancestral-de”

First person Second person ancester


of?
Name Gender Parent1 Parent2 Name Gender Parent1 Parent2
Peter Male ? ? Steven Male Peter Peggy Yes
Peter Male ? ? Pam Female Peter Peggy Yes
Peter Male ? ? Anna Female Pam Ian Yes
Peter Male ? ? Nikki Female Pam Ian Yes
Pam Female Peter Peggy Nikki Female Pam Ian Yes
Grace Female ? ? Ian Male Grace Ray Yes
Grace Female ? ? Nikki Female Pam Ian Yes
Other positive examples here Yes
All the rest No

25
Recursão

 Relações infinitas requerem recursão


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

If person1 is a parent of person2


and person2 is an ancestor of person3
then person1 is an ancestor of person3
 Técnicas apropriadas são chamadas de
“programação em lógica indutiva”
 FOIL (Quilan)

 Problema: ruído e complexidade computacional

26
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

27
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

28
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

29
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?

30
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

31
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

32
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

33
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}

@data
sunny, 85, 85, false, no
sunny, 80, 90, true, no
overcast, 83, 86, false, yes
...

34
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?

35
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

36
Valores Perdidos - Exemplo

 Value may be missing Hospital Check-in Database


because it is unrecorded
or because it is Name Age Sex Pregnant? ..
inapplicable
Mary 25 F N
 In medical data, value for Jane 27 F -
Pregnant? attribute for
Jane is missing, while for Joe 30 M -
Joe or Anna should be Anna 2 F -
considered Not
applicable
 Some programs can infer
missing values

37
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, ...

38
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!

39
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.

40
k-NN (k Vizinhos Mais Próximos)

Marcilio Souto
DIMAp/UFRN

41
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
 <a (x), a (x),...,a (x)>, em que a (x) representa o valor do
1 2 n r
r-ésimo atributo de x, então a distância euclidiana entre xi e
xj
n
2
d xi , x j r 1
a r xi ar x j

42
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 x a ser
q
classificado
 Seja x , ..., x as k instâncias (padrões) do
1 k
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
43

Você também pode gostar