Tópicos Especiais em Computação: Aprendizado de Máquina
Cap 1: Introdução
Prof. Jefferson Morais Email: jmorais@ufpa.br
UNIVERSIDADE FEDERAL DO PARÁ
INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS
Agenda
!
Mo*vação
!
Contextualização
!
Definição de aprendizado de máquina
!
Recursos
Mo*vação
Mo*vação
!
Por que AM é tão importante hoje?
" AM cresceu além do campo da Inteligência Ar*ficial (IA)
" Antes: construir máquinas inteligentes
! Programar uma máquina para fazer tarefas básicas tais como
encontrar o caminho mais curto entre duas cidades A e B
! Não se sabia resolver problemas mais interessantes tais como:
pesquisa na web ou marcações em fotos ou an*-‐spam " Hoje: u*liza-‐se aprendizado de Máquina
! Fazer com que a máquina aprendesse por si mesma
! Então, AM foi desenvolvida como uma nova capacidade para os
Mo*vação
!
Escrever um programa de computador que
"
Reconheça pessoas pelo rosto
! Problemas:
" Diferentes expressões faciais
" Alterações de face (ex. Óculos, bigode)
" Cortes de cabelo
" Que caracterís*cas considerar?
Mo*vação
!
Escrever um programa de computador que
"
Faça diagnósXco de pacientes por sintomas e
exames
! Médico: formação e experiência
"
Responda questões sobre vendas como
! Quais produtos são vendidos em conjunto?
! Que produto recomendar a um cliente?
Mo*vação
!
Escrever um programa de computador que
Histórico de AM
!
1950s – 1960s
" Um período exploratório quando muitas técnicas gerais
nasceram. A pesquisa inicial era inspirada pela biologia e psicologia
" Arthur Samuel (1952) desenvolveu o programa jogador de
damas
" Rosenblat (1957) desenvolveu o “perceptron”, o qual foi
modelado a par*r dos chamados neurônios ar*ficiais. Foi o percursor para o trabalho posterior em redes neurais.
Histórico de AM
!
1950s – 1960s
" 1959: modelo Pandemonium de Selfridge ! Reconhecimento de padrões
! Padrão é reconhecido em partes antes do total
! Aprendizado por meio de ajustes de pesos
" 1969: Minsky e Papert, escrevem um ar*go provando as
limitações do Perceptron, o que desencorajou pesquisas nessa área por quase 20 anos
Histórico de AM
!
1970s
" Caracterizado pelo desenvolvimento de algoritmos mais
prá*cos, muitas vezes através de técnicas simbólicas
" Sistemas especialistas e o gargalo de aquisiçãode
conhecimento
Histórico de AM
!
1980s
" Surgimento de novas técnicas e maior ênfase em
metodologias de avaliação
! Aprendizado de Regras, EBL (Explana'on-‐based Learning
" 1986: Ressurgimento das Redes Neurais com o algoritmo
backpropaga'on proposto por Rumelhart superando as
Histórico de AM
!
1990s
" Sistemas inteligentes híbridos, aprendizado por reforço,
aprendizado por redes Bayesianas, aplicações em robó*ca, agentes de solware adapta*vos e aplicações na Web,
induc've logic programming
" Mineração de dados (Data Mining -‐ 1996) emerge como
uma aplicação importante para muitas a*vidades comerciais
Histórico de AM
!
2000s
" Máquinas de Vetores de Suporte (Support Vector
Machines)
" Modelos Gráficos Probabilis*cos
" Aplicações em:
! Sistemas de Computadores
! Engenharia de Solware
! Segurança (detecção de intrusão, virus e worm)
! Mineração da Web
! Gerenciamento de E-‐mail
! Bioinformá*ca
O que é aprendizado de máquina?
!
Arthur Samuel (1959). Aprendizado de Máquina:
Campo de estudo que fornece aos computadores a
habilidade de aprender sem está explicitamente
programado para isso
O que é aprendizado de máquina?
!
Tom Mitchell (1998) coloca muito bem o conceito de
Aprendizado de Máquia: Um programa de
computador aprende a par*r 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
!
Lorena, et al. (2011): Algoritmos de AM induzem
uma função ou hipótese capaz de resolver o
problema a par*r de exemplos (instâncias) do
problema a ser resolvido
Exemplo 1
!
Vamos supor o problema de aprender a jogar
damas. Iden*fique a tarefa T, a experiência E
e o desempho P para este problema
"
Porcentagem de vitóras contra oponentes
"
Jogar damas
"
Pra*car jogando
P
E
Exemplo 2
! Vamos supor que seu programa de email favorito “observa” quais emails você marca ou não marca como spam. Em
seguida com base em suas observações (aprendizado) ele consegue uma forma de melhorar o filtro de spam. Defina qual a tarefa T, a experiência E e o desempenho P para o cenário.
" Classificar emails como spam ou não spam
" Observar o conjunto de exemplos de spam e não spam
" O número de emails corretamente classificados como spam e não
spam.
T
E
P
Exemplo 3
!
Vamos supor o problema de reconhecer
manuscritos. Defina qual a tarefa T, a experiência E e
o desempenho P para o cenário.
" Exemplo de dígitos manuscritos com as respec*vas
classificações
" Porcentagem de dígitos corretamente iden*ficados
" Reconhecer e classificar dígitos manuscritos dentro de
imagens
P
E
Exemplo 4
!
Vamos supor o problema da direção autônoma de
um carro. Defina qual a tarefa T, a experiência E e o
desempenho P para o cenário.
" Sequência de imagens e comandos de direção registrados
observando um condutor humano
" Distância média percorrida antes de um erro
" Dirigir em um rodovia pública usando sensores de visão
P
E
Exemplo 5
!
Vamos supor o problema da análise de faltas do *po
curto-‐circuito em linhas de transmissão
" Sequências de formas de onda de tensão e corrente
rotuladas com o respec*vo *po de falta
" O número de faltas iden*ficadas corretamente
" Classificar uma falta do *po curto-‐circuito em um dos 10
*pos possíveis: AT, BT, CT, AB, AC, BC, ABT, ACT, BCT, ABC
P
E
Inferência indu*va
!
Inferência
"
Ato de derivar conclusões a par*r do
conhecimento e de evidências disponíveis (
!
Na inferência indu*va
"
Conclusões são derivadas da observação
sistemá*ca de fenômenos empíricos e de
experimentos
"
Em outras palavras: Faz-‐se um raciocínio do geral
Inferência indu*va
!
A inferência indu*va pode ser sumarizada a
grosso modo nos seguintes passos
1.
Observar um fenômeno
2.
Construir um modelo daquele fenômeno
3.
Realizar predições usando esse modelo
Inferência indu*va
!
Exemplo
" Observar-‐se que:
! 1986 -‐ Todos os pacientes com déficit de atenção atendidos
sofriam de ansiedade
! 1987 -‐ Todos os pacientes com déficit de atenção atendidos
sofriam de ansiedade
! ...
! Pode-‐se inferir por indução que todo paciente que tem déficit de
atenção sofre de ansiedade
! Óbvio: isso pode ou não ser verdade, mas pode ser considerada
uma conclusão
Conjunto de dados
!
Experiência pode ser provida por um conjunto
de dados (de treinamento)
Conjunto de dados
!
Base de dados de um hospital
!
Meta: induzir uma hipótese para fazer diagnós*cos
Conjunto de dados: hospital
27
Cada linha é um dado (objeto, instância, exemplo, padrão ou registro)
Cada coluna é uma caracterísXca (atributo,
parâmetro, campo ou variável) que descreve os principais aspectos de um objeto
Atributo ou parâmetro de saída (alvo): presente em algumas tarefas (ex.
Classificação), seus valores devem ser esXmados usando outros atributos
AM: Mul*disciplinar
Aprendizado de Máquina Probabilidade e EstadsXca Teoria da computação Neurociência Biologia….
Tipos de Aprendizado de Máquina
!
Predi*vo (Supervisionado)
" Obje*vo: encontrar uma função (modelo ou hipótese) que
possa ser u*lizado para prever um rótulo ou valor para novos dados
" Objetos na forma de (entrada, saída)
!
Descri*vo (Não-‐supervisionado)
" Obje*vo: explorar ou descrever um conjunto de dados.
Encontrar grupos de objetos semelhantes
Tipos de Aprendizado: Hierarquia
Aprendizado Indu*vo
Supervisionado
(Predi*vo) Não Supervisionado (Descri*vo)
Modelo PrediXvo também provê descrição dos dados e modelo DescriXvo pode prover previsões após validado
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
" Representado por um conjunto de pares (x,y)
! Ex: x=sintomas e y=diagnós*co
! Métodos supervisionados dis*nguem pelo *po dos rótulos dos dados
" Rótulos discretos (classificação)
! Ex: diagnós*co, bom/mau pagador, etc.
" Rótulos conwnuos (regressão)
Aprendizado Não-‐Supervisionado
!
Exploram regularidades nos dados não fazendo uso
de atributos de saída
!
Tarefas
" Sumarização: encontrar uma descrição compacta para os
dados
" Associação: encontrar padrões frequentes de associações
entre atributos
" Agrupamento: Dados agrupados de acordo com sua
Hierarquia de Aprendizado
Aprendizado Indu*vo
Supervisionado
(Predi*vo) Não Supervisionado (Descri*vo) Classificação Regressão
Sumarização
Associação Agrupamento
Aprendizado por reforço
!
Meta: reforçar ou recompensar ações posi*vas e
punir ações nega*vas
" Presença de um crí*co externo
!
Ex: ensinar um robô a encontrar a melhor trajetória
entre dois pontos
" Punir a passagem por trechos pouco promissores
Generalização
!
Capacidade de generalização de uma hipótese
"
Propriedade de con*nuar válida para outros
objetos que não fazem parte de seu conjunto de
treinamento
"
Problemas
! Overfi&ng: especialização nos dados de treinamento,
não generaliza
! Underfi&ng:baixa taxa de acerto mesmo nos dados de
Viés (bias) indu*vo
!
Quando um algoritmo de AM está aprendendo, ele
está procurando uma hipótese, no espaço possível
de hipóteses
" Que descreva as relações entre os dados
" E se ajuste aos dados de treinamento
!
Cada algoritmo u*liza uma forma ou representação
(viés indu*vo) para descrever a hipótese indu*va
!
O viés pode ser de dois *pos: representação ou
Viés (bias) indu*vo
!
Viés de representação ou linguagem
" Define o espaço de busca
" Restringe hipóteses que podem ser geradas
Peso Sexo Doente Doente Saudável >=50 < 50 F M
Árvore de decisão
Redes Neurais
Viés (bias) indu*vo
!
Viés de preferência ou busca
" É a forma como o algoritmo busca a hipótese que melhor
se ajusta aos dados de treinamento
" Preferências de algumas hipóteses sobre outras
! Ex: No algoritmo ID3 buscam-‐se árvores de decisão com poucos
nós
!
O viés é necessário para restringir as hipóteses a
serem visitadas no espaço de busca
Aplicações
!
Técnicas de AM têm sido u*lizadas na solução de
diversos problemas reais
" Primeira etapa: compreender o problema ! Ex: o problema é descri*vo ou predi*vo?
! Quantos e quais são os parâmetros de entrada?
! …
" Segunda etapa: coletas de dados sobre o problema
! Dados possuem diferentes formatos: em geral transformados para
Aplicações
!
Técnicas de AM têm sido u*lizadas na solução de
diversos problemas reais
" Terceira etapa: pré-‐processamento podem ser necessários ! Decidir as operações a serem realizadas e a ordem
" Quarta etapa: escolha e uso da técnica de AM ! Ex: disposi*vos móveis: pouco uso de memória
! Necessário entender o que a técnica extraiu?
! Necessidade de ajustar os parâmetros dos algoritmos
"
Quinta etapa: avaliação do modelo ob*do
Aplicações: Agropecuária
!
Embora o Brasil possua uma grande fa*a do
mercado mundial em agronomia e pecuária, essa
a*vidade poderia ser mais bem explorada
!
A qualidade, a quan*dade e a lucra*vidade do que é
produzido associado a minimização do impacto
ambiental podem se beneficiar da incorporação de
novas tecnologias computacionais que permitam
uma análise inteligente de dados
Aplicações: Bioinformá*ca
! Consiste na aplicação de técnicas matemá*cas, estaws*cas e computacionais para resolução de problemas da Biologia
" Foco em Biologia Molecular e Gené*ca
! Espera-‐se ganhos com:
" Melhor compreensão da origem e mecanismos de doenças
" Formulação de tratamentos médicos mais eficazes
" Desenvolvimento de novos medicamentos
" Controle e melhorias na produção de alimentos
! Atualmente: análise de grande volume de dados gerados em Lab.
Aplicações: Bioinformá*ca
!
Alguns problemas tratados:
" Análise da forma de proteínas
! Destaque para uso de RNAs e Algoritmos Gené*cos
" Localização de proteínas no meio celular ! Classificação
! Destaque para o uso de SVMs
" Predição da função de proteínas ! Classificação
Aplicações: Bioinformá*ca
!
Alguns problemas tratados:
" Alinhamento de sequências
! Iden*ficar, por exemplo, mutações gené*cas ou medir distância
evolu*va entre espécies
! Destaque para uso de Algoritmos Gené*cos e Programação
dinâmica
"
Iden*ficação de genes em sequência de DNA
! Reconhecimento e localização do gene! Classificação
Aplicações: Bioinformá*ca
!
Alguns problemas tratados:
" Análise de expressão gênica
! Comparar mudanças de padrão de expressão
! Classificação e agrupamento
! Destaque para SVMs, agrupamentos hierárquicos
" Previsão de interação entre proteínas ! Classificação
Aplicações: Ecologia e meio
ambiente
! É crescente a preocupação com a manutenção da qualidade do meio ambiente no planeta.
" Problemas: desmatamento de florestas, queimadas, ex*nção de
espécies, inundações e etc
" Sistemas computacionais baseados em AM fazem parte das soluções
mais recentes para lidar com esse problemas
! Obtenção de modelos que auxiliem em:
" Indicação de áreas para conservação ambiental
" Avaliação de risco de espécies invasoras
" Impacto de mudanças ambientais
" Indicação de rotas de disseminação de doenças
" Teste de teoria ecológicas
Aplicações: Energia
!
Uso mais racional dos recursos disponíveis e
planejamento de expansões
!
Tipos de aplicação:
" Distribuição e transmissão de energia
" Exploração de energia
" Planejamento e comercialização
!
Nessas aplicações, os algoritmos têm sido u*lizados
principalmente em ferramentas de o*mização e de
suporte à tomada de decisão
Aplicações: Finanças
!
Análise de dados u*lizados por agentes financeiros
!
Aplicações:
" Análise de risco de crédito
" Previsão de falências
" Previsão de cotações de moedas e de ações
" Detecção de fraudes
" Segmentação de mercados
Aplicações: Mineração de Dados e
Textos
!
Extrair conhecimento de grandes quan*dades
de dados
!
Aplicações:
"
Análise de bases de dados de estabelecimentos
comerciais (associação)
Aplicações: Mineração de Dados e
Textos
!
Extrair conhecimento de grandes quan*dades
de dados
!
Aplicações:
"
Análise de bases de dados de estabelecimentos
comerciais (associação)
Aplicações: Robó*ca
!
Auxílio no desenvolvimento de robôs inteligentes
Aplicações: Saúde
!
Sistemas de apoio à tomada de decisão
!
Aplicações:
" Controle de epidemias
" Auxílio a exames clínicos
" Monitoramento de pacientes
" Dosagem de medicamentos
Recursos
! UCI Machine Learning Repository
" h}p://archive.ics.uci.edu/ml/ ! WEKA " h}p://www.cs.waikato.ac.nz/ml/weka/ ! Pentaho " h}p://weka.pentaho.com/ ! KEEL " h}p://www.keel.es/ ! R project " h}p://www.r-‐project.org/
! MLC++, A Machine Learning Library in C++
Referências
!
Material de aula
" Profa. Dra. Ana Carolina Lorena (UFABC)
" Prof. Andrew Ng (Standford)
" Prof. Dr. Marcilio C. P. Souto
!
Livros:
" Inteligência Ar*ficial: uma abordagem de Aprendizado de
Máquina, 2011
A*vidade 1
! Faça o resumo do seguinte ar*go: “Some studies in Machine Learning Using the Game of Checkers”
! Com base no ar*go “The Discipline of Machine Learning” e responda as seguintes perguntas:
" É possível que dados não rotulados sejam úteis para aprendizado
supervisionado?
" Como se pode transferir aquilo que é aprendido em uma tarefa para
outra tarefa relacionada?
" Qual é a relação existente entre diferentes algoritmos de aprendizado
e qual deve ser usado?
" Pode-‐se criar máquinas que nunca param de aprender?