Introdução ao Aprendizado de
Máquina
Anne Magály de Paula Canuto
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
Para rótulos de classe discretos, esse problema é chamado
de classificação e para valores contínuos como regressão
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?


O que é um exemplo?


Relações, flat files, recursão
O que é um atributo?


Classificação, associação, agrupamento, previsão
numérica
Nominal, ordinal, intervalar, razão
Preparação da entrada

ARFF, atributos, valores perdidos, ...
Terminologia

Componentes da Entrada

Conceitos


Instâncias


“Coisas” que podem ser aprendidas
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)



Aprendizado não-supervisionado (Atividades de Descrição)




Agrupamentos: agrupar instâncias similares em
aglomerados
Regras de associação (Atividades de Descrição)


Classificação: previsão de classes discretas pré-definidas
Regressão: previsão de um valor numérico contínuo
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




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


Objeto a ser classificado, associado ou agrupado
Exemplo individual e independente do conceito a ser
aprendido
Carecterizada por um conjunto pré-determinado de
atributos
Não representa relações entre objetos
Forma mais comum para a maioria dos indutores
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




Não existem relações entre valores nominais ordenação ou distância


Atributo “Sexo”: Masculino e Feminino
Atributo “Religião”: Católica, Protestante, Budismo,...
Atributo “Partido Político”: PT, PFL, PSDB, ...
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 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?
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



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ãomé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
Crítico: tipo e nível de agregação dos dados
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)
Inteiros: escala nominal, ordinal, ou razão?

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 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
Name
Age Sex
Pregnant?
Mary
Jane
Joe
Anna
25
27
30
2
N
-
F
F
M
F
..
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!
Download

Introdução ao Aprendizado de Máquina