Aprendizagem Supervisionada

Propaganda
Inteligência Artificial
Aprendizagem de Máquina
Prof. Valmir Macário Filho
Outline




Aprendizagem de Máquina
Árvore de Decisão
Lógica Fuzzy
Algoritmos Genéticos
Outline




Aprendizagem de Máquina
Árvore de Decisão
Lógica Fuzzy
Algoritmos Genéticos
Aprendizagem
 A palavra "aprendizagem" tem muitos
significados diferentes:
 Memorizar algo;
 Aprender fatos através da observação e
exploração;
 Melhorar motovimento e/ou habilidades
cognitivas através da prática;
 Organização de novos conhecimentos em
representações eficazes.
Aprendizagem
 “Aprendizagem é o processo pelo qual uma entidade
adquire conhecimento”. Rich, 1983.
 “Aprendizagem é uma forma de inferência que objetiva
começar com informações sobre o domínio e então,
estendê-las de alguma forma”. Ginsberg, 1993.
 Para Russel e Norvig: "Aprender significa se comportar
melhor ao adquirir experiência. Todo aprendizado aprende
a representação de uma função."
Aprendizagem
 Tarefas Humanas:
 Reconhecer pessoas pelo rosto ou fala;
 Reconhecer escrita;
 Reconhecer alimentos pelo cheiro;
Reconhecimento
de Padrões
Aprendizagem
 Tarefas complexas:
 Análise de dados de compra de uma loja
 Identificar produtos que são vendidos em conjunto;
 Recomendar produtos de acordo com perfil do cliente.
 Previsão de séries temporais
 Bolsa de valores;
 Vazão de água.
 Encontrar novos conhecimentos
em grandes base de dados
 Etc.
Reconhecimento
de Padrões
Inteligência Artificial
 Alguns anos atrás IA era vista como uma
área teórica;
 Aplicações em problemas curiosos,
desafiadores, mas de pouco valor prático;
Inteligência Artificial
 A partir da década de 1970:
 Disseminação de técnicas de IA.
 Aquisição de conhecimento por meio de
especialistas de um dado domínio:
 Entrevista de um especialista (Ex: Medicina);
 Conhecimento codificado por meio de regras
lógicas;
 Sistemas especialistas ou baseados em
conhecimento.
Inteligência Artificial
 Últimas décadas:
 Aumento da complexidade dos problemas
tratados
 Grande Volume de dados gerados;
 Ferramentas mais autônomas:
 Redução da intervenção humana e dependência
de especialistas;
Inteligência Artificial
 Criação de técnicas que criam uma função ou
hipótese para resolver problemas a partir da
experiência passada.
Aprendizagem de
Máquina
Aprendizagem de Máquina
 Técnica de inteligência artificial;
 Problemas reais.
 Computadores são programados para
aprender com a experiência passada;
Aprendizagem de Máquina
 Áreas correlatas:




Probabilidade e estatística;
Teoria da computação;
Neurociência;
Teoria da informação
Aprendizagem de Máquina
 Aplicações:
 Reconhecimento de fala;
 Predição de taxas de cura de pacientes com
diferentes doenças;
 Detecção de uso fraudulento de cartões de
crédito;
 Condução de automóveis de forma autônoma em
rodovias;
 Ferramentas que jogam gamão ou xadrez de
forma semelhante a campeões;
 Diagnóstico de câncer por meio de análise de
dados de expressão gênica.
Tarefas de Aprendizado
 Paradigma de aprendizado:
 Preditivo
 Indutivo
Preditivo
 Capacidade de aprender através de
condicionamento ou reflexo sem explicação ou
descrição do problema para realizar algum
objetivo.
 Gera uma previsão para antecipar o resultado de
alguma ação.
 Nos seres vivos, possui o objetivo de manter um
bom funcionamento biológico, garantindo
sobrevivência e reprodução.
Indução de Hipóteses
 Aprendizagem em humanos consiste em (pelo menos):
 Memorização, compreensão, aprendizado a partir de
exemplos;
 Aprendendo com exemplos:




Números quadrados: 1, 4, 9, 16
1 = 1 * 1, 4 = 2 * 2; 9 = 3 * 3; 16 = 4 * 4;
Qual é o próximo da série?
Podemos aprender isso por exemplo com bastante facilidade
 Aprendizagem de máquina é amplamente dominado por:
 Aprendendo com exemplos
 O raciocínio indutivo
 Induzir um padrão (hipótese) de um conjunto de exemplos
Por que a aprendizagem funciona?
“É quase certo que qualquer hipótese que esteja seriamente
errada será "desmascarada" com alta probabilidade após um
pequeno número de exemplos, por que fará uma previsão
incorreta. Desse modo, qualquer hipótese que seja consistente
com um conjunto bastante grande de exemplos de treinamento
terá pouca probabilidade de estar seriamente errada: isto é, ela
deve estar provavelmente aproximadamente correta
(aprendizagem PAC).
18
Aprendizagem de Máquina
 Aprendizagem Supervisionada:
 Ocorre nas situações em que é possível perceber tanto as
entradas como as saídas;
 Frequentemente as saídas são fornecidas por um
supervisor(especialista) humano;
 Envolve aprendizagem de uma função a partir de exemplos
de suas entradas e saídas.
 Aprendizagem Não-Supervisionada:
 Envolve a aprendizagem de padrões na entrada, quando
não são fornecidos valores de saída específicos.
 Aprendizagem por Reforço:
 O agente deve aprender a partir do reforço (recompensa)
ou punição.
19
A Máquina Aprendendo
 Especifique seu problema como uma
tarefa de aprendizagem;
 Conjunto de exemplos de seu problema.
 Escolha o método de aprendizagem;
 Aplicar o método de aprendizagem;
 Avaliar os resultados e o método.
Representação de Exemplos
 Conjunto de exemplos;
 Atributos de domínio;
 Erros nos exemplos.
Conjunto de Exemplos
 Aprendendo com exemplos:
 Expresse como um problema de aprendizagem de
conceitos
 Através do qual o conceito resolve o problema
categorização
 Normalmente precisa fornecer pares (E, C)
 Em que E é um exemplo, C é uma categoria
 Positivos: (E, C) onde C é a categoria correta para E
 Negativos: (E, C) onde C é uma categoria incorreta para E
 Técnicas que não necessitam de negativos
 Podem aprender apenas a partir de exemplos positivos
 Perguntas sobre exemplos:
 Quantos exemplos a técnica precisa para realizar a
tarefa?
 Será que precisamos de ambos os exemplos positivos e
negativos?
Conjunto de Exemplos
 Problema: aprenda razões para taxonomia
de animais:
 Em mamíferos, peixes répteis e aves.
 Positivos:
 (gato = mamífero); (cão = mamífero);
(truta=peixe); (águia = pássaro); (crocodilo =
réptil);
 Negativos:
 (condor = peixe); (rato = aves);
(truta=mamífero);(ornitorrinco = pássaro);
(humano = réptil).
Atributos de Domínio
 Conceitos que descrevem os exemplos
 (Alguns) serão encontrados na solução para o problema.
 Alguns conceitos são necessários para especificar exemplos:
 Exemplo: dados do pixel para reconhecimento de escrita.
 Alguns conceitos são atributos dos exemplos (funções)
 número_de_pernas(humano) = 2; revestimento(truta) = escama
 Alguns conceitos especificam categorizações binárias:
 e_homeotérmico(humano); poe_ovos(truta);
 Questões sobre os conceitos de domínio:
 O que será mais útil na solução?
 O que pode ser descartado sem preocupação?
 Quais são binários, quais são funções?
Erros Nos Exemplos
 Nos exemplos do mundo real os erros são muitos
e variados, incluindo:
 Categorizações incorretas:
 Por exemplo, (ornitorrinco = pássaro) dado como um
exemplo positivo.
 Dados faltantes:
 Sem informação do revistimento para o atributo para falcão.
 Informação de fundo incorreto
 Exemplo:, e_homeotérmico (lagarto)
 Dados repetidos:
 Por exemplo, dois valores diferentes para a mesma função e
entrada: revestimento(ornitorrinco) = penas e
revestimento(ornitorrinco) = pele
Reconhecimento de Caracteres

Positivo:
– Está é a letra S:
 Conceito de domínio:
 Informação do pixel
 Categorias:
 Pares (Matriz, Letra)
 Exemplos positivos e
negativos

Negativo:
– Está é a letra Z:
 Tarefa
 Classificar (Categorizar)
corretamente um exemplo
não visto entre uma das
26 categorias (A-Z)
Algoritmos de Aprendizagem





Árvore de Decisão
Redes Neurais
Algoritmos probabilísticos
Algoritmos Evolutivos
Algoritmos de Clustering
Aplicando Algoritmos de
Aprendizagem
 Divisão do conjunto de exemplos (dados):
 Conjunto de Treinamento
 Conjunto de Validação
 Conjunto de Teste
 Tarefas:
 Classificação;
 Agrupamento;
 Regressão;
Aplicando Algoritmos de
Aprendizagem
 Dados: exemplos rotulados, por exemplo e-mails
rotulados spam / email:
 Conjunto de treinamento;
 Conjunto validação;
 Conjunto de teste.
 Características: pares atributo-valor que
caracterizam cada exemplo.
 Ciclo de experimentação:
 Aprender parâmetros (por exemplo, as
probabilidades do modelo) no conjunto de
treinamento
 Ajustar os parâmetros com o conjunto de
validação (Fase pode não estar presente em
alguns algoritmos)
 Calcular precisão no conjunto de teste
 Muito importante: nunca “olhar" o conjunto de
teste!
 Avaliação:
 Precisão: fração de exemplos previstos
corretamente
Dados de
Treinamento
Dados de
Validação
Dados de
Teste
Conjunto de Validação
 Encontrar os parâmetros
desconhecidos do algoritmo de
aprendizagem
 Exemplos: Pesos das redes neurais,
 Como aprender?
 Aprender parâmetros do conjunto de
treinamento
 Ajustar os parâmetros em dados
diferentes
 Porquê?
 Para cada valor dos parâmetros,
treine e teste no conjunto de
validação
 Escolha o melhor valor e realize um
teste no conjunto de testes.
Classificação
 Exemplo
x
x
Débitos
Cluster
x
Rede
x
x
x
x
Regressão
neural
x
t
Em dia
Débito com pagamento
salários
31
Análise de Agrupamento
(Clustering)
 Exemplo:
Empréstimo
 Dada uma massa de dados sobre o consumo
no Brasil, determinar quantas classes ou
padrões de comportamento consumista
existem
x x
Cluster 1x
xx
Ativo
x
x x x Cluster 2 -
xx x
x
x
x
x x x Cluster 3 Passivo
Saldo conta corrente
Moderado
32
Outro Exemplo: Filtro de Spam
 Entrada: x = e-mail
 Saída: y = “spam”ou “email”
 Setup:
 Obter uma grande coleção de
e-mails, cada um identificado
como "spam" ou “email“
 OBS: Alguém tem que rotular
esses dados na mão!
 Quer aprender a prever rótulos
de novos e-mails futuros.
 Características: Os atributos
utilizados para tomar a decisão:
email / spam




Palavras: FREE!
Padrões de Texto: $dd, CAPS
Non-text: SenderInContacts
…
Dear Sir.
First, I must solicit your confidence in this
transaction, this is by virture of its nature
as being utterly confidencial and top
secret. …
TO BE REMOVED FROM FUTURE
MAILINGS, SIMPLY REPLY TO THIS
MESSAGE AND PUT "REMOVE" IN THE
SUBJECT.
99 MILLION EMAIL ADDRESSES
FOR ONLY $99
Ok, Iknow this is blatantly OT but I'm
beginning to go insane. Had an old Dell
Dimension XPS sitting in the corner and
decided to put it to use, I know it was
working pre being stuck in the corner, but
when I plugged it in, hit the power nothing
happened.
Filtro de Spam
 Classificador
 Dados:
 Coleção de e-mails
rotulados, spam or email
 Crie conjuntos de
treinamento, validação e
teste.
 Classificador
 Aprende com o conjunto
de treinamento
 (Ajusta com o conjunto de
validação)
 Testa em novos e-mails
Dear Sir.
First, I must solicit your confidence in this
transaction, this is by virture of its nature
as being utterly confidencial and top
secret. …
TO BE REMOVED FROM FUTURE
MAILINGS, SIMPLY REPLY TO THIS
MESSAGE AND PUT "REMOVE" IN THE
SUBJECT.
99 MILLION EMAIL ADDRESSES
FOR ONLY $99
Ok, Iknow this is blatantly OT but I'm
beginning to go insane. Had an old Dell
Dimension XPS sitting in the corner and
decided to put it to use, I know it was
working pre being stuck in the corner, but
when I plugged it in, hit the power nothing
happened.
Avaliação de
Sistemas de Aprendizado
 Experimental
 Conduzir experimentos controlados com validação cruzada para
comparar métodos em uma variedade de bases de dados.
 Coletar dados sobre o seu desempenho, ex.: acurácia de teste,
tempo de treinamento, tempo de teste.
 Analisar diferenças quanto a significância estatística.
 Teórica
 Analisar algoritmos matematicamente e provar teoremas sobre
sua:
 Complexidade computacional
 Abilidade de se adaptar aos dados de treinamento
 Número de exemplos de treinamento necessários para se aprender
uma função correta
Generalização e Overfitting
 Generalização:
 Classificador com boa precisão nos dados de testes
 Overfitting:
 Precisão muito alta nos dados de treinamento, mas não generaliza bem
aos dados de teste.
O que fazer em caso de muitos
erros?
 Precisa de mais características?
 Características existentes descrevem bem o problema?
 Parâmetros dos algoritmos de aprendizagem foram
inicializados corretamente?
 Que tal avaliar outro algoritmo?
Reconhecedor de números
 Entrada: x = matriz de pixels
 Saída: y = um número 0-9
Example: Digit Recognition
 Configuração:
 Obter uma grande coleção de imagens,
cada uma rotulada com um dígito
 Nota: alguém tem que rotular a mão
todos os dados!
 Quer aprender a prever rótulos de
novas imagens
 Características: Atributos que ajudem
a tomar uma decisão de qual dígito a
imagem representa
 Pixels: (6,8)=ON
 Padrões de Forma: NumComponentes,
NumLoops,entropia
 …
0
1
2
1
??
Recursos
 Bases de Dados
 UCI Repository:
http://www.ics.uci.edu/~mlearn/MLRepository.html
 UCI KDD Archive:
http://kdd.ics.uci.edu/summary.data.application.html
 Statlib: http://lib.stat.cmu.edu/
 Delve: http://www.cs.utoronto.ca/~delve/
 LETOR: http://research.microsoft.com/enus/um/beijing/projects/letor/index.html
 Ferramenta
 WEKA: http://www.cs.waikato.ac.nz/ml/weka/
 Matlab: http://www.mathworks.com/products/matlab/
 RapidMiner: http://rapid-i.com/content/view/181/190/ 40
Download