Post on 16-Apr-2015
1
Aprendizado de Máquina
Marcilio SoutoDIMAp/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
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
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
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
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
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
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
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
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
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
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
13
Entrada: Conceitos, Instâncias, Atributos
Marcilio SoutoDIMAp/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, ...
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
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
17
Terminologia - Exemplo (2/2)
g1 g2 gj gN-
1gNInstância1Instância2Instância3
Instância i
Instânciam
Atributos
Câncer
Normal
Câncer
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
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
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
21
Árvore Genealógica Representada como uma Tabela
IanPamFemaleNikki
IanPamFemaleAnna
RayGraceMaleBrian
RayGraceFemalePippa
RayGraceMaleIan
PeggyPeterFemalePam
PeggyPeterMaleGraham
PeggyPeterMaleSteven
??FemalePeggy
??MalePeter
parent2Parent1GenderName
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
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
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”
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
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
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
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
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
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?
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
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
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
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...
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?
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
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
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, ...
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!
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.
41
k-NN (k Vizinhos Mais Próximos)
Marcilio SoutoDIMAp/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
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