Introdução ao Aprendizado de
Máquina
->
Prof. Dr. Rogério Vargas
http://rogerio.in
Por que é necessário o
aprendizado de máquina?
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
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
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
INFERÊNCIA INDUTIVA
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
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 medida de desempenho P, se seu desempenho em T,
medido por P, melhora com E
Mitchell, 1997
Também chamado de Aprendizado Indutivo
Aprendizado de Máquina - Exemplo
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
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
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
Tipos de Aprendizado de Máquina (3/3)
AM
Supervisionado
NãoSupervisionado
k-means
Metódos Hierárquicos
SOM
Classificação
k-NN
Árvores de Decisão
Naive Bayes
Perceptron/Adaline
Multi-Layer Perceptron
Regressão
k-NN
Adaline
Multi-Layer Perceptron
Tópicos
Terminologia
O que é um Conceito?
• Classificação, associação, agrupamento, previsão numérica
O que é um exemplo?
• Relações, flat files (estrutura unidimencional), recursão
O que é um atributo?
• Nominal, ordinal, intervalar, razão
Preparação da entrada
• ARFF, atributos, valores perdidos, ...
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
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
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
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
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
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
ESCALA DE RAZÃO
• 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
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
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
O FORMATO ARFF
%
% ARFF file for weather data with some numeric features
%
@relation weather
@attribute
@attribute
@attribute
@attribute
@attribute
outlook {sunny, overcast, rainy}
temperature numeric
humidity numeric
windy {true, false}
play? {yes, no}
@data
sunny, 85, 85, false, no
sunny, 80, 90, true, no
overcast, 83, 86, false, yes
...
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)
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
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, ...
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!
REFERÊNCIAS
Material editado dos slides da Professora Anne Magály de
Paula Canuto, disponível em:
www.cin.ufpe.br/~mcps/IA/IA2004.1/IA-am-anne.ppt
Download

Introdução ao Aprendizado de Máquina